Surgescan: Enforcing Security Policies On Untrusted Third-Party Android Libraries

Jonathan Vronsky,Ryan Stevens,Hao Chen

2017 IEEE SMARTWORLD, UBIQUITOUS INTELLIGENCE & COMPUTING, ADVANCED & TRUSTED COMPUTED, SCALABLE COMPUTING & COMMUNICATIONS, CLOUD & BIG DATA COMPUTING, INTERNET OF PEOPLE AND SMART CITY INNOVATION (SMARTWORLD/SCALCOM/UIC/ATC/CBDCOM/IOP/SCI)(2017)

引用 23|浏览23
暂无评分
摘要
Many Android apps include third-party libraries for advertising, payment, social media, etc. However, since the library code runs with the same privilege as the app code, the app developer has to either trust the library, a potential security risk, or refrain from using untrusted libraries. We designed and implemented SURGESCAN, a framework for specifying and enforcing security policies on untrusted third-party code. We call this third-party code plugins, as SURGESCAN supports both statically and dynamically loaded code. SURGESCAN consists of a static analysis component and code rewriting component. To use SURGESCAN, the app developer selects a security policy that declares security-sensitive methods in the Android API. Then, using static analysis, SURGESCAN finds all the Android API calls in the plugin binary that may reach those security-sensitive methods, and generates AspectJ code for enforcing the security policy on those API calls. Next, SURGESCAN runs AspectJ to weave the policy into the plugin. After that, the app can safely load the plugin. SURGESCAN requires no modification to the OS and incurs negligible runtime overhead. We describe our algorithms for achieving high accuracy in our static analysis. To evaluate SURGESCAN, we designed policies on network and sensor access and applied them to open source apps. We demonstrated various use scenarios for SURGESCAN, including securing distributed network measurement, securing ad libraries, controlling UI and screen estate, and patching applications.
更多
查看译文
关键词
SurgeScan,untrusted third-party Android libraries,Android apps,third-party libraries,library code,app code,potential security risk,untrusted libraries,third-party code,SurgeSCAN,statically code,dynamically loaded code,static analysis component,code rewriting component,security policy,security-sensitive methods,Android API,SuRGEScAN,security policies,distributed network measurement security,third-party codeplugins,AspectJ code generation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要