目前,全球有超过7,260,000,000,000,000亿移动设备,这意味着世界91.54%的人口有一个。这些设备中约有2,50万亿座将Android作为操作系统。
这些设备对我们来说越来越重要,它们几乎整天都与我们同在,并且包含许多个人信息,这已经不是什么秘密了,这使它们成为恶意演员的有趣目标。
恶意软件分析可以分为3种主要类型。静态分析,动态分析和混合分析。
静态分析被认为是任何不必执行代码分析的分析,它基于通过规则或启发式方法搜索模式的搜索,这使其非常安全,因为没有可能无意中激活恶意软件。这种类型的分析比动态分析更快,并且通过其检测系统的性质,已知恶意软件的检测率很高。
另一方面,动态扫描是需要运行恶意软件进行分析的任何扫描,这意味着必须建立较大的基础架构才能隔离它,以使其执行不会影响实际系统。这种类型的扫描比静态扫描更可靠,并且可以检测到未知的恶意软件。
最后,使用静态和动态分析技术的分析称为混合分析。当前,著名的反恶意软件解决方案,例如Kaspersky,Avira或Avast等,使用此类分析,将其分为不同的阶段。
在静态分析类别中,是Yara规则。 Yara规则是一种恶意软件签名,允许识别和分类已知的恶意软件。

规则有三个部分,一个元部分,其中通常放置了有关规则本身的信息,我们将要比较恶意软件的模式的字符串部分以及定义了该模式必须符合文件的条件的条件部分,该条件已定义为恶意软件。 Yara规则可能非常复杂,因此,如果您想更详细地了解它们的工作方式,我建议阅读他们的文档。
Yara规则的另一个有利观点是,它们是一种目前的技术,分析师开始广泛使用,这意味着有大量贡献。
Yaralyze是用于使用两种静态分析技术的Android设备的恶意软件检测工具,一种是使用Yara规则,另一个是基于哈希斯分析的。它允许报告和可视化报告,它是使用客户端服务器体系结构进行设计的,在该体系结构中可以在云中托管服务器,以便可以从已安装客户端的任何移动设备中获得,并使用+130,000 Yara规则和+500,000 Yara Hashes和+500,000的恶意软件应用程序获得了从Virusshare和Github获得的恶意软件(规则和Hoshes)(不发布在Repos中)。





进行了两种类型的测试。一种类型的测试包括使用Brata , Sharkbot , Cerberus和Flubot Malwares的样品测试该工具在检测已知恶意软件方面的有效性,而另一个是测试分析速度。


从图像中可以看出,它设法检测了恶意软件文件,并且不会使用Winrar的真正APK产生误报。
| apk | T1 | T2 | T3 | T4 | 平均的 |
|---|---|---|---|---|---|
| Flubot(恶意软件) | 2.27 | 2.23 | 2.24 | 2.29 | 2.257 |
| Sharkbot(恶意软件) | 2.54 | 2.51 | 2.53 | 2.56 | 2.535 |
| 温拉尔 | 2.18 | 2.20s | 2.16 | 2.16 | 2.175 |
| 应用程序的位置哈希 | T1 | T2 | T3 | T4 | 平均的 |
|---|---|---|---|---|---|
| 客户端DB | 0.079 | 0.081 | 0.078 | 0.077 | 0.0787 |
| 服务器DB | 0.088 | 0.085 | 0.087 | 0.091 | 0.0877 |
| 没有巧合 | 0.087 | 0.088 | 0.084 | 0.088 | 0.0867 |
在第一表中,我们可以看到,从速度方面,可以观察到平均分析时间非常相似,这是因为所有分析的APK都遍历了所有Yara规则,即使它们已经被标记为恶意软件,因为可能有一些规则可以缩小我们正在处理的恶意软件类型。另外,分析时间还由逻辑上的APK的大小来调节。这些APK的尺寸没有很大不同。
在第二个表中,我们可以看到时代也非常相似,这似乎很奇怪,因为当哈希在服务器的数据库中或没有匹配项时,需要客户端向服务器提出请求,这应该降低分析的速度。相等的时间可以通过以下事实来证明,在测试时,服务器只收到一个请求,因此它没有大量的工作量,而且数据库也没有足够数量的哈希人来过于负担搜索。