Hybrid code analysis to detect confidentiality violations in android system - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2014

Hybrid code analysis to detect confidentiality violations in android system

Analyse hybride du code pour détecter les violations de la confidentialité dans le système android

Résumé

Security in embedded systems such as smartphones requires protection of private data manipulated by third-party applications. These applications can provoke the leakage of private information without user authorization. Many security mechanisms use dynamic taint analysis techniques for tracking information flow and protecting sensitive data in the smartphone system. But these techniques cannot detect control flows that use conditionals to implicitly transfer information from objects to other objects. This can cause an under tainting problem i.e. that some values should be marked as tainted, but are not. The under-tainting problem can be the cause of a failure to detect a leakage of sensitive information. In particular, malicious applications can bypass Android system and get privacy sensitive information through control flows. In this thesis, we provide a security mechanism to control the manipulation of private data by third-party apps that exploit control flows to leak sensitive information. We aim at overcoming the limitations of the existing approaches based on dynamic taint analysis. We propose an enhancement of dynamic taint analysis that propagates taint along control dependencies in the Android system embedded on smartphones. We use a hybrid approach that combines and benefits from the advantages of static and dynamic analyses to track control flows. We formally specify the under-tainting problem and we provide an algorithm to solve it based on a set of formally defined rules describing the taint propagation. We prove the completeness of these rules and the correctness and completeness of the algorithm. Our proposed approach can resist to code obfuscation attacks based on control dependencies that exploit taint propagation to leak sensitive information in the Android system. To detect these obfuscated code attacks, we use the defined propagation rules. Our approach is implemented and tested on the Android system embedded on smartphones. By using this new approach, it becomes possible to protect sensitive information and detect control flow attacks without reporting too many false positives.
La sécurité dans les systèmes embarqués tels que les smartphones exige une protection des données privées manipulées par les applications tierces. Ces applications peuvent provoquer la fuite des informations confidentielles sans l¿autorisation de l¿utilisateur. Certains mécanismes utilisent des techniques d¿analyse dynamique basées sur le ¿data tainting¿ pour suivre les flux d¿informations et pour protéger les données sensibles dans les smartphones. Mais ces techniques ne propagent pas la teinte à travers les flux de contrôles qui utilisent des instructions conditionnelles pour transférer implicitement les informations. Cela peut provoquer un problème d¿under tainting : le processus de teintage tel que défini engendre des faux négatifs. En particulier, les applications malveillantes peuvent contourner le système Android et obtenir des informations sensibles à travers les flux de contrôle en exploitant le problème d¿under tainting. Dans cette thèse, nous fournissons un mécanisme de sécurité pour contrôler la manipulation des données privées par les applications tierces qui exploitent les flux de contrôle pour obtenir des informations sensibles. Nous visons à surmonter les limitations des approches existantes basées sur l¿analyse dynamique. Nous proposons une amélioration de l¿analyse dynamique qui propage la teinte tout au long des dépendances de contrôle dans les systèmes Android embarqués sur les smartphones. Nous utilisons une approche hybride qui combine et bénéficie des avantages de l¿analyse statique et de l¿analyse dynamique pour suivre les flux de contrôle. Nous spécifions formellement le problème d¿under tainting et nous fournissons un algorithme pour le résoudre reposant sur un ensemble de règles formellement définies qui décrivent la propagation de la teinte. Nous prouvons la complétude de ces règles ainsi que celle de l¿algorithme. Notre approche proposée résiste aux attaques d¿obfuscation de code reposant sur les dépendances de contrôle qui exploitent la propagation de la teinte pour obtenir des informations sensibles dans le système Android. Notre approche est implémentée et testée dans le système Android embarqué sur les smartphones. Grâce à cette nouvelle approche, il est possible de protéger les informations sensibles et de détecter les attaques de flux de contrôle sans engendrer trop de faux positifs.
Fichier principal
Vignette du fichier
2014telb0320_Graa Mariem.pdf (5.1 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-01206291 , version 1 (28-09-2015)

Identifiants

  • HAL Id : tel-01206291 , version 1

Citer

Mariem Graa. Hybrid code analysis to detect confidentiality violations in android system. Computer Science [cs]. Télécom Bretagne; Université de Rennes 1, 2014. English. ⟨NNT : ⟩. ⟨tel-01206291⟩
157 Consultations
720 Téléchargements

Partager

Gmail Facebook X LinkedIn More