BlackHat后续:可绕过杀软的免杀工具AVPASS?360:可查杀
杀毒软件和病毒的对抗是一个长期的攻防过程,病毒想要入侵设备,安全软件永远是它绕不过去的一道坎。然而,在今年的全球黑客大会BlackHat USA 2017上,有黑客发布了一个名为AVPASS、用来帮助病毒绕过Android杀软检测的免杀工具,并宣布在github上公开AVPASS大部分的源代码。这意味着更多的病毒制作者可以利用这些代码,伪装自己的病毒,继而逃过杀毒软件的“法眼”。
据该黑客介绍,AVPASS是一个可以探测Android杀毒软件的检测模型,并结合探测到的信息和混淆技术,构造特定APK来绕过杀毒软件检测的工具。AVPASS不仅可以推测出杀毒软件使用的特征,还可以推导出绕过规则,因此,(理论上)它可以自动变形APK,使得任何杀软将一个恶意APP误认为一个正常APP。
对此,国内领先的移动安全机构360手机卫士团队和360烽火实验室宣布:他们在第一时间关注了AVPASS的发布,并对其进行了测试分析。360分析发现,对于采用AVPASS工具混淆过的APK,360手机卫士的QVM杀毒引擎基本可以识别和查杀。同时由于AVPASS修改的只是静态代码,因此对沙箱的正常识别不会造成影响。
解析:APK易容绕过杀软 波及安全行业
AVPASS使用python语言编写,可以在Linux、macOS、Windows上进行安装。360手机卫士团队研究发现,目前对AVPASS支持最好的系统是Linux。
图1:APK混淆模块的部分代码
病毒传播者利用AVPASS的13个的APK(Android安装包)混淆模块,可以自动生成各种混淆的APK。通过将不同的混淆方法及组合应用于病毒APK中,就可以产生大量的病毒APK变种,进而可以利用杀毒软件对这些病毒APK变种的扫描结果推导出杀毒软件的绕过规则,以此构造特定APK来绕过杀毒软件。
图2:通过AVPASS生成的病毒APK变种
为了更好地使用这个功能,AVPASS还对开发者给出很多“贴心的建议”:尽量使用不同家族的病毒APK,以获得更好的结果。AVPASS使用OBFUSCATION_LIST配置中定义的不同混淆方法的组合生成变种。如果配置了7个混淆方法,最终会生成127个变种。由于混淆方法的个数是相对固定的,AVPASS推荐开发者使用100以上的病毒APK作为输入来推到杀毒软件的检测特征和绕过规则。
接下来,AVPASS就可以在某种程度上推测出杀毒软件的绕过规则,其基本思路如下:
将各种不同的混淆方法和混淆方法的组合应用于病毒APK,生成大量变种,然后将其传到VirusTotal并获得各家杀毒软件的扫描结果,通过分析各家杀毒软件检出与否,判断出各种混淆方法或者混淆方法的组合能否绕过该杀毒软件。
图3:AVPASS中用于绕过杀毒软件的部分代码
推断杀毒软件的绕过规则的代码位于源代码目录中的infer_rules.py文件中,其使用方法也非常简单:只需要确保病毒在VirusTotal上的扫描结果在同一个目录中,直接运行下面这条指令即可:
$ python infer_rules.py -i output
执行命令后会生成一个名为inferered_rules.pkl的文件,里面存储着针对每一个杀毒软件的推断结果。
一旦推断出杀毒软件的绕过规则,开发者就可以有目的地对病毒APK进行混淆,使其绕过一个或者多个杀毒软件。要实现这一步,只需要执行AVPASS提供的一条指令。
图4:Imitation Mode的部分执行代码
更令人胆战心惊的是,为了避免制作的病毒过早传播导致被杀,AVPASS提供了Imitation Mode。该模式可以将一个病毒APK的各种特征分解出来,然后将一个特征或者特征组合插入到一个事先准备好的正常的APK中,将合并后的APK直接使用杀毒软件扫描或者传到VirusTotal等网站使用杀毒软件进行检测,以便确认杀毒软件是否通过该特征或者特征组合来报毒。如果是,病毒作者可以通过修改这些值来更好地绕过杀毒软件检测。
应对:360 QVM引擎可全面查杀 AVPASS变种
从以上分析不难看出,AVPASS最大的意义在于它提出了一个对APK进行混淆的新思路,这对于360手机卫士等安全厂商具有重要参考价值。360手机卫士和360烽火实验室对AVPASS监测后发现其具有很大的局限性,具体包括:
1)不能处理内部的payload,包括resource、assets libs目录中的APK、JAR、SO、ZIP文件;
2)不能绕过动态分析/沙箱等,无论怎么混淆,最后执行的结果依然和原来的APK一样;
3)有时候混淆过的APK可能会运行失败,目前只能一个一个解决;
4)由于某些杀毒软件对某些病毒的检测不是通过代码来实现的,因此AVPASS不能确保百分之百的成功率;
5)AVPASS本身可能会被AV直接认定为病毒。
据了解,360手机卫士的人工智能杀毒引擎QVM引擎采用人工智能算法,具备“自学习、自进化”能力,无需频繁升级特征库,就能检测到90%以上的加壳和变种病毒。就算是病毒通过AVPASS“改头换面”企图入侵,也几乎无法绕过360的防御。数据显示,360QVM一开始就能自动识别至少80%的变种,经过一定程度的训练优化、学习模型调整等
处理,能够识别更多的变种,再辅助以云查杀、AVE等手段,可以识别100%的查杀。
呼吁:杀软行业需更新迭代 正规开发者切勿使用AVPASS工具
作为一款专门帮助病毒绕过Android杀毒软件检测的工具,AVPASS在技术上十分成熟。虽然其源码存在不少bug,但提出了一个对APK进行混淆的新思路,降低了恶意软件开发者的制作门槛,给杀毒软件行业提出了一定的挑战。
AVPASS 对采用QVM等云查杀技术的安全软件用户,基本没有影响。但对于采用本地化库查杀技术的安全软件用户,就像小偷会想尽一切办法藏匿,不让自己被警察发现,AVPASS为病毒提供了多条“隐藏”路径,来保证杀毒软件不会识别出病毒。
作为移动安全领域的领先者,360手机卫士和360烽火实验室希望杀毒软件行业对AVPAS给予足够的重视,及时进行技术的更新迭代,避免此类工具被恶意软件开发者广泛利用,让用户受到病毒变种入侵。同时360呼吁正规的软件开发者不要使用这类工具,以免造成不必要的误伤。