【技术实现步骤摘要】
一种电网嵌入式终端的固件编译优化选项识别方法及装置
本申请涉及电网二进制程序漏洞分析和逆向分析领域,具体涉及一种电网嵌入式终端的固件编译优化选项识别方法,同时涉及一种电网嵌入式终端的固件编译优化选项识别装置。
技术介绍
现在的编译器例如GCC,Clang,ICC等,有着各种各样的编译优化选项,不同的编译优化选项和不同的编译优化选项的组合对最终生成的电网二进制代码有着不同的影响。编译优化选项主要有5个常用的类别,分别是-O0,-O1,-O2,-O3,-Os。由于无法直接从电网嵌入式终端固件的二进制文件头(如PE头和ELF头)中直接获取源码在编译时采用的编译优化级别,识别不同的编译优化选项对软件安全分析具有重大的意义。例如c/c++中对不同的优化选项有一些未严格定义的实现标准,这种未严格定义的代码优化不同的编译器有着不同的实现方式,而这种实现有可能就会导致生成的电网嵌入式终端固件的二进制代码中包含安全漏洞。不用的编译优化选项对软件安全有着很大程度的影响《TheCorrectness-SecurityGapinCompilerOp ...
【技术保护点】
1.一种电网嵌入式终端的固件编译优化选项识别方法,其特征在于,包括:/n对电网嵌入式终端的固件的源码进行编译,获得在不同编译优化选项下生成的可执行二进制文件;/n将所述二进制文件的原始字节内容输入预先构建的基于卷积神经网络的编译优化选项识别模型进行识别;/n所述识别模型经计算后输出所述二进制文件的原始字节内容对应的编译优化选项的编译优化水平。/n
【技术特征摘要】
1.一种电网嵌入式终端的固件编译优化选项识别方法,其特征在于,包括:
对电网嵌入式终端的固件的源码进行编译,获得在不同编译优化选项下生成的可执行二进制文件;
将所述二进制文件的原始字节内容输入预先构建的基于卷积神经网络的编译优化选项识别模型进行识别;
所述识别模型经计算后输出所述二进制文件的原始字节内容对应的编译优化选项的编译优化水平。
2.根据权利要求1所述的方法,其特征在于,对电网嵌入式终端的固件的源码进行编译,包括:
使用交叉编译工具对电网嵌入式终端的固件的源码进行编译,所述编译工具包括:arm-linux-gcc,arm-linux-ld工具。
3.根据权利要求1所述的方法,其特征在于,所述不同编译优化选项,是指定编译器的编译优化水平分别不同。
4.根据权利要求1所述的方法,其特征在于,所述二进制文件中的原始字节内容,包括:
将所述原始字节内容构成字节矩阵;
若所述原始字节内容不够,则补零对齐。
5.根据权利要求1所述的方法,其特征在于,所述识别模型,为基于卷积神经网络的编译优化选项识别模型,包括:
数据嵌入层、位置嵌入层、不同卷积核大小的卷积层、池化层和全连接层。
6.根据权利要求1或5所述的方法,其特征在于,所述基于卷积神经网络的编译优化选项识别模型的预先构建步骤,包括:
提取所述二进制文件中的原始字节内容;将所述二进制文件对应的编译优化水平作为所述识别模型训练和测试的输入标签;
将部分所述原始字节内容和输入标签作为训练集,对所述模型进行训练;根据训练...
【专利技术属性】
技术研发人员:朱朝阳,杨寿国,周亮,张国栋,应欢,王海翔,缪思薇,石志强,孙利民,韩丽芳,
申请(专利权)人:中国电力科学研究院有限公司,中国科学院信息工程研究所,国家电网有限公司,国网浙江省电力有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。