野外部署中物联网安全弱点与漏洞的大规模研究
密码学与安全
2023-08-28 v1 软件工程
摘要
物联网(IoT)被定义为通过智能计算设备经互联网/网络将场所与物理对象(即物)连接起来的方式。我们观察到 IoT 软件开发者在三个 Stack Exchange 问答站点:Stack Overflow(SO)、Arduino 和 Raspberry Pi 上,以代码示例形式分享编程问题的解决方案。既往研究在 Stack Overflow 分享的 C/C++ 代码示例中发现了漏洞/弱点。然而,这些研究未调查与 IoT 相关的 C/C++ 代码示例,且仅考察了 SO 的代码示例。本文中,我们对三个 Stack Exchange 站点(即 SO、Arduino 和 Raspberry Pi)中分享的所有 IoT C/C++ 代码示例进行大规模实证研究。从三站获取的 11,329 个代码片段里,我们在 609 个片段中识别出 29 种不同 CWE(通用弱点枚举)类型。这些 CWE 类型可归为 8 个通用弱点类别,且我们观察到评估、内存和初始化相关的弱点是用户发布编程解决方案时最常引入的。此外,我们发现 39.58% 的漏洞代码片段包含可映射到这些 CWE 类型真实世界实例(即 CVE 实例)的 CWE 类型。漏洞 IoT 代码示例数量以 Arduino 最多,其次为 SO 与 Raspberry Pi。内存类漏洞在各站点呈上升趋势。例如,从 3595 个已映射 CVE 实例中,我们发现 28.99% 导致拒绝服务(DoS)错误,这对智能汽车等网络依赖型 IoT 设备尤为有害。我们的研究结果可指导各类 IoT 利益相关者意识到此类漏洞 IoT 代码示例,并在开发可帮助防止开发者在站点分享此类漏洞代码示例的工具时告知 IoT 研究者。[删节]。
引用
@article{arxiv.2308.13141,
title = {A Large-Scale Study of IoT Security Weaknesses and Vulnerabilities in the Wild},
author = {Madhu Selvaraj and Gias Uddin},
journal= {arXiv preprint arXiv:2308.13141},
year = {2023}
}
备注
38 pages, 21 figures