Thursday, November 23, 2017

Android has been a bit naughty with its location tracking

I was pointed to this article today:

Basically it points out that Android has been tracking location of phones for the past year or so, even when location tracking is disabled.  More specifically, it tells Google whenever you come in range of a cell tower.  By doing this for each cell tower a phone can hear, can provide a fairly good location, especially if you integrate it over time.

The use of spyware in mobile devices is a topic we have talked about previously, both for people living in dangerous places, as well as for victims of domestic violence and other contexts where being able to locate someone further compounds their vulnerability and tips the power-imbalance in the favour of an abusive person, organisation or otherwise.

The really naughty part in this current situation, is that this was happening even without a SIM card in the phone, and even when location services were disabled in Android: There was no way to know it was happening, and no way to disable it, even if you knew.  In fact, Google realised it was naughty by more or less immediately phasing it out as soon as they had been called out on it.

This leads me to a topic that we have been quietly working on in the background for the past couple of years, that is, how can we trust modern computers and communications devices, when they are so complex that it almost requires accidental discovery by dedicated researchers to find these significant privacy and safety damaging functions, which have been silently introduced to our devices -- often through software updates long after the initial purchase.

Our response to this is to explore the creation of "simply secure" communications devices, i.e., communications devices so simple, that their security can be quickly and confidently audited by a reasonably determined user, rather than requiring a team of researchers to explore.  Such devices should also make it much easier to be assured that the device cannot communicate with the outside world -- including getting a location fix -- when you don't want it to. 

Such devices are easy to make. After all, a brick is a secure communications device, in that there isn't really any way to subvert the function of a lump of burnt clay.   But it isn't useful.  This is the opposite extreme from current devices, that are almost omnipotent, but are so easy to subvert.

The challenge is to design and create devices that sit on some sweet spot in the middle, where they are still simple enough to be confident in their correct function, yet not so simple as to be practically useless.

This is exactly the kind of device that we are currently designing, in the form of a specialised smart-phone, that will still be capable of secure email, telephone calls, SMS and so on, while being much more resistent to attack or subversion, due to its simplicity and transparent auditability. 

For example, it will have physical switches to power off the cellular modem, and the cellular modem will be completely sandboxed from the rest of the phone -- including the GPS receiver, microphone and so on. Many of these modules will also be completely removable.

It will also allow full out-of-band memory inspection of the entire system, transparent to, and independent of the processor, and provide a secure compartmentalised architecture that allows a paranoid process, for example an email decryption program, to be sure that even the hypervisor cannot interrupt it to exfiltrate private information.

We know that there are some other folks active in similar spaces, including the excellent folks at Purism. We love what they are doing, and see our thinking in this space as complementary.  The Purism laptops (and soon phone) use all open-hardware, so that if you need a full-function computer, it is as trust-worthy as possible.  What we are looking to do is a little different: We want to see how simple we can go, while preserving enough function to be useful. We are expecting the core operating system to fit in kilo-bytes of memory, not mega-bytes, and applications to be tens to hundreds of kilo-bytes, not mega-bytes. 

There are lots of questions unanswered, not the least whether the thing will actually be useful enough for anyone, but we are exploring, and all going well, hope to be able to produce a few prototype devices by the end of 2018.  We have also secured the necessary defence-related export clearance for such a device, precisely because its combined security measures place it in risk of tipping over into the category of dual-use equipment, so we have a green light there.

So my questions for all of you reading:

  1. Would any of you buy a "phone for the paranoid" along the lines of what I am describing?
  2. What are the absolute core functions that you would require, compared to the list below:
    • Make and receive telephone calls (en claire, and quite possibly end-to-end encrypted).
    • Send and receive SMS messages (en claire or encrypted).
    • Send and receive Email, including GPG or similar encrypted.
    • Very basic web browsing, using a purposely cut-down browser.
    • Ability to run 3rd-party apps in a sand-box environment.

Tuesday, October 17, 2017

Setting up Mesh Extender capability within NZ Red Cross

I am briefly in Wellington, NZ, visiting NZ Red Cross on my way to the Global Humanitarian Technology Conference where we have a bunch of papers to present at the end of the week.

