Android Security
I am currently working on the security of Android applications and operating system. I investigate these objectives:
- how to build attacks with different assumptions, for example that the application is malicious but is not root or that the attacker has compromised the operating system. The main attacks that I consider are the capture of some personal information of the user.
- how to characterize malware: studying malware help to understand attackers' motivation. Malware analysis becomes a challenge because developers now include countermeasure to defeat dynamic analysis processes.
- protection solutions: based on the two previous points, I try to elaborate countermeasures inside applications or at operating system level to defeat attacks.
GroddDroid: a tool for triggering of malware
The first video presents GroddDroid, a tool that tries to execute automatically Android malware. The originality of GroddDroid is that the tool tries to force the control flow in order to reach the branches where he thinks that suspicious code is hidden. GroddDroid has been awarded at MALWARE 2015 and is freely available on the Kharon project website.
Exfiltrating data with covert channels
The second video illustrates an attack that builds a covert channel between two applications. The first application, the CC collector, can access the personal data of the user. The second one, the CC sender, can access the internet. Building a covert channel between the two applications enables to make the personal information flow to the internet.
- GroddDroid: A gorilla for triggering malicious behaviors
2015 10th International Conference on Malicious and Unwanted Software, MALWARE 2015 IEEE Computer Society 119-1272015 doiAndroid malware authors use sophisticated techniques to hide the malicious intent of their applications. they use cryptography or obfuscation techniques to avoid detection during static analysis. they can also avoid detection during a dynamic analysis. frequently, the malicious execution is postponed as long as the malware is not convinced that it is running in a real smartphone of a real user. however, we believe that dynamic analysis methods give good results when they really monitor the malware execution. in this article, we propose a method to enhance the execution of the malicious code of unknown malware. we especially target malware that have triggering protections, for example branching conditions that wait for an event or expect a specific value for a variable before triggering malicious execution. in these cases, solely executing the malware is far from being sufficient. we propose to force the triggering of the malicious code by combining two contributions. first, we define an algorithm that automatically identifies potentially malicious code. second, we propose an enhanced monkey called grodddroid, that stimulates the gui of an application and forces the execution of some branching conditions if needed. the forcing is used by grodddroid to push the execution flow towards the previously identified malicious parts of the malware and execute it. the source code for our experiments with grodddroid is released as free software. we have verified on a malware dataset that we investigated manually that the malicious code is accurately executed by grodddroid. additionally, on a large dataset of 100 malware we precisely identify the nature of the suspicious code and we succeed to execute it at 28\%.(best paper award) - Analysis of human awareness of Security and privacy threats in smart environments
vol. 9190 3rd International Conference on Human Aspects of Information Security, Privacy and Trust Springer Berlin / Heidelberg 165-1772015 doiSmart environments integrate information and communication technologies (ict) into devices, vehicles, buildings and cities to offer an increased quality of life, energy efficiency and economical sustainability. in this perspective, the individual has a core role and so has networking, which enables such entities to cooperate. however, the huge amount of sensitive data, social aspects and the mixed set of protocols offer many opportunities to inject hazards, exfiltrate information, mass profiling of citizens, or produce a new wave of attacks. this work reviews the major risks arising from the usage of ict-techniques for smart environments, with emphasis on networking. its main contribution is to explain the role of different stakeholders for causing a lack of security and to envision future threats by considering human aspects. - Hiding privacy leaks in Android applications using low-attention raising covert channels
First International Workshop on Emerging Cyberthreats and Countermeasures IEEE Computer Society 701-7102013 doiCovert channels enable a policy-breaking communication not foreseen by a system's design. recently, covert channels in android were presented and it was shown that these channels can be used by malware to leak confidential information (e.g., contacts) between applications and to the internet. performance aspects as well as means to counter these covert channels were evaluated. in this paper, we present novel covert channel techniques linked to a minimized footprint to achieve a high covertness. therefore, we developed a malware that slowly leaks collected private information and sends it synchronously based on four covert channel techniques. we show that some of our covert channels do not require any extra permission and escape well know detection techniques like taintdroid. experimental results confirm that the obtained throughput is correlated to the user interaction and show that these new covert channels have a low energy consumption \textendash both aspects contribute to the stealthiness of the channels. finally, we discuss concepts for novel means capable to counter our covert channels and we also discuss the adaption of network covert channel features to android-based covert channels. - Repackaging Android applications for auditing access to private data
First International Workshop on Security of Mobile Applications IEEE Computer Society 388-3962012 doiOne of the most important threats for android users is the collection of private data by malware put on the market. most of the proposed approaches that help to guarantee the user's privacy rely on modified versions of the android operating system. in this paper, we propose to automatically detect when an application accesses private data and to log this access in a third-party application. this detection should be performed without any modification to the operating system. the proposed methodology relies on the repackaging of a compiled application and the injection of a reporter at bytecode level. thus, such a methodology enables the user to audit suspicious applications that ask permissions to access private data and to know if such an access has occurred. we show that the proposed methodology can also be implemented as an ips, in order to prevent such accesses. experimental results show the efficiency of the methodology on a set of 18 regular applications of the android market that deal with contacts. our prototype detected 66\%of the accesses to the user's contacts. we also experimented the detection of privacy violations with 5 known malware that send premium-rate sms.