Automated partitioning of android applications for trusted execution environments

Konstantin Rubinov, Lucia Rosculete, Tulika Mitra, Abhik Roychoudhury
2016 Proceedings of the 38th International Conference on Software Engineering - ICSE '16  
The co-existence of critical and non-critical applications on computing devices, such as mobile phones, is becoming commonplace. The sensitive segments of a critical application should be executed in isolation on Trusted Execution Environments (TEE) so that the associated code and data can be protected from malicious applications. TEE is supported by different technologies and platforms, such as ARM Trustzone, that allow logical separation of "secure" and "normal" worlds. We develop an approach
more » ... for automated partitioning of critical Android applications into "client" code to be run in the "normal" world and "TEE commands" encapsulating the handling of confidential data to be run in the "secure" world. We also reduce the overhead due to transitions between the two worlds by choosing appropriate granularity for the TEE commands. The advantage of our proposed solution is evidenced by efficient partitioning of real-world applications.
doi:10.1145/2884781.2884817 dblp:conf/icse/RubinovRMR16 fatcat:h36gfymct5gnjg4z65iynkwxk4