意大利萨尼奥大学(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网站,为了知道转换之前和转换之后的检测情况,我们在转换之前和转换之后,都会把每一个样本上传检测”报告中这样说到。
测试结果显示,转换之后,部分杀软仍然能够识别出某些恶意软件是同一个家族,但占了很小的一部分。
在下表中,第一列表示杀软,第二列表示被该杀软正确检测出来的样本(转换之前)的数量,第三列表示被正确检测出来的样本(转换之后)的数量。”
结果显而易见,杀软无法识别出被转换之后的恶意软件(在可以识别出原始恶意软件的条件下)。
转换引擎的源代码已经公开了,地址为https://github.com/faber03/AndroidMalwareEvaluatingTools
Iswatlab团队的实验的详细结果见报告“利用恶意软件混淆技术对抗杀软检测”
这个测试引起了关于对抗恶意软件的能力的讨论,Iswatlab团队的专家无需编写一行代码,只需要用一些常用的手段,就可以制造一个新的恶意软件。
总结,打造一个能够躲避安全解决方案检测的新的恶意软件,只需要几分钟。将旧的恶意软件放到恶意软件清洗机中即可!恶意软件清洗机可以在这里获取。