One purpose of the visit was to update the firmware on the Mesh Extenders we had previously provided NZ Red Cross with, and to transfer the knowledge of how to flash the Mesh Extenders to their IT & Telecomms Emergency Response Unit (IT&T ERU), so that they can do it themselves in the future.

As the ERU does not normally carry laptops running Linux, we found an old disused laptop, and installed Ubuntu on it, and replicated the build and flashing environment from my laptop.

The important parts were to setup a TFTP server on the laptop, copy the firmware files in there, and clone the Mesh Extender openwrt-packages repository from github, checkout the MeshExtender2.0 branch, compile the auto-flash program.

After that, it is just a case of running the auto-flash program with a USB to serial adapter connected to a specially made adapter cable, and connecting the Mesh Extenders and watching the output of auto-flash to see when a unit has been flashed.

Natalie from the ERU was super-helpful being our guinnea pig, and also in documenting the process.  Hopefully we will get the documentation up on the wiki in the near future, at which point I will link to it from this post.

But in the meantime, the following photo shows the completed kit, with the USB serial adapter cable, ethernet cable for TFTP, USB memory stick with Ubuntu so that it can be cloned to other laptops in the future, all in a fashionable marigold laptop case.  The Cat may object wearing gold and marigold at the same time, but we are quite happy with the result for now.

Sunday, October 8, 2017

Pandanus cable ties and a Mesh Extender tree

We are now in the process of installing Mesh Extenders into Epau, the second of the two villages we are targeting here on the island of Efaté in Vanuatu.  As with Pang Pang, the community have been very gracious and enthusiastic in working with us.

It is always interesting and educational to watch how the folks here go about installing Mesh Extenders, in ways that are appropriate for them, rather than what we might naturally think of in an infrastructure-rich first-world context.

This series of images follows the process of installing a Mesh Extender in Epau.  After talking with the community, they decided that this Mesh Extender would be better mounted in a tree next to the house, than on the house itself.

First step: Attach the Mesh Extender to a long bamboo pole, which is a convenient locally available material:

Second step: If you don't have enough cable ties, make a make-shift cable-tie from a dried Pandanus leaf (the same leaves that the Vanuatuans use to weave mats, bags and other useful things):

Here you can see it closer up, with the light-brown Pandanus leave around the lower part of the Mesh Extender:

Third step: Explore the tree to work out how to get the > 6 metre long bamboo pole up there, and firmly attached:

It didn't take very long for said person to disappear even higher up the tree:

Then the pole was passed up, and it wasn't long until the Mesh Extender tree flowered: 

The power lead was fed back down through the tree:

And the Mesh Extender lofted a bit higher, to ensure it was well clear of the foliage (and hopefully will remain so for a few months before needing adjustment, due to tree growth):

The tree itself is not that small, either: The crown would be at least six metres tall, on top of a few metres of relatively bare trunk below:

With about 1.5 metres of clearance, I'd estimate that this Mesh Extender is about 10 metres above the ground:

What I really love about this installation, is that it was made using local skills, local materials and knowledge: I have every confidence that the community can take it down when a cyclone comes, and then put it back up again, and that they won't be stymied by the lack of things that they need to order from somewhere.  

All week my children have been accusing me of making "Dad jokes", so I'll continue in that vein here, by calling this installation a blooming success.

Hopefully in the next few days we will be able to get this community installing and using the app on their phones, and get a few more Mesh Extenders installed around the village.

Friday, October 6, 2017

Third Visit to Vanuatu

The past month has been flat out, and I have spent more of it in Vanuatu than at home in Australia.  I am now back in Vanuatu on our fourth visit, and figured I really had better write about our third visit, before I get even further behind, especially since my wife has already started blogging about this fourth visit on her blog.

One of the things that has delayed me blogging more has been the highly variable nature of mobile internet we are experiencing here in Vanuatu.  It is possible that part of the problem is that our mobile phones don't support the local 4G frequency, however that shouldn't stop the 3G from working. What we often see is that the data signal seems to disappear, or even when it is there, the throughput drops to zero, or very close to it.  Basically between 6 am - midnight it is pot luck as to whether the internet will work at our accommodation, despite having full signal strength, and being able to eye ball the local phone tower.  I might have to ask our in-country contacts in the telecommunications industry for clues on this at some point.  But in the meantime, it means that our opportunities to upload photos and generally edit blog posts are severely impaired, as you can sense from my wife's frustrations. Indeed, here I am at 1:30am writing this post, for exactly this reason.

