Researchers from the Netherlands are working on a communications app so resilient that it can survive communications and power outages, natural disasters, and can self-replicate, mutate and spread virally between clusters of mobile phones, eventually across all mobile OSes.
In the paper Autonomous smartphone apps: self-compilation, mutation, and viral spreading [PDF], lead Paul Brusee and co-researcher Johan Pouwelse detail the development of a smart phone tool so resilient that it can compile itself, enabling a daisy-chained mesh network of smartphones which in effect act collectively as cell towers – which might themselves either have been destroyed by earthquakes or other disasters, or else have been turned off, monitored or interfered with by governments concerned about civilian aggregation.
The app replicates within the Android OS at the moment, though future work is anticipated to enable it to spread as easily between iOS and Windows phones, since it does not require root access in order to reproduce, and is not intended to be spread via stores such as Google Play or other centralised app repositories.
The act of transmission can involve a complete change of identity when communicated between Android devices via Android Beam or side-loading. During the process of replication the app, effectively a polymorphic computer virus in terms of social behaviour, may transform from a game to a calculator (see image right for the interface to control these aspects during transference).
The researchers, working out of the Delft University of Technology, tasked themselves with creating software that has genuine ‘survival skills’, and which can effectively replace infrastructure to keep relatively widespread groups connected, and – in the case where the oppression is political rather than natural – to diffuse ‘dissident’ messaging so widely that it cannot be repressed or erased by controlling regimes.
The mesh network created depends on either WiFi or Bluetooth, and facilitates the diffusion of information until at least one point in the mesh reaches the ‘outside world’.
One of the app’s primary purposes is to resolve dependency issues, and to this end it integrates the entire Android SDK into its own source code, along with several other necessary libraries, and most of the external code required has been made available via the Android Open Source Project (AOSP). With the exception of the Android Asset Packaging Tool (AAPT), all the build tools are written in Java, a helpful factor considering that Android apps can also be written in Java.
The source code for the app is available via GitHub, and the report notes that it is the first self-compiling Android app capable of replicating itself and mutating its source rather than its compiled code. The University had previously developed a more limited mutating app called DroidStealth, a compiled binary, meaning that only the app’s name and icon could be changed in transit to a new device via Android Beam.
The paper notes the potential of this kind of resilient technology for ill-use as well as libertarian struggle and post-disaster recovery, and anticipates cross-platform versions.