The Android operating system is the most spread mobile platform in the world. Therefor attackers are producing an incredible number of malware applications for Android. Our aim is to detect Android's malware in order to protect the user. To do so really good results are obtained by dynamic analysis of software, but it requires complex environments. In order to achieve the same level of precision we analyze the machine code and investigate the frequencies of ngrams of opcodes in order to detect singular code blocks. This allow us to construct a database of infected code blocks. Then, because attacker may modify and organized differently the infected injected code in their new malware, we perform not only a semantic comparison of the tested software with the database of infected code blocks but also a structured comparison. To do such comparison we compute subgraph isomorphism. It allows us to characterize precisely if the tested software is a malware and if so in witch family it belongs. Our method is tested both on a laboratory database and a set of real data. It achieves an almost perfect detection rate.
翻译:Android操作系统是世界上传播最广的移动平台。 因此, 攻击者正在为Android 制作数量惊人的恶意软件应用软件。 我们的目标是检测Android的恶意软件, 以保护用户。 要这样做, 通过对软件进行动态分析获得真正的好的结果, 但是它需要复杂的环境。 为了达到同样的精确度, 我们分析机器代码, 并调查编码的 ngram 频率, 以便检测奇数的代码块。 这允许我们建立一个受感染的代码块数据库。 然后, 因为攻击者在他们新的恶意软件中, 可能会对被感染的注射代码进行不同的修改和组织。 我们不仅对测试过的软件和被感染的代码数据库进行语义比较, 而且进行结构化的比较。 为了进行这样的比较, 我们就可以计算子形学。 它让我们精确地辨别测试的软件是否为恶意软件, 如果属于巫师家族的话, 我们的方法是在实验室的数据库和一套真实的数据中测试的。 它可以实现几乎完美的检测率 。