论文部分内容阅读
随着物联网的兴起,智能设备在我们的日常生活中发挥着不可或缺的作用。智能设备中的安全漏洞不仅会危害用户的财产和隐私,还会威胁用户的生命。在各种物联网设备漏洞中,认证绕过漏洞具有广泛的影响,通常是攻击者攻击的焦点。早期的认证绕过漏洞主要是由硬编码和弱密码导致的,出现此类漏洞的设备大多数为具有Web接口的路由器、摄像头等。但是,随着物联网设备功能的增加,认证绕过漏洞多数是由设备认证的逻辑错误所引起的。与此同时,随着轻量级物联网设备的数量和种类不断增加,已有的检测框架在分析轻量级物联网设备固件时面临着挑战。针对以上问题,本文对物联网设备的认证方案进行安全分析,并挖掘到一种新类型的由混合指令集导致的认证绕过漏洞。本文深入分析了该漏洞的成因,并且提出了相应的防御方案。为了能够探究这类认证绕过漏洞的影响范围和危害,本文设计并实现了针对轻量级物联网设备固件的漏洞检测工具Gerbil。本文的创新点与贡献主要为以下三个方面:(1)本文发现一种由云指令和本地指令混合在同一指令集引起的新类型的认证绕过漏洞,本文称这类漏洞为指令混合型认证绕过漏洞。物联网设备通常具有多个交互对象,包含云、移动应用和其他物联网设备。每个交互对象都拥有其能够发送给设备的指令集。通常云能够发送的指令可以使设备完成权限较高的操作,例如重置设备、更新固件等。然而,由于开发者在固件中实现了错误的解析指令的逻辑,导致多个交互对象能够发送的指令混合在同一个指令集中。混合的指令集是导致该漏洞的本质原因;而使得该漏洞可以被攻击者利用的主要原因是设备对云端交互对象和对本地交互对象采用了不同的认证策略。经过对多个实际设备进行测试,本文发现多数设备没有对局域网内交互对象执行严格的身份认证。因此,存在指令混合型认证绕过漏洞的设备将允许局域网内未经过严格认证的对象发送本该由云端发送的指令,从而导致设备劫持和设备拒绝服务等攻击。(2)本文设计并实现一个针对轻量级物联网设备固件的漏洞检测工具Gerbil,用于检测智能设备中的指令混合型认证绕过漏洞。Gerbil有两个主要优势。第一,Gerbil能够有效分析轻量级物联网设备固件。现有检测工具在分析轻量级物联网设备固件时会遇到无法准确识别装载基址、无法恢复完整控制流图、路径爆炸以及难以求解复杂约束等问题,本文针对这些问题提出了相应的解决方案。首先,本文提出基于识别芯片类型的固件分析方法,该方法能够准确识别出轻量级物联网设备固件的装载基址。此外,本文对已有的控制流恢复算法进行了部分改进,能够生成更完整的控制流图。同时,本文将库函数识别技术集成到符号执行引擎中,该方法不仅能够缓解路径爆炸还能提取本文提出的高层次约束。第二,Gerbil能够有效检测固件中的指令混合型认证绕过漏洞。Gerbil可以恢复出固件中从接收网络数据到解析指令的认证路径,并判断设备从局域网接收的网络数据是否与从云端接收的网络数据到达同一个指令集。此外,Gerbil能够求解出满足认证路径上所有约束的网络数据的可能值,以帮助人工验证漏洞。(3)本文收集了100个ARM架构轻量级物联网设备固件,涵盖4个设备厂商和6个芯片厂商。本文通过这100个固件数据对Gerbil的装载基址识别、控制流图恢复、检测时间以及检测结果等性能进行评估。实验结果表明,Gerbil可以实现准确率为100%的固件装载基址识别。同时,与Angr的分析结果相比,Gerbil对单个固件控制流图的恢复结果平均增加了24,822个节点和58,625条边。此外,Gerbil分析单个固件的所有认证路径的平均时间仅为527.41秒,并检测出37个固件中存在指令混合型认证绕过漏洞。本文通过人工测试3个智能设备来验证检测到的漏洞,证明了Gerbil检测结果的正确性。测试结果表明,本文发现的指令混合型认证绕过漏洞允许攻击者实现设备劫持和设备拒绝服务攻击。