- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM二进制敏感性数据检测方法分析研究
ARM二进制敏感性数据检测方法研究-电气论文
ARM二进制敏感性数据检测方法研究
余凯,梁光明,杨世德
(国防科学技术大学电子科学与工程学院,湖南长沙410073)
摘要:相对于PC成熟的安全防护而言,嵌入式安全依旧处于薄弱状态。以ARM为研究对象,结合ARM指令体系的结构和特点,为实现对二进制可执行文件BIN中是否存在对硬件模块的操控,展开敏感性信息的匹配,预警恶意操作,并提出半定型建模匹配方式,加快了代码定位分析效率。
关键词 :二进制可执行文件;ARM指令;敏感信息;半定型建模
中图分类号:TN702?34 文献标识码:A 文章编号:1004?373X(2015)15?0050?03
收稿日期:2015?01?29
0 引言
随着现代电子技术的不断发展,信息系统规模和复杂度逐步增加,随之而来的信息安全问题的严重性也在不断提高,软件安全问题显得尤为突出[1]。出于对自身商业利益和知识产权的保护,大部分软件厂商并不会提供源代码,因此对二进制程序进行安全检测是当前研究的一大主流方向[2]。
当前随着恶意代码数量的增多,病毒库越来越庞大,利用传统的模式匹配算法导致耗费的时间不断增大,已经不能满足实际应用。另外,随着恶意代码编写技术的发展,当前的恶意代码大多采用加密等技术对自身进行保护,这样就更进一步降低了传统检测方法的准确性[3]。为了解决这一问题,最有效的方法是归纳总结出一类恶意代码的行为特征,将传统的二进制特征匹配提升到行为特征匹配,才能利用尽可能少的特征检测出尽可能多的恶意代码[4]。常见嵌入式设备控制模块有处理器模式设置、看门狗开关、中断开关、MMU控制、时钟控制等,这些模块的控制入口都是敏感信息,通过对BIN 文件这些敏感信息的匹配可以有效地对代码可能存在的恶意操作进行预警。
传统的单模式匹配算法主要有BF,KMP,BM 算法及Sunday 算法。BF 算法实现简单,但匹配效率很低;KMP 算法比BF 算法有所改进;BM 算法则比KMP 算法的检测速度快3~5倍[5];在短模式匹配中,Sunday是目前速度最快的算法[6]。这些传统方法不适合于二进制文件的信息匹配[7],也没有重定位功能。因此,本文结合ARM指令架构特点,提出半定型匹配算法,通过实验证明了该算法的可靠性和高效性。
1 半定型建模
源代码可能千差万别,但经过工具编译成汇编语言时,具有极大的相似性。一是主要体现在高级语言指令多样,而且还在不断扩展,但汇编指令有限,单一的高级语言程序经常由多条汇编语言组合而成,这些汇编指令很相似。二是体现在机器编译的过程中会将代码进行优化,使其符合标准编程格式,这样使得编译生成的汇编语言结构相似。ARM数据类指令格式解析,如图1所示。其中,cond 表示执行条件;I表示shifter_operand 是立即数还是寄存器;Opcode是指令标记码;S 表示执行结果是否影响CPRS;Rn表示源寄存器;Rd表示目标寄存器;shifter_operand表示源操作数。
由图1 明显可以看出,同一型的指令如MOV 和MVN 的机器码结构几乎一样,不同型的指令如CMP和ADD 的指令结构差异较大,所以对于不同指令的匹配应当具有针对性。结合ARM 32/16位指令结构,本文提出半定型建模匹配方式。针对不同的指令进行预匹配,即第一步仅匹配特征区域,对于不关心的区域进行选择性忽视,只有当预匹配成功后对该指令进行深层匹配。以32位指令为例,将单一32位二进制码拆分成若干位段,特征区域所在位段将其称作子串,进行信息匹配时,仅需对子串进行对比。其中数据类处理指令的半建模匹配位段如图2所示。
进行二进制信息匹配的过程中,对于这些机器码可以采用半定型建模方式进行匹配定位,即针对需要匹配的指令,只匹配有意义的位段,如第一步只匹配执行条件、指令标记码等,而立即数或寄存器等信息根据需要进行匹配,这样可以极大地提高匹配效率。
2 半定型匹配算法
传统的代码检测,使用各种模式匹配方法,实现方法归结为字符串匹配问题。由BF算法从左向右的逐字节比较,到Sunday算法从右向左比较的演变,解决了尽可能跳过更多的字符,加速匹配的问题。但这种方式,对于嵌入式的二进制代码检测而言并不高效。以ARM为例,其支持ARM和THUMB两种指令模式,分别为32位和16位代码格式。若干字节的跳转,在很多时候没有意义。针对ARM 的代码检测,其步长就应当固定为32或16,所以本文针对ARM二进制文件的特殊性,提出半定型匹配算法HSM,如图3所示。
半定型算法分为两种工作模
您可能关注的文档
- 220kV同塔双回线路感应电流和感应电压的主要影响因素分析报告.doc
- 25MW风机齿轮箱的断齿故障特征量提取方法分析研究.doc
- 28个杜鹃花品种花期特征观察及栽培适应性分析报告.doc
- 2农药分类及常见农药简介简介.ppt
- 2种天敌瓢虫对龙眼角颊木虱的捕食作用分析研究.doc
- 2种生长调节剂对高粱生长、产量和品质影响的分析研究.doc
- 330MW发电机氢气纯度快速下降原因分析报告及处理.doc
- 330MW神华煤锅炉燃烧优化调整试验分析研究.doc
- 36岁留守儿童情绪调节策略分析研究.doc
- 4200mm雪铲分析报告研究.doc
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)