mxgcccc4's blog

  • About

[USENIX Security 18] Tackling runtime based obfuscation in Android with TIRO

September 8, 2018 · 1 minute read · Tags: Android , Paper Note , USENIX Security

作者: 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

[USENIX Security 17] Detecting Android Root Exploits by Learning from Root Providers

October 25, 2017 · 2 minute read · Tags: Android , Paper Note , USENIX Security

作者: 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

© 2019 - Released under the MIT license
Powered by Hugo with the Type Theme