Oberheide, it turns out, has gotten to know Google's Rich Cannings at various security conferences, and it was Cannings who asked him to remove the applications from the Market. With his blog post, Oberheide also says that according to Cannings, this is the first time Google has used its REMOVE_ASSET mechanism. Unlike some, Oberheide isn't fussed about Google's kill switch. But he does take issue with its INSTALL_APP mechanism.
Both mechanisms operate over a persistent TCP/SSL/XMPP connection that Google maintains between its servers and Android handsets via a service called GTalkService. "If an attacker is able to MITM [man in the middle] this SSL GTalkService connection for a particular device, it may be possible to spoof these INSTALL_ASSET messages to deliver a malicious application payload. If Google’s GTalkService servers were compromised, the malicious impact would obviously be a bit more widespread," he says.
"You better believe that myself and others are taking a careful look at these code paths."
He adds that the INSTALL_ASSET is invoked every time the user installs an application on their own through the Android Market – meaning it's a fundamental part of Google's setup. "Instead of downloading the APK [Android package] from the Market, clicking ‘Install’ will trigger Google’s servers to push a INSTALL_ASSET message down the GTalkService pipe. Upon receiving this message, your phone will download and install the APK," he says.
We still say the kill switch is more unsettling – little different from Amazon's Orwellian ability to remotely remove books from the Kindle. Amazon may say it won't use the thing, but it can be legally compelled to do so. Or it may use it for fear of legal action.
It's unclear whether Google's "kill switch" can remove applications that were not download through the Android Market. But Oberheide tells us he's working to reverse engineer the tool, in an effort to determine whether it can. ®