Font Size: a A A

A User-level Sandbox To Isolate Third-party Libraries In Mobile Applications

Posted on:2019-05-28Degree:MasterType:Thesis
Country:ChinaCandidate:X N ZhuFull Text:PDF
GTID:2428330572955624Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
With the rapid popularity of Android devices,a large number of free applications have sprung up on the Android platform.To reduce their development costs and profit from advertising network,developers of these free applications rely on third-party libraries to enrich the functionality of their applications.However,recent studies have shown that third-party libraries in mobile applications have brought great security concerns while facilitating developers.As third-party libraries are not open source and can load code dynamically during runtime,it is difficult to evaluate their behavior.Worse still,the current Android permission model cannot manage the permissions of third-party libraries and host applications separately.Therefore,malicious third-party libraries can abuse the permissions of their host applications and steal the user's private information without user's consent.In this work,we propose a user-level sandbox to isolate third-party libraries in mobile applications,which can isolate third-party libraries and their dynamically loaded code into a user-level sandbox.Then all sensitive operations can only be performed under the control of the developer.Third-party libraries can no longer access the data of users and host applications freely.Our system neither needs to modify the underlying operating system,nor requires ROOT permissions.So it's easier to deploy and use than existing system-level solutions.Our system mainly consists of two modules,namely the third-party library rewriting module and the dynamically loaded code rewriting module,which are used to isolate the third-party library and the code they load dynamically at runtime separately.Third-party library rewriting module mainly adopts Java bytecode rewriting technique.It can analyze Java bytecodes in third-party libraries and rewrite sensitive code according to developer's needs.Dynamically loaded code rewriting module mainly adopts Smali code rewriting technique.It is deployed on a remote server,and can receive the code dynamically loaded by third-party libraries in real time,and analyze and rewrite sensitive code.The rewritten third-party libraries and dynamically loaded code can only run in the user-level sandbox,and their behavior will be controlled.We have implemented a prototype on the Android 6.0 system and evaluated its functionality and performance.First,we downloaded 40 popular third-party libraries to evaluate the system on real third-party libraries.Then,we traversed the system with a hypothetical malicious third-party library.The evaluation results showed that our system can isolate third-party libraries and dynamically loaded code successfully to protect the private information of users and host applications,and its performance overhead is negligible.
Keywords/Search Tags:Mobile security, Third-party library, User-level sandbox, Permission isolation
PDF Full Text Request
Related items