国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:鲁辉,郭润生,金成杰,何陆潇涵,王兴伟,田志宏
单位:鲁辉,广州大学 网络空间先进技术研究院, 广东 广州 51033611,郭润生,广州大学 网络空间先进技术研究院, 广东 广州 51033602,金成杰,广州大学 网络空间先进技术研究院, 广东 广州 51033603,何陆潇涵,广州大学 网络空间先进技术研究院, 广东 广州 51033604,王兴伟,东北大学 计算机科学与工程学院, 辽宁 沈阳 11016905,田志宏,广州大学 网络空间先进技术研究院, 广东 广州 51033606
关键词:OLLVM混淆;Android Native文件;反混淆
基金:国家自然科学基金(61972108,U20B2046);国家重点研发计划(2021YFB2012402);广东省重点研发计划(2020B0101120002)
经过多年的技术发展和攻防对抗, Android平台应用加固技术已较为成熟, 防护粒度逐步从通用的DEX动态修改发展为高度定制化的Native层混淆机制, 通过不断提高逆向分析的难度和工作量, 增强客户端代码防护能力. 针对近期崛起的OLLVM混淆加固技术, 提出一种基于Capstone和流敏感混合执行的自动化反混淆决方案(CiANa). CiANa采用Capstone引擎分析基本块及其指令结构, 识别散落在程序反汇编控制流程图中的真实块, 并基于流敏感的混合执行确定各真实块间的执行顺序, 最后对真实块汇编指令进行指令修复得到反混淆后的可执行二进制文件. 实验对比结果表明, CiANa可有效恢复ARM/ARM64架构下经OLLVM混淆的Android Native文件. CiANa是目前为止首个在ARM/ARM64架构中, 支持对全版本(Debug/Realse版本) OLLVM进行有效反混淆并生成可执行文件的框架, 为逆向分析提供了必要的辅助支撑.
来源:2023年第8期
《软件学报》期刊编辑部