IOTFUZZER: Discovering Memory Corruptions in IoT Through App-based Fuzzing

IOTFUZZER: Discovering Memory Corruptions in IoT Through App-based Fuzzing

随着越来越多的物联网设备进入消费市场,迫切需要在攻击者之前检测其安全漏洞。现有的基于二进制分析的方法仅适用于固件,除了那些配备有用于从设备中提取代码的特殊工具的固件之外,这种方法很难访问。为了应对物联网安全分析中的这一挑战,本文中提出了一个新颖的自动模糊测试框架,称为IOTFUZZER,旨在发现物联网设备中的内存损坏漏洞而无需访问其固件映像。关键思想是基于以下观察:大多数IoT设备通过其官方移动应用程序进行控制,并且此类应用程序通常包含有关其与设备进行通信的协议的丰富信息。因此,通过识别和重用程序专用逻辑(例如,加密)来改变测试用例(尤其是消息字段),我们能够有效地探测IoT目标,而无需依赖于有关其协议规范的任何知识。研究中,作者实施了IOTFUZZER并评估了17种运行在不同协议上的实际IoT设备,并且该方法成功地识别了15个内存损坏漏洞(包括8个以前未知的漏洞)。

INTRODUCTION

首先介绍了物联网设备的发展情况,并考虑到松散的安全保护和大量的漏洞带来的安全隐患,给网络犯罪分子带来可乘之机。

物联网攻击的一个重要目标是设备固件中的安全漏洞。系统检测这些漏洞需要解决一些挑战:
1、固件获取困难
许多供应商未公开提供其固件映像;从主板上转储映像需要已启用的调试端口的支持,许多物联网设备由于其简单性不存在这些调试端口。
2、压缩格式的多样性
所获得的固件如何解压缩?

在对从固件中提取的文件进行安全性分析时,主要挑战来自各种底层架构(内存布局,指令集等)。
1、现有技术主要依赖于某些体系结构的仿真,但是NVRAM参数不可用会导致在模拟器中运行的程序崩溃;
2、利用符号执行来分析固件也需要考虑到架构问题。

Our Approach. 与传统的嵌入式设备不同,大多数物联网设备由用户通过移动应用程序控制。此类IoT应用程序旨在充当其设备的电话侧控制面板,因此携带有关该设备的丰富信息,尤其是与其固件进行通讯的方式。此类信息的示例包括应用程序中嵌入的命令(种子)消息,URL和加密/解密方案。IOTFUZZER,是一种自动的黑盒模糊测试框架,专门用于检测IoT固件中的内存损坏漏洞。 IOTFUZZER的独特之处在于,它可以运行协议指导的模糊测试,并利用物联网应用程序携带的信息,而无需对协议进行逆向工程或从应用程序中显式恢复此类知识。取而代之的是,它执行动态分析以识别在应用程序内部形成的将传递给目标设备的消息内容,并在运行时自动更改这些内容,以便使用应用程序的程序逻辑来生成有意义的测试用例,以测试目标固件。这种方法不仅轻量级,避免了繁重的协议分析,而且可靠,即使在存在密码保护(加密,身份验证等)的情况下,也能够生成有效的测试有效负载

IOTFUZZER 通过由测试用例触发的崩溃来报告问题的存在,用于指导后续安全分析以找出漏洞的根本原因。

Contributions.
1、无需获取固件的模糊测试框架IOTFUZZER,用于IoT设备的安全性分析。 通过利用官方移动应用程序所携带的信息及其程序逻辑,可以自动检测IoT设备中的内存损坏漏洞,而无需直接访问固件。
2、开发了一套新技术来实施自动的黑盒IoT模糊器,其中包括无需协议规范的协议引导模糊测试,用于消息生成和传递的上下文内加密和联网功能重播以及用于远程监控目标IoT设备状态的轻量级机制。
3、作者实施了IOTFUZZER的功能齐全的原型,并对17个现实世界的IoT设备进行了评估,发现了15个对安全至关重要的内存漏洞,其中有8个从未报告过。

BACKGROUND

A. Typical IoT Communication Architecture

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值