摘要:代码复用技术一直以来都是软件安全研究领域的热点,ROP(面向返回的编程)、JOP(面向跳跃的编程)和DOP(面向数据的编程)技术是典型代表。小工具搜索是代码复用的基础,针对现有静态搜索算法存在支持的小工具类型不多,不能同时搜索动态链接库等问题,提出了基于动静结合的二进制小工具搜索方法,基于此开发了搜索工具Xgadget利用动态映像级插桩,对所有函数进行反汇编;设计了代币级和指令级有穷自动机,实现了基于自动机的静态搜索算法;在五款应用程序中对其进行了测试与评估。实验结果表明,算法支持ROP、JOP、DOP等多种小工具类型的搜索,能够同时对目标程序动态链接库进行搜索,搜索数量是ROP小工具的12.5倍,单位指令搜索时间较之降低32.1%。算法为不同需求的代码复用提供更为广泛的支持,且输出结果是二进制小工具后续复用更直接,有利于代码复用自动化利用。
吕建强, 付才, 何帅, 江帅, 李明, 韩兰胜. Xgadget(小工具):基于动静结合的二进制小工具搜索[J] ●●●●。计算机工程与应用, 2024, 60(9): 299-308.
刘建强、福彩、何帅、姜帅、李明、韩兰生。Xgadget:基于动态和静态技术相结合的二进制Gadget搜索方法[J]。计算机工程与应用,2024,60(9):299-308。