首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何进行IoT漏洞评估?

如何进行IoT漏洞评估?
EN

Security用户
提问于 2017-12-09 22:50:36
回答 2查看 296关注 0票数 5

第一:这不是“我如何开始黑客攻击?”问题,但更多的是“我如何开始测试一个特定的设备?”

我的学士论文的一部分是对IoT设备进行漏洞分析/评估,该漏洞分析/评估是在另一篇BSc论文期间实现的,同时考虑到安全性问题,并提供可能的解决方案或改进。应用Kerckhoff原则,我可以完全访问文档、源代码,甚至还提供了一个测试客户端,让我根据文档设置set服务器。

我该怎么做?

根据,我们有不同的步骤来进行全面的评估。

  • 发现
  • 漏洞扫描
  • 脆弱性评估
  • 安全评估
  • 渗透试验

系统

已经确定了三个主要的专题组成部分:

  1. RFID阅读器/标签
  2. 微控制器客户端(Arduino /w以太网屏蔽)
  3. 后端系统

提供更好图片的其他信息:

1)仅使用rfid标签的ID (授权无认证),标签克隆/欺骗可能。考虑到是否有可能将其与专有门锁系统集成,因为使用相同的rfid标签,因此系统具有用户身份验证。

2) Arduino Uno作为串口接口,读取rfid标签,利用加密库对ChaCha20-Poly1305加密/认证后端传输,预共享密钥,定期生成新的会话密钥,通过串口实现一个模拟通信的小程序。

3)后端以Webserver(Apache)、应用服务器(django)和数据库(sqlite )作为测试系统。提供Webinterface作为管理工具,使用最先进的TLS。

当前状态

目前,我正纠结于如何以一种有条不紊和结构化的方式/过程来处理这一问题。

我对攻击(1)没有多大希望,因为除了克隆/欺骗之外,我看不出那么多攻击载体

在(2)中,由于它是一个Arduino,它将99%的容量用于其任务。我已经在源代码中使用了完美无瑕,但是它只显示了一些错误(如果复制的话检查数组大小等等),这些错误都是在代码中处理的。没有发生动态内存分配,从数组中读取数据是严格按照数组大小定义的。假设ChaCha20库(它提供了自己的安全RNG )得到了正确的实现,我在这里看不到任何东西。

最后(3)我看到了最有潜力的地方。运行在Debian 9上的Apache not服务器经常配置错误/不及时,这会打开攻击向量。应用服务器?对那件不确定。Webclient (取决于实现)使用Django构建,也可能是更易受攻击的组件之一。

TL;DR:我有一个IoT设备,由多个组件(微控制器、带有IoT接口的后端IoT服务器)组成,我一直在研究如何做一个系统地、正确的、彻底的漏洞评估。

问题

  • 什么是正确的方法来处理这个问题?是否有标准/框架?
  • 如何彻底测试(1)和(2)漏洞?因为有可供归属的指南(3)

编辑

我把背景资料保留下来。主要问题是:

-多组分IoT设备漏洞评估的正确方法是什么?

EN

回答 2

Security用户

回答已采纳

发布于 2018-03-07 19:19:48

TL;DR:

  1. RFID处理(系统的主要输入)
  2. 调试接口(将此与所有其他步骤结合起来)
  3. Web应用程序
  4. 密码物
  5. 源代码审核
  6. 侧通道和故障注入(这是一个比较困难的)

1.射频识别

我会从射频识别部分开始(查看proxmark3)。arduino如何处理1KB的ID?应该会爆炸的。它甚至可能会在某个地方吐出一些记忆。

2.调试接口

调试接口。怎么强调都不够。例如,查看单线调试协议和它使用的其他接口。试着找个内存转储。

3.网络应用程序

启动电线鲨鱼或burpsuite,看看会发生什么。在定制web应用程序上,错误配置通常不是您最大的问题。

4.密码技术

请记住,arduino是一种低功耗的设备,它的马力与用笔和纸进行计算几乎完全相同--这两个用密码学计算的装置玩得不好。尤其是RNG部分。如果不是硬件(比如带有反向偏置晶体管的白噪声发生器),它很可能是垃圾。看看每个密码是如何实现的,我相信你会发现一些东西的。

5.源代码审核

这一点不用说,您必须检查源代码。我把它放在那里,因为当你开始检查源代码的时候,你已经对发生了什么,什么时候,什么原因有了一个很好的了解。我认为您已经在前几个阶段检查了不同的位,但是在这个阶段尝试更彻底

6.侧通道与故障注入

最后但并非最不重要的是,我会尝试错误的注入&侧通道攻击。在这样简单的架构上出现电压和时钟故障,以及功率分析非常容易(例如,与ARM A系列处理器相比)。ChipWhisperer将非常有用!我认为你甚至有两步管道,这样你就可以跳过整个指令:P

注意:试着在评估过程中做很多笔记(你是怎么做的,或者系统是如何工作的),以及有趣/奇怪的东西的图片和屏幕截图。没有“太多音符”这样的东西!

票数 3
EN

Security用户

发布于 2018-03-07 17:54:14

取决于设备的功能。它必须以某种方式进行交流。它有网络接口吗?试试端口扫描。

"IoT设备“就像一台迷你PC。你的攻击向量一定是一样的。它必须接受某种输入。操纵输入。

票数 -1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/175178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档