The Google Android Update Dilemma
- 18 May 2011
Recently researchers from the University of Ulm demonstrated a problem which affects hundreds of millions of Android users.
The vulnerability itself is fairly common and technically comparativly easy to fix. However the main problem lies in Google’s update mechanism for Android phones.
The problem we see with the Android update process is that there is no granularity when patching vulnerabilites in core components of the system. For example you can not only patch the browser’s rendering engine or one Core Service. Instead a full over the air update is required.
Let’s consider that a security researcher finds a vulnerability in a core component of the Android platform and chooses to report it responsibly to Google. The process will now be something like the following:
The main problem is, that a lot of parties and different device configurations (Google x 20 × 20 x Carriers == a lot) are involved in this process and there is no central way of releasing fixes for core problems to every Android user. Each of these steps might be delayed or fail for some configurations, leaving a large number of end-users with vulnerable phones.
Now consider the case that the “researcher” did not decide to go with responsible disclosure, but instead has written a worm which spreads through emails or text messages to every contact on an infected Android phone. The update process will still stay the same. By the time a patch is available to most users the damage is done. In this worst case scenario we are likely to see huge bills for the affected end-users and maybe even carrier network outages due to the large amount of malicious messages send through these networks.
The situation for third party applications on Android is much better. An application vendor can release security updates through the market places. These updates are then offered for download to every user of the application, regardless of which phone they use. Users can even opt-in to automatic installation of updates for specific applications.
This update mechanism can even be leveraged for some of the preinstalled applications. Let’s consider the example of Adobe’s Flash Player for Android. The preinstalled Flash Player found on most recent phones will not be updated automatically through updates in the Android market. However a user can decide to install Adobe Flash Player from the market on top of the preinstalled Flash Player. The newly installed application will get precedence over the preinstalled application and from now on receive updates through the market place. Unfortunately this cannot be done for all preinstalled application, such as the browser, the Contacts or Calendar service and many more. In these cases the end-user still relies on operating system updates from Google, the device vendors and finally the carrier.
However following commonly preinstalled applications have been found to be available through the market place and thus can benefit from automatic updates:
Other applications might be preinstalled on your device and can be replaced with the Market versions. In some cases the users might decide to replace an application with frequent vulnerabilities (such as the WebKit-based browser application) with an automatically updated market alternative. In the case of the browser a good alternative might be Firefox for Android. Despite other browser alternatives it will not use the preinstalled webkit libraries for rendering of websites, but instead will use its own rendering libraries, which are also updated automatically.
Recently Google announced an improvement to Android updates. Effectively they are attempting to make carriers and device vendors responsible for releasing updates for any newly released Android devices. Vendors and Carries are then asked by Google to update devices to the newest Android version for “up to 18 months” after the devices initial release.
There are a few obvious problems with this approach:
In our opinion the future will tell whether Google’s “updates only for the rich” (who can afford the newest phones) approach will improve the security of Android users at all. One point is obvious; it is not a perfect solution.