The Android ecosystem is a Wild West where vulnerabilities can run rampant, and go undiscovered, unchecked, and unfixed. It's hard to corral, but a researcher at Black Hat Europe in Amsterdam next week will present a new framework to help make the process of locating vulnerabilities in Android apps and libraries more efficient and more accurate.
Yu-Cheng Lin, software engineer on the security team at MediaTek, will introduce the “AndroBugs Framework: An Android Application Security Vulnerability Scanner.”
"I found that the same mistakes are being made again and again by Android developers," Lin says. "So I believe probably I can find many security vulnerabilities if I use a systematic way. And actually, the results (vulnerabilities found) from AndroBugs Framework exceeded my expectation."
There are other tools that help Android developers write clean code. Google's Android integrated development environment includes a tool called Lint -- but mostly it finds coding errors, not security weaknesses. There are also some Android vulnerability scanners hitting the market.
Lin says his framework is different.
Instead of just scanning the code for weak spots, AndroBugs tries to emulate the operation of an app, and considers the attack vectors through which those weaknesses would be exploited.
"I think the biggest difference from those tools is the ways that AndroBugs Framework plays with the vulnerability vectors," says Lin. "... The analysis report from AndroBugs Framework is prioritize, which means it tries not to print the useless information."
Also, AndroBugs stores all its analyses in the NoSQL database and includes tools for users to query the NoSQL database by vector. That can reduce the effort for developers and security pros looking for vulns.
"So if I want to find vulnerabilities among lots of applications (e.g. more than 100,000 apps)," he says. "I will do the massive scanning with AndroBugs Framework first. ... It truly helps you reduce the efforts of finding vulnerabilities and you no longer need to review the code line by line."
When AndroBugs analyzes an app, it scans for vulnerabilities in the third-party libraries/SDKs it uses, too.
"If a vulnerability is found in a SDK, it’s a disaster," says Lin. "First, it may be used by many applications. Second, unlike system upgrade, the Android developers may not upgrade the libraries they are using."
The good news is that it's actually easier for the AndroBugs Framework to find SDK vulns than others. "If those vulnerable libraries are used by many applications, you actually can find those vulnerable libraries with AndroBugs Framework immediately because lots of applications will use them," Lin says. "So I think the vulnerabilities in SDKs will get fixed faster."
They may be fixed faster, he notes, but that doesn't mean that the Android developers will update and upgrade appropriately, so security problems can still perpetuate themselves within the Android environment -- something Lin doubts will ever change.
"I think Google will never make [app security] an enforcement or rate the security of an app," he says. "I think Google will never take down the vulnerable apps from Google Play. It’s a political problem. I think Google already knows some security problems in Android applications. But there are too many applications that use the vulnerable APIs."
This is why Lin -- who has also been an Android developer -- uses an iPhone.
Lin says that he hopes AndroBugs will help improve Android security, but he also suggests that companies give mobile security the same attention they give Web security; that Android security researchers exercise responsible disclosure; and that companies acknowledge, not ignore, the vulnerability reports they receive.
The AndroBugs Framework will be released, open-source, on GitHub before Black Hat Europe. A Windows version is also forthcoming.
Black Hat Europe returns to the beautiful city of Amsterdam, Netherlands November 12 & 13, 2015. Click here for more information and to register.