测试物联网设备的安全性

物联网 安全 测试
2021-06-16 07:17:43

在档案中搜索“fuzz”和“pentest”只会找到 2-3 个与此主题相关的主题,它们都来自 2016/2017。

我真的很想对我的 IoT 设备(例如监控摄像头)进行严格的测试,以发现错误和其他安全问题。

您如何建议该领域的初学者进行此类测试?我在嵌入式编程(C,目前正在学习 Rust)方面有一些经验,但之前并没有真正做过任何模糊测试。

2个回答

这实际上取决于您首先如何连接到物联网网络。我假设您的意思是通过 TCP/IP。

根据您希望使用的程度,您可能需要查看可启动的 Kali Linux USB来运行 Pentest。(它实际上就是该操作系统的设计目的)

您可以在 linux/Windows 中使用 Nmap 来确定 LAN 上打开/应答的端口。(这将公开响应客户端探测的服务。)它预装在 kali 中。

一旦找到开放的服务/端口,您就可以使用诸如metasploit 之类的东西来尝试利用您的设备可能存在或不存在的漏洞。

不幸的是,解释如何使用这些程序或操作系统超出了这个问题的范围。我希望它为您指明了正确的方向。

另外运行测试....

您可能会考虑使用静态程序分析技术,例如使用Frama-CClang 分析器另请阅读这份报告草案以了解更多信息,并考虑在 2020 年 9 月之后使用Bismon。另请参阅 ChariotDecoder以及Vessedia欧洲项目。

另一种方法是元编程方法:您将使用某种更高级别的特定领域语言(可能是您的发明,但随后阅读Dragon 书编程语言语用学编写(或使用)您自己的 C 代码生成器这已在SWIG 中使用,您可以使用Coq 之类的工具来证明一些安全属性(例如,您的 C 代码生成器,或者有时和部分生成的 C 代码)

如果您使用最新的GCC编译器编译您的 IoT 代码,请考虑编写您自己的GCC 插件来检查一些安全属性。当然要注意赖斯定理(另请参阅雄心勃勃的RefPerSys项目)。

另请查看CompCert项目内部