[Update: For some reason our phones won't do 3.5G / HSPDA+.  It isn't a FairPhone2 specific problem, as Matthew's completely different phone does the same thing.  We have since bought a cheapish Samsung from a local store, which does 3.5G (and soon 4G) on the local network without problem, largely solving our internet problem.]

Of course, this is all further motivation for us to get Serval working, so that communities for whom even annoyingly variable internet is only a pipe-dream. And let's not even mention the spate of cyclones, earthquakes and naughty volcanoes around the place that also keep reminding us of why we are working on this problem.

But, first, lets go over what we got up to on the previous visit here to Vanuatu.

Working with the Smart ICT Sistas

As part of our efforts to engage all aspects of community in the pilot project, we ran a number of sessions with the Smart ICT Sistas, a school-age group for girls and young women to develop an interest and skills in ICT.  This was really interesting from a number of fronts.  

This particular Smart ICT Sista was especially keen and active, asking lots of good questions, and giving all sorts of things a try.

It was great to see some young local people engaging with our technology, to help us work out what works, and what does not in the local context. A couple of key items emerged from this process: 

(1) Android phones in Vanuatu almost exclusively have enable installation from untrusted sources enabled by the time we get to see them, because sharing apps from phone to phone is a very common occurrence in Vanuatu, as people save on internet costs.  As a result, it wasn't long before we were watching the girls transfer the Serval Mesh app from phone to phone:

The Smart ICT sistas getting started with the Serval Mesh
(2) We found that the listen before talk settings on the Mesh Extenders were too strict for effective use in urban areas of Vanuatu, where 900MHz point-to-point links are common.  We simply would not have found this out, were we not working with the Sistas, and using space provided by the very kind and supportive folks from the Vanuatu national telecommunications regulator (the TRR).  Their office is on the 2nd floor in central Port Vila, and seems to be in the direct path of a number of 900MHz point-to-point beams.  They also have a very nice spectrum analyser with direction finder antennae, so we were able to confirm that the problem was a very high noise floor (approximately -50dBm) due to directional 900MHz links.

It goes without saying, but Vanuatu is a very pretty place, and we keep on seeing many beautiful and interesting things as we go about our field work here. Here is the local tourist sailing boat that you can pay to be part of the crew of for a few days:

Then it was off to inspect and pay for the 10m mast, that we are hoping to install in Pang Pang, or possibly on top of a hill between Pang Pang and Epau villages, so that we can link them via Mesh Extender:

I was ably assisted by not only Matthew Lloyd, but also by our two French exchange students, Robin and Raphaël, who also made friends with our neighbours in the SIL compound through their cooking skills.

Raphaël, myself and Robin, working on the Mesh Extender firmware.

We also started work on prototyping a satellite-broadcast bridge for Serval, as part of our HIF grant (more on that in up-coming posts).  We are building this into a proof-of-concept low-cost tsunami/cyclone early warning system, that would provide weather forecasts and other useful information via Serval year-round, so that  they won't become so easily neglected. Our key piece of progress so far, is working out that we can put the 12cm patch antennae inside a poly-carbonate box, and still receive the satellite signal.  This will make it much easier to cheaply make well-protected enclosures.  We will have to see how it behaves in wet weather, as well.

Outernet receiver, with antenna in the grey box. The angle just happens to be close enough with the antenna wedged in the box, and the box sitting flat, which is most convenient.

Then it was time to go around to Pang Pang village again ...

... and go through the University's human ethics approval requirements of obtaining informed concent from the community, before we collect any data.

Places like Pang Pang continue to remind me of the importance that people place on communications. Even though the village itself lacks cellular coverage, there are multiple places you can buy top-up credit for pre-paid phones in the village:

Once the formalities were over, it was time to install five Mesh Extenders throughout the village to provide adequate coverage.  The goal was to have one Mesh Extender in each of the four distinct parts of the village.  So while some people may need to walk a short way to get within wi-fi range of a Mesh Extender, they shouldn't have to go far.

Here, Donald, the chief's son is installing the solar panel for the Mesh Extender on the chief's house:

Again, the ubiquity of communications and mobile computing devices continues to be amazing.  Here the chief is using his Samsung tablet to take a picture of us, while we take a picture of him.  Again, remember that there is no cellular coverage in the village.

To test out where we needed to put the Mesh Extenders, we attached one to a long bamboo pole, which we then hoisted up attached to the chief's house:

However, we soon found by accident that the extra elevation was not necessary, as the Mesh Extenders were reasonably close to one another (not more than a few hundred metres), and with no really dense vegetation in the way.  We found this out on the second day, because we forgot to bring the extension cable that would allow us to use the bamboo again, and had to resort to putting it onto the roof without any extra elevation:

Then we wandered around the village with a second battery-powered Mesh Extender and laptop to verify that the signal was getting through:

The third day we knew where we wanted to install the Mesh Extenders, so together with Donald, we did exactly that.  In keeping with our desire that the local communities drive the process as much as possible, we left the physical installation to Donald, who I might add is very adept with a chainsaw. Here he is making pieces of 2x2 from a piece of 2x4 very accurately, using only the chainsaw:

First up, one Mesh Extender on the chief's house. You can see the elbow shape attachment that Donald used in most cases. If you look very closely, you can see that the nails that attach it to the house beam are not nailed all the way in: This is to allow it to be easily removed when a cyclone comes, so that it can avoid damage, and be put back out again quickly after.  A very simple and very Vanuatu solution to the problem of cyclones.

Here is the Mesh Extender itself cable-tied to the 2x2 post on the roof:

Roughly the same process was followed at the other locations, resulting in Mesh Extenders installed on the roofs of five houses over an area of about 1km long by a couple of hundred metres wide.

This was all finished at about 4:30pm the night before flying out at 7am, leaving no time to install the app on people's phones, or to show them how to use it.  That would have to wait for our fourth visit, which is now half complete.

Wednesday, September 13, 2017

Second visit to Vanuatu

We are getting to the end of our third trip to Vanuatu, so I figured I really ought to post about our second visit.

This visit was shorter than the first, as it was primarily focused around the UN World Food Programme's regional Emergency Telecommunications Cluster (ETC) meeting, which has representatives from Vanuatu, Samoa, Solomon Islands, Fiji and Tonga.  The purpose of this meeting is to help the relevant folks from each country to get to know one another, as well as to learn more about what is happening globally, and to find solutions to the problems that they are facing in their region and specific countries.  This is the second time I have attended this regional meeting.

Together with Andrew Bate we spoke about the Serval Mesh and our pilot here in Vanuatu.

There was strong interest with plenty of people handling the Mesh Extender prototypes:

And then giving the Serval Mesh a try.  In the Pacific where telecommunications is almost always a challenge, there was no need to convince people of the need: Rather they wanted to know when the Mesh Extenders were available for purchase, and at least one asked why we weren't running the pilot in their country instead!

The interactive demo was lots of fun, with many people around the room trying it out.

But what I really love are situations like that captured in the following photo, where people start showing each other how to use it:

After the indoor demo, we later had a session with other presenters where we went outside to let people have a further hands-on of the various technologies being discussed. So I soldered up the correct connector onto a solar panel to power a Mesh Extender directly from that, without even a battery, using the built-in solar regulator in the Mesh Extender:

Then found a suitable coconut palm to attach it to (this is the tropics, after all):

Held firmly in place with an octopus-strap, i.e., bungie cord for those of you not from Australia:

Then it was open-season for the Mesh Extender.  Again, it was great to see a wide variety of folks from different countries and organisations in the Pacific trying it out:

Again, I just love it when people start showing each other how to use it, without any involvement from me. At that point we have victory!

Also, we discovered that the Mesh Extender is approximately one hand in size:

Then later in the week we had an impromptu meeting with the Vanuatu Ministry of Health, where we repeated the hand-on test, but this time all I did was supply the equipment: They did the temporary installation themselves: 

Then it was another encouraging session where everyone was trying it out and showing each other how it worked.  There were also some folks from the UN World Health Organisation there, who were very interested in how it could be used to help with disease and public health data collection.

One of the other great things is seeing not just men using Serval, but women as well, and women showing other women how to use it.  This is important because the more that a technology is used by all kinds of people in a community, the more likely it is to succeed.