Perimeter
5/31/2012
04:47 PM
Tom Parker
Tom Parker
Commentary
50%
50%

State-Sponsored Backdoor Or Programming Faux Pas?

Backdoor in Android-based handsets sponsor, bad programming, or a #win for Apple's stringent application QA process?

Earlier this month, a Pastebin post that detailed the presence of a possible backdoor on the Android-based ZTE Score M mobile phone handset caught my attention. For those of you who are unfamiliar, ZTE (formally Zhongxing Telecommunication Equipment Corp.) is a telecommunications manufacturing company and, like the more well-known Huawei, is based out of Shenzhen, China.

The original report of the purported backdoor documents a said root application that could be forked by any nonprivileged process that has file system access to obtain a super-user shell. In order to obtain a shell, the binary (named sync_agent) must be passed a super-secret parameter of "ztex1609523."

The post closes with the statement, "Nice backdoor, ZTE."

Given the geography of the vendor and the nature of the binary, the tweet stream, security forums, and press alike were pretty quick to pick up on this report, speculating over the possible intent of the binary. As it turns out, the offending component was an apk (or Android package) specifically built for the U.S. cellular carrier MetroPCS.

On closer analysis, the "helper" application is dropped by the package in order to facilitate the installation and removal of other software packages and the execution of a number of busybox commands, intended to further facilitate the management of the application. While unorthodox, analysis of the sync_agent binary neither indicates any additional malicious intent nor features any indications of a state-sponsored attack against users of a U.S.-based carrier as several blogs suggested earlier on.

Interestingly, analysis of the sync_agent actually indicates U.S. origin, given various tool-markings in the binary and various debug messages that indicate a native-English speaking author.

Although the binary is unlikely the work of a nation-state or super-criminal, it does bring back memories of BMG, the Sony "rootkit" that was all over the headlines in 2005. Essentially, Sony had included functionality within software distributed on its media that featured a device driver that implemented kernel hooks to hide files with certain extensions. While there was no real malicious intent there, it did raise questions as to how that might expose users to malicious software that leverages the Sony code to prevent detection.

Similarly, the ZTE Metro PCS Android package fails to use accepted Droid development doctrine and built-in APIs for performing privileged operations; as a result, it absolutely exposed users to some significant risk due to the opportunity for malicious software to leverage the helper binary for nefarious purposes.

While the number of impacted devices seems to be minimal, it does further demonstrate the need for restraint when characterizing rumors of malicious code, and a clear need for better QA of Android applications. It also shows what the future might hold in terms of truly malicious Android applications created by state (and other) sponsors entering the supply chain.

Tom Parker is Chief Technology Officer at FusionX.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2012-2808
Published: 2015-04-01
The PRNG implementation in the DNS resolver in Bionic in Android before 4.1.1 incorrectly uses time and PID information during the generation of random numbers for query ID values and UDP source ports, which makes it easier for remote attackers to spoof DNS responses by guessing these numbers, a rel...

CVE-2014-9713
Published: 2015-04-01
The default slapd configuration in the Debian openldap package 2.4.23-3 through 2.4.39-1.1 allows remote authenticated users to modify the user's permissions and other user attributes via unspecified vectors.

CVE-2015-0259
Published: 2015-04-01
OpenStack Compute (Nova) before 2014.1.4, 2014.2.x before 2014.2.3, and kilo before kilo-3 does not validate the origin of websocket requests, which allows remote attackers to hijack the authentication of users for access to consoles via a crafted webpage.

CVE-2015-0800
Published: 2015-04-01
The PRNG implementation in the DNS resolver in Mozilla Firefox (aka Fennec) before 37.0 on Android does not properly generate random numbers for query ID values and UDP source ports, which makes it easier for remote attackers to spoof DNS responses by guessing these numbers, a related issue to CVE-2...

CVE-2015-0801
Published: 2015-04-01
Mozilla Firefox before 37.0, Firefox ESR 31.x before 31.6, and Thunderbird before 31.6 allow remote attackers to bypass the Same Origin Policy and execute arbitrary JavaScript code with chrome privileges via vectors involving anchor navigation, a similar issue to CVE-2015-0818.

Dark Reading Radio
Archived Dark Reading Radio
Good hackers--aka security researchers--are worried about the possible legal and professional ramifications of President Obama's new proposed crackdown on cyber criminals.