大利萨尼奥大学(the University of Sannio)的研究团队Iswatlab,证实了打造一个能够规避杀软的恶意程序有多么容易。“编写”一个新的恶意软件,规避杀软或其它防护软件的检测,这很难。但是,“制造”一个能够躲避反恶意软件解决方案的恶意软件,却很简单。“编写”和“制造”的区别就在于,后者一行代码都不用编写,只需要点击一个按钮。

萨尼奥大学的研究团队Iswatlab (www.iswatlab.eu),实现了一个转换移动终端恶意代码的引擎,能够修改代码的外部特征,而不影响恶意程序的行为。他们把这个工具命名为“恶意软件清洗机”(Malware Washing Machine)。该团队研究的Android系统恶意软件转换引擎,可以执行下列变换操作:

反汇编和重新汇编

重新打包

修改包名称

重命名标识符

数据编码

间接调用

代码乱序

花指令插入

复合变换

Iswatlab团队使用恶意软件清洗机测试了57个著名的商业反恶意软件解决方案。他们用这个工具修改了5560个恶意软件,这些恶意软件能被要测试的这57个杀软检测出来。在修改之后,大多数杀软都无法检测出大部分恶意软件。

“基于特征的检测算法在移动终端上是否有效?我们开发了一个框架,能够对Android应用程序进行细微的变形。接着,我们修改了现实世界中的恶意软件(见https://www.sec.cs.tu-bs.de/~danarp/drebin/index.html),然后,将这些程序提交到 www.virustotal.com网站,为了知道转换之前和转换之后的检测情况,我们在转换之前和转换之后,都会把每一个样本上传检测”报告中这样说到。

测试结果显示,转换之后,部分杀软仍然能够识别出某些恶意软件是同一个家族,但占了很小的一部分。

在下表中,第一列表示杀软,第二列表示被该杀软正确检测出来的样本(转换之前)的数量,第三列表示被正确检测出来的样本(转换之后)的数量。”

antimalware-test-results.jpg

结果显而易见,杀软无法识别出被转换之后的恶意软件(在可以识别出原始恶意软件的条件下)。

转换引擎的源代码已经公开了,地址为https://github.com/faber03/AndroidMalwareEvaluatingTools

Iswatlab团队的实验的详细结果见报告“利用恶意软件混淆技术对抗杀软检测”

这个测试引起了关于对抗恶意软件的能力的讨论,Iswatlab团队的专家无需编写一行代码,只需要用一些常用的手段,就可以制造一个新的恶意软件。

总结,打造一个能够躲避安全解决方案检测的新的恶意软件,只需要几分钟。将旧的恶意软件放到恶意软件清洗机中即可!恶意软件清洗机可以在这里获取。

* 参考来源:securityaffairs,felix编译