[发明专利]基于符号执行生成数据流图的加密算法识别装置及方法在审
申请号: | 202211403662.4 | 申请日: | 2022-11-10 |
公开(公告)号: | CN115659376A | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 孙聪;李宗臻;刘乔森;马建峰 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/64 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 符号 执行 生成 数据流 加密算法 识别 装置 方法 | ||
1.一种基于符号执行生成数据流图的加密算法识别装置,其特征在于,该识别装置包括二进制抽象模块、签名构造模块、符号执行模块、加密算法识别模块,其中:
所述二进制抽象模块,用于利用反汇编工具得到指令集体系架构下的每一条二进制指令的反汇编形式;利用指令集体系架构对应的处理器模型,将每一条二进制指令的反汇编形式中有关数据的操作码和操作数转换成数据流图中对应的图结点;
所述签名构造模块,用于按照签名语言规范,将加密算法中有关数据的操作翻译为相应的签名语言,按照签名语言转换方式,将签名语言转换为签名数据流图;
所述符号执行模块,用于将二进制中所有的条件跳转指令和所有的位于条件跳转指令之后的指令按照指令地址构成一个路径集合;判断从该集合中所选元素对应的路径是否为复制路径,若是,则用所选元素的前一个元素对应的执行路径符号化所选元素对应的条件跳转指令,用所选元素对应的执行路径符号化所选元素对应的位于条件跳转指令之后的指令;否则,再判断所选元素对应的路径是跟踪路径,还是忽略路径;若是跟踪路径,对所选元素对应的条件跳转指令进行符号化,否则,对所选元素对应的位于条件跳转指令之后的指令进行符号化;将所有元素对应的符号表达式组成二进制符号执行图,按照数据流图转换方式,将二进制符号执行图转换为二进制数据流图;
所述加密算法识别模块,用于将签名的数据流图和二进制数据流图作为输入,通过乌尔曼子图同构识别加密算法;判断二进制中是否存在加密算法中的任意一个实现或两种加密算法都存在于二进制中,若是,则在二进制数据流图中将识别到的加密算法对应的数据流图部分标红显示,否则,不对二进制数据流图做任何操作;输出二进制的数据流图。
2.根据权利要求1所述加密算法识别装置的一种基于符号执行生成数据流图的加密算法识别方法,其特征在于:使用符号执行构造与指令集体系架构无关的数据流图,以数据流图为识别依据,通过乌尔曼子图同构识别加密算法;该识别方法的步骤包括如下:
步骤1,将指令集体系架构下的二进制指令转化为数据流图结点:
二进制抽象模块利用反汇编工具,得到指令集体系架构下的每一条二进制指令的反汇编形式;利用指令集体系架构对应的处理器模型,将每一条二进制指令的反汇编形式中有关数据的操作码和操作数转换成数据流图中对应的图结点;
步骤2,将加密算法对应的签名语言转换为相应的数据流图:
签名构造模块按照签名语言规范,将加密算法中有关数据的操作翻译为相应的签名语言,按照签名语言转换方式,将签名语言转换为签名数据流图;
步骤3,构造与指令集体系架构无关的数据流图:
步骤3.1,符号执行模块将二进制中所有的条件跳转指令和所有的位于条件跳转指令之后的指令按照指令地址构成一个路径集合;
步骤3.2,从路径集合中选取一个未选取的元素;
步骤3.3,判断所选元素对应的路径是否为复制路径,若是,则执行步骤3.4,否则,执行步骤3.5;
步骤3.4,用所选元素的前一个元素对应的执行路径符号化所选元素对应的条件跳转指令,用所选元素对应的执行路径符号化所选元素对应的位于条件跳转指令之后的指令后执行步骤3.6;
步骤3.5,判断所选元素对应的路径是跟踪路径,还是忽略路径;若是跟踪路径,对所选元素对应的条件跳转指令进行符号化,否则,对所选元素对应的位于条件跳转指令之后的指令进行符号化;
步骤3.6,判断路径集合中的元素是否选完,若是,则执行步骤3.7,否则,执行步骤3.2;
步骤3.7,将所有元素对应的符号表达式组成二进制符号执行图,按照数据流图转换方式,将二进制符号执行图转换为二进制数据流图;
步骤4,以数据流图为识别依据,通过乌尔曼子图同构识别加密算法并输出二进制的数据流图:
步骤4.1,加密算法识别模块将步骤2得到的签名的数据流图,以及步骤3得到的二进制数据流图作为输入,通过乌尔曼子图同构对二进制进行加密算法的识别;
步骤4.2,判断二进制中是否存在加密算法中的任意一个实现或两种加密算法都存在于二进制中,若是,则在二进制数据流图中将识别到的加密算法对应的数据流图部分标红显示,否则,不对二进制数据流图做任何操作;
步骤4.3,输出二进制的数据流图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211403662.4/1.html,转载请声明来源钻瓜专利网。