Imagine that you're an anti-government protestor living in a country with an oppressive government, and shit has just hit the fan. A coup is underway, police are corralling people in the streets without just cause, and the government has shut down the country's main internet service providers and cell towers.
You need to mount a resistance, and fast—but how do you communicate with each other or share video with the outside world?
Thing seem dire, but thankfully, one of your compatriots has a pretty unique app. Each phone with the app installed becomes a node in an offline mesh network, a mobile phone-to-phone network that exists outside of existing infrastructure. Videos or pictures that protestors want to share with the outside world, but can't, are encrypted and sent peer-to-peer, phone-to-phone across the network, until a phone with a direct connection to the internet is found.
But if the internet network is down, how can new users get the app in the first place? And how can they be sure it will work on their phone?Not only can this app be shared offline, using Bluetooth to jump from phone to phone, it can also mutate to work with different software versions and hardware types too.
"The breakthrough is for internet kill switches"
An app that can do all of these things doesn't exist just yet, but Paul Brusse and Johan Pouwelse, a pair of researchers at the Delft University of Technology in the Netherlands, are working on it.
"The breakthrough is for internet kill switches," Pouwelse wrote me in an email, referring to cases when governments have tried to limit internet access in-country in an effort to stifle dissent. If their app as imagined works, it could be "the first time normal users with just a smartphone can bypass government restrictions on Internet usage," Pouwelse said.
The work is scattershot, but coming together, and the pair detailed their proof of concept in a paper published on Tuesday to the ArXiv preprint server, which hasn't been peer reviewed.
So far, Brusse and Pouwelse have developed an app called Shadow Internet for Android to demonstrate how an app can be shared with other phones offline via Bluetooth and near-field communication (NFC). The self-mutating portion of the project is currently on GitHub, a proof of concept app that can self-compile and modify itself to work with different phones. The encryption would come from the long-standing Tribler project, a peer-to-peer network built on BitTorrent with Tor-like onion routing, that Pouwelse founded a decade ago.
In practice, the app would work like this: someone takes a video of an important event, but lacks an internet connection to share the video with others online. So they hide the video inside Brusse and Pouwelse's imagined app, which is disguised to look like something much less interesting—a calculator, for example. However, the app is actually a file sharing app that connects to other, nearby phones. If a user doesn't have the app, it can be shared by bumping two phones together, and that phone becomes part of the mesh network, too.
Watch more from Motherboard: All the Ways to Hack Your Phone
Instead of having to manually transfer videos between users, phone-by-phone, the app handles all of this on its own, routing urgent footage or files through the ad-hoc, local network until it reaches an internet-connected phone. At that point, a video could be posted anywhere.
"The media is where society thinks, so it is vital we the people control the media," Pouwelse wrote. "Coverage of news events and political debate can be much better than what we have today."
Brusse and Pouwelse's idea for an app that can spread information offline isn't the first of its kind. FireChat, developed by Open Garden, was popular among demonstrators during the protests in Hong Kong last year, because it allowed them to communicate off the grid, using WiFi and Bluetooth signals. Still, FireChat must be downloaded from a centralized, online app store, which is the crucial step that Brusse and Pouwelse want to eliminate.
"We see a great need for better tools," Pouwelse wrote me in an email. "Viral spreading is a key feature for which we see a need, but almost nobody worked on. Recently we got self-compilation to work, a technological trick that appeals to a tech savvy crowd."
A ton of work needs to be done before Brusse and Pouwelse's wild idea for an app is a reality. All the constituent parts of the system need to be stitched together in a way that works for the average user, and that's no easy task. There's also the issue of how to prevent someone from altering the app with a malicious mutation that would effectively turn a tool for dissent into an undefeatable spyware, which could be solved with cryptographic signatures that can be verified, Pouwelse wrote.
"Providing strong privacy for our users is our key challenge, now that we finished the foundations after 10 years of work," Pouwelse wrote. "We easily have another 10 years left of work."
Even so, the pair are well on their way. The self-compiler, when tested on different models of phones running Android, worked, and only took a few minutes to augment itself in each case. Integrating that with Shadow Internet will only take "another month of polishing," Pouwelse told me.
Clearly, there's a lot of work left to be done before a self-replicating app for dissent is actually a thing; there's a reason that self-evolving software is the purview of shadowy government blue-sky projects, after all. But while political movements ramp up around the world, and governments eye their own internet kill switches with increasing eagerness, it could be needed soon.