OATs’inside: Retrieving Object Behaviors From Native-based Obfuscated Android Applications

Pierre Graux, Jean-François Lalande, Valérie Viet Triem Tong, Pierre Wilke
{"title":"OATs’inside: Retrieving Object Behaviors From Native-based Obfuscated Android Applications","authors":"Pierre Graux, Jean-François Lalande, Valérie Viet Triem Tong, Pierre Wilke","doi":"10.1145/3584975","DOIUrl":null,"url":null,"abstract":"Analyzing Android applications is essential to review proprietary code and to understand malware behaviors. However, Android applications use obfuscation techniques to slow down this process. These obfuscation techniques are increasingly based on native code. In this article, we propose OATs’inside, a new analysis tool that focuses on high-level behaviors to circumvent native obfuscation techniques transparently. The targeted high-level behaviors are object-level behaviors, i.e., actions performed on Java objects (e.g., field accesses, method calls), regardless of whether these actions are performed using Java or native code. Our system uses a hybrid approach based on dynamic monitoring and trace-based symbolic execution to output control flow graphs (CFGs), 27 pages. for each method of the analyzed application. CFGs are composed of Java-like actions enriched with condition expressions and dataflows between actions, giving an understandable representation of any code, even those fully native. OATs’inside spares users the need to dive into low-level instructions, which are difficult to reverse engineer. We extensively compare OATs’inside functionalities against state-of-the-art tools to highlight the benefit when observing native operations. Our experiments are conducted on a real smartphone: We discuss the performance impact of OATs’inside, and we demonstrate its practical use on applications containing anti-debugging techniques provided by the OWASP foundation. We also evaluate the robustness of OATs’inside using obfuscated unit tests using the Tigress obfuscator.","PeriodicalId":202552,"journal":{"name":"Digital Threats: Research and Practice","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-02-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Digital Threats: Research and Practice","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3584975","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Analyzing Android applications is essential to review proprietary code and to understand malware behaviors. However, Android applications use obfuscation techniques to slow down this process. These obfuscation techniques are increasingly based on native code. In this article, we propose OATs’inside, a new analysis tool that focuses on high-level behaviors to circumvent native obfuscation techniques transparently. The targeted high-level behaviors are object-level behaviors, i.e., actions performed on Java objects (e.g., field accesses, method calls), regardless of whether these actions are performed using Java or native code. Our system uses a hybrid approach based on dynamic monitoring and trace-based symbolic execution to output control flow graphs (CFGs), 27 pages. for each method of the analyzed application. CFGs are composed of Java-like actions enriched with condition expressions and dataflows between actions, giving an understandable representation of any code, even those fully native. OATs’inside spares users the need to dive into low-level instructions, which are difficult to reverse engineer. We extensively compare OATs’inside functionalities against state-of-the-art tools to highlight the benefit when observing native operations. Our experiments are conducted on a real smartphone: We discuss the performance impact of OATs’inside, and we demonstrate its practical use on applications containing anti-debugging techniques provided by the OWASP foundation. We also evaluate the robustness of OATs’inside using obfuscated unit tests using the Tigress obfuscator.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
内部:从基于本地的模糊Android应用程序中检索对象行为
分析Android应用程序对于审查专有代码和理解恶意软件行为至关重要。然而,Android应用程序使用混淆技术来减缓这个过程。这些混淆技术越来越多地基于本地代码。在本文中,我们提出了一种新的分析工具,它专注于高级行为,以透明地规避本地混淆技术。目标高级行为是对象级行为,即在Java对象上执行的操作(例如,字段访问、方法调用),而不管这些操作是使用Java还是本机代码执行的。我们的系统使用基于动态监控和基于跟踪的符号执行的混合方法来输出27页的控制流图(cfg)。对于所分析应用程序的每个方法。cfg由类似java的操作组成,这些操作在操作之间添加了条件表达式和数据流,从而为任何代码提供了可理解的表示,即使是那些完全本地的代码。燕麦的内部使用户不必深入研究低级指令,而低级指令很难逆向工程。我们将OATs的内部功能与最先进的工具进行了广泛的比较,以便在观察本地操作时突出其优势。我们的实验是在一个真实的智能手机上进行的:我们讨论了OATs对内部性能的影响,并演示了它在包含OWASP基础提供的反调试技术的应用程序中的实际使用。我们还使用tiger混淆器使用混淆单元测试来评估OATs内部的健壮性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Causal Inconsistencies are Normal in Windows Memory Dumps (too) InvesTEE: A TEE-supported Framework for Lawful Remote Forensic Investigations Does Cyber Insurance promote Cyber Security Best Practice? An Analysis based on Insurance Application Forms Unveiling Cyber Threat Actors: A Hybrid Deep Learning Approach for Behavior-based Attribution A Framework for Enhancing Social Media Misinformation Detection with Topical-Tactics
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1