西安理工大学王一川获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉西安理工大学申请的专利基于反汇编的编译器融合特征提取及识别方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN116720071B 。
龙图腾网通过国家知识产权局官网在2025-07-25发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202310746488.1,技术领域涉及:G06F18/213;该发明授权基于反汇编的编译器融合特征提取及识别方法是由王一川;冯艳花;姚怡蕾;黑新宏;姬文江;朱磊设计研发完成,并于2023-06-21向国家知识产权局提交的专利申请。
本基于反汇编的编译器融合特征提取及识别方法在说明书摘要公布了:本发明公开了基于反汇编的编译器融合特征提取及识别方法,具体包括如下步骤:步骤1,数据集构建;步骤2,数据预处理:使用IDAPro反汇编工具将可执行文件反汇编为反汇编文件,即为asm文件;步骤3,特征提取:从步骤2得到的反汇编文件中提取统计特征和关联特征;步骤4,将筛选后的特征融合作为之后编译器的识别依据;步骤5,编译器识别:使用SVM、LightGBM、XGBoost和RF四种机器学习模型在步骤4的8个数据集上对降维后的单一特征和融合特征分别进行分类实验。本发明解决了差异较小的编译器优化级别识别准确率不高的问题,本发明利用卡方检验特征选择、LightGBM和融合特征的组合,能够很好的识别编译器的家族、版本和四种优化级别。
本发明授权基于反汇编的编译器融合特征提取及识别方法在权利要求书中公布了:1.基于反汇编的编译器融合特征提取及识别方法,其特征在于,具体按照以下步骤实施: 步骤1,数据集构建; 步骤2,数据预处理:使用IDAPro反汇编工具将可执行文件反汇编为反汇编文件,即为asm文件; 步骤3,特征提取:从步骤2得到的反汇编文件中提取统计特征和关联特征,统计特征包括寄存器使用频率、操作码使用频率; 步骤4,特征预处理:对步骤3提取的统计特征和关联特征完成数据集划分,以得到8个数据集,使用卡方检验特征选择方法对提取的统计特征和关联特征分别进行筛选,选择卡方得分前40%的特征集,将筛选后的统计特征和关联特征融合作为之后编译器的识别依据; 步骤5,编译器识别:使用SVM、LightGBM、XGBoost和RF四种机器学习模型,在步骤4的8个数据集上对降维后的统计特征、关联特征和融合特征分别进行分类实验,实现对编译器家族、版本和优化级别的识别; 所述步骤1具体按照以下步骤实施: 步骤1.1,在Linux操作系统中下载CSmith测试工具,并配置CSmith环境,生成了10000条C语言源代码作为数据集,记为Dataset1数据集; 步骤1.2,为了从编译器的家族、版本和优化级别,优化级别为O0、O1、O2和O3,三个角度对提取的特征进行评价,在Win10操作系统中下载gcc8.1.0、gcc9.2.0和clang10.0.0三种类型的编译器; 步骤1.3,编写python批处理脚本,使用步骤1.2中的三种编译器的四种优化级别,优化级别为O0、O1、O2和O3,将步骤1.1中的Dataset1数据集中的10000条C语言源代码文件编译为对应的可执行代码文件;每种优化级别生成10000条可执行文件,最终得到120000条可执行文件;将120000条可执行文件作为之后的实验数据集,记为Dataset2数据集,Dataset2数据集的类别和数量;所述步骤2具体按照以下步骤实施: 对Dataset2数据集中的可执行文件进行预处理;编写IDAPython自动化脚本分析程序调用IDAPro工具,将步骤1.3中的Dataset2数据集批量反编译为后缀为.asm格式的反汇编文件,将该反汇编数据集记为Data,之后基于Data提取统计特征和关联特征; 所述步骤3具体按照以下步骤实施: 为了后续处理方便,将特征按照标签融合后存入一个csv文件中;在csv文件中,前n列是统计特征,剩下的列是关联特征; 步骤3.1,从步骤2得到的反汇编文件中提取寄存器使用频率; 步骤3.2,从步骤2得到的反汇编文件中提取操作码使用频率; 步骤3.3,将步骤3.1提取的寄存器使用频率和步骤3.2提取的操作码使用频率统称为统计特征,考虑到统计特征缺失了汇编代码的局部信息,所以采用基于统计特征序列的N-gram特征提取方法得到关联特征,其中N=2,N-gram指的是由N个特征单元组成的连续子序列; 所述步骤4具体按照以下步骤实施: 步骤4.1,特征集重新划分:从Dataset2数据集提取的统计特征和关联特征使用panda库中的merge函数进行融合,存入一个CSV文件中,将统计特征和关联特征根据编译器的家族、版本和优化级别分成了7个子数据集,最终生成8个数据集,8个数据集为:Dataset2和7个子数据集; 步骤4.2,因为步骤3.3提取的统计特征和关联特征存在大量的冗余特征,为了提高模型训练的准确率和训练速度,使用卡方检验特征选择方法在8个数据集上对提取的统计特征和关联特征分别进行选择,选择卡方得分排名前40%的特征集,将降维后的特征融合,作为之后编译器的识别依据,下面对统计特征进行说明; 步骤4.3,特征融合:将相同标签的统计特征和关联特征融合,最终每个asm文件共提取到972维的特征,将其存入CSV文件中;前134维是统计特征,前42维特征是寄存器特征,后92维特征是操作码特征,剩下838列是关联特征;之后先将提取的统计特征和关联特征统一划分为训练集和测试集,再按照特征所在的列使用卡方检验特征选择方法对每种特征进行选择,将选择后的特征进行融合。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人西安理工大学,其通讯地址为:710048 陕西省西安市金花南路5号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。