基于跨架构算法的高效物联网漏洞挖掘系统 跨架构高效物联网漏洞挖掘算法 单架构对比 MIPS

3.4.2 MIPS

在MIPS构架下重点介绍Dtaint2018。物联网设备由于硬件结构各异,难以对其固件进行动态分析。因此在本文中,提出了一种静态二进制分析方法DTaint,主要用于检测taint-style漏洞即输入数据通过某种不安全的路径到达了陷入点,例如缓冲区溢出等。DTaint能够识别指针别名,快进程数据流,数据结构相似性实际数据结构布局。

图3-11 Dtaint的设计

主要分为四个步骤:函数分析,指针别名识别,数据结构相似性识别,跨进程数据流恢复。函数分析阶段,DTaint每个函数通过静态符号执行单独分析,主要是完成提取内存描述变量、数据类型推断,以及定义对;指针别名分析阶段通过定义对以及数据类型推断指针别名;利用数据结构相似性推断两个进程、函数间的数据流;使用自底向上的方式遍历调用流生成过程内和过程间数据流。即在拿到一个bin时,最先将其转化为IR语言,并且对每个函数单独进行分析,分析的内容有使用内存地址描述变量,推断函数所使用的参数数量和类型,生成每个函数的DU链和UD链。接下来,需要进行指针别名的搜索和匹配,以及数据结构相似度的匹配,检查间接调用还原CFG,最后再自底向下地生成数据流。

此外还有一种动态分析技术IoTFuzzer2018,基于生成的模糊测试,只关注面向网络的二进制文件,通过配套app指导fuzz。IoTFuzzer2018通过应用程序来指导fuzz,会遗漏其他组件中包含的错误。IoTFuzzer 缺乏对生成输入质量的了解,导致对低质量输入的资源浪费。分析 Android 应用程序以检测物联网设备中与内存相关的漏洞。 IoTFuzzer 采用基于污点的方法并改变用于生成协议消息的数据流。因此,IoTFuzzer 不需要协议模板。通过改变应用程序中的数据流,IoTFuzzer 跳过了协议分析。此外,变异策略不仅可以触发内存损坏,还可以触发逻辑损坏。由于设备监控困难,使用IoTFuzzer来发现明显的固件崩溃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值