作者: Michelle Y. Wong and David Lie
单位: University of Toronto
出处: USENIX Security 18
资料: Paper, Slides
1 Abstract & Introduction
混淆技术经常被使用在恶意软件上对抗自动化的程序分析。在Android 平台恶意软件经常使用Java反射、加壳还有字符串加密等方式。作者把常见的混淆技术如字符串加密、动态解密、Java反射、调用native方法归类为language-based
混淆,而完全避开Java完全在Native代码中执行的混淆方式叫做full-native
混淆。作者在文中提出了一种新型的混淆技术,它会破坏Android运行时完整性的同时使用混淆技术,作者称之为runtime-based
混淆。runtime-based
混淆优于language-based
混淆和full-native
代码混淆。 虽然language-based
的混淆技术必须在调用混淆代码之前立即发生,但runtime-based
混淆技术可以在同地方发生,并在应用程序看似无关的部分中改变代码执行。一旦程序的完整性被破坏,在运行时就不会遵循正常情况下所期望的代码执行和方法调用流程,runtime-based
混淆修改了方法调用的解析方式和代码执行方式。
作者提出了一个Android平台去混淆的框架TIRO(Target-Instrument-Run-Observe)。TIRO既可以对抗传统的混淆方式,也可以处理runtime-based
混淆技术。作者最后测评了来自VT的2000个恶意软件样本,最后有80%左右的样本都使用了runtime-based混淆。
Read more
作者: Ioannis Gasparis, Zhiyun Qian, Chengyu Song, Srikanth V. Krishnamurthy
单位: University of California, Riverside
出处: USENIX Security 17
资料: Paper, Video
Abstract
在android平台的众多恶意软件中,最危险的一类就是包含可以root用户手机的Malware。但是同时检测这种恶意软件也是非常困难的,这是因为这样的恶意软件所包含的root exp通常针对特定的设备或者系统版本,并且恶意程序在检测到不存在预期的运行时环境时就直接停止运行。使用Google Bouncer这种模拟器很难触发并分析这种root exp。所以作者设计了一个叫做RootExplorer的原型机去检测这种包含root exp的恶意软件。这个RootExplorer会根据一些商业公司提供给用户用来一键root的APP去分析学习exp的先决条件和环境要求,然后使用这些信息构建分析真机或者虚拟机的环境去检测包含root exp的恶意软件。
Read more