近日,由华云信安旗下「极牛攻防联合实验室」成员华云信安和浩海云联合撰写的《一种基于Java代码Native化的ARM VMP保护方案》一文,经网络安全专家评审和推荐,入选中文核心期刊《信息网络安全》,这是对华云信安网络安全技术能力和学术水平的最高认可。
《信息网络安全》是由中国公安部主管、公安部第三研究所、中国计算机学会共同主办的网络空间安全领域的综合性学术核心期刊,该刊论文被中文核心期刊、中国科技核心期刊、中国科学引文数据库、中文学术期刊全文数据库、中文科技期刊数据库等索引收录,是我国网络空间安全领域最权威的学术期刊,代表我国网络安全的最高学术水平。
随着传统代码加固手段逐渐被逆向工程攻破,android软件所面临的安全风险越来越大,文章以Java代码Native化技术为基础,结合代码虚拟化技术,提出一种基于Java代码Native化的ARM VMP保护方案,将Android应用中容易被反编译的Java层代码下沉到Native层,并使用ARM VMP技术进一步对Native层代码进行保护,目的是在不需要为Java代码和c++++代码各自设计一套执行虚拟指令的虚拟机的前提下,将指令虚拟化技术覆盖至Java代码和Native层代码。理论分析与实验结果证明,文章所提方案能够在提升代码逆向难度的同时控制加固后Android应用安装包的体积大小。
随着移动终端设备的普及,移动应用数量呈爆发式增长。如今Android与苹果两个系统在移动端操作系统市场占比超99%,其中Android占比达72.72%。目前Android应用的主流开发语言是Java,将Java源码先编译成Dalvik中间码,再利用Android虚拟机解释运行。Dalvik中间码的可读性使得攻击者可以轻易将中间码反编译成源码,还能通过修改和重打包方式进行盗版、植入广告甚至植入木马病毒等危险行为。
随着移动应用的发展,安全问题日益严重,Android安全人员不断发展加固技术,从整体动态加载加固技术发展到指令抽取技术,再到引入VMP技术进行指令虚拟化。然而逆向技术也在不断发展,如今整体加固技术、指令抽取技术可以被有一定经验的逆向人员破解,甚至发展出自动化的脱壳机,降低了进行逆向的要求。随着AI等技术被用于逆向工程,人们开始使用AI学习分析加固后的字节码与原字节码之间的联系,自动化恢复Dalvik字节码的脱壳手段,提升了准确率。
文章针对Dalvik指令,提出将Dalvik代码改写成Native层C++代码,进而采用ARM VMP技术对改写的C++代码进行保护,不仅可以统一使用ARM VMP技术对Java层代码和Native层进行指令虚拟化加固,而且相比Dex VMP,还原被虚拟化的汇编码指令的难度更大。另外,针对使用Dex2C技术统一的两个层次的被保护代码,可以使用同一套规则进行指令虚拟化,使用同一个VMP解释器解释运行,减小运行时内存的占用以及加固后包体大小。
华云信安围绕下一代网络安全攻防体系,构建出技术研究、产品研发、安全服务等面向下一代网络安全需求的产品服务体系,移动安全事业部多年来致力于移动安全攻防、恶意应用软件分析、移动apt攻击分析、移动应用合规等多个技术方向,重视底层技术的研究和自主研发是华云信安产品能力的保障和基石,未来也将持续在网络安全领域持续贡献学术成果,共同推动我国网络安全自主创新的进程。