物联网安全方案-从古代堡垒的建设解读

物联网在我们周围不断出现,安全性跟不上步伐。 但是,除了新的创新之外,从历史的古堡建设我们可以汲取一些经验教训,这对于我们在建立物联网安全时,是非常有用的,我们来看一下。

我发现许多古老的堡垒都内置了多层防御系统,令人着迷。 爱尔兰的FortDúnAonghasa堡就是一个很好的例子,它说明了如何通过使攻击者很难进入“内部圈子”来使用多层防御系统来提高安全性。 攻击者必须克服几个障碍,包括首先必须爬上悬崖,然后在被箭击中的同时穿透巨大的巨石,然后爬上三堵墙。

堡垒
堡垒

正如许多老堡垒使用多层防御系统一样,现代物联网解决方案也可以使用。 但是,现实情况是,许多现代物联网解决方案完全缺乏针对黑客入侵的任何防御系统。

在许多现代物联网设备和解决方案中缺乏防御系统或防御措施有限的原因通常是工程师和设计师对某些物联网协议中可能存在的漏洞缺乏了解。 我们将探讨在物联网设备/解决方案中发现的一些典型弱点,以及如何通过部署多层防御系统将物联网设备和物联网基础设施设计为更具弹性。

被黑客入侵和奴役的物联网设备(服务器)

最近,我们收到了来自托管服务提供商的以下电子邮件:

摘要:已纠正软件异常,该异常导致响应于拒绝服务攻击而取消了过多的出站路由公告。

分布式拒绝服务(DDoS)攻击正在增加,并且这些攻击的来源越来越多地来自被入侵的IoT设备。就在不久前,一家为Twitter,Amazon,Spotify和Netflix等公司提供DNS服务的公司Dyn遭受了创纪录的DDoS攻击,导致某些互联网最受欢迎的网站中断和网络拥塞。攻击源自来自世界各地成千上万被入侵和被奴役的IoT设备(例如IP摄像机和DVR)的僵尸网络。

所有这些被入侵的IoT设备都有一个共同点–它们都通过提供Web服务器,telnet服务器和/或SSH服务器等服务而充当服务器。不幸的是,Shodan等端口扫描程序可以轻松找到可公开访问的服务器。

黑客可以创建自动工具来扫描和探查漏洞,例如容易猜出的密码,默认产品密码或仅执行蛮力密码攻击。然后,黑客将代码上传到受感染的设备,从而通过将这些设备集成到其僵尸网络中来奴役它们。因此,包含服务的IoT设备比不提供任何形式的公共可用服务的IoT设备更容易受到攻击。

第一道防线:物联网设备应作为客户端而非服务器运行

端口扫描程序无法找到充当网络客户端的设备,而不是充当网络服务器的设备。另外,当设备作为客户端运行时,外部人员不可能直接连接到设备。但是,作为客户端运行的设备需要在线服务器,该服务器使用户能够通过在线服务控制其设备。

当所有设备和人机界面均作为客户端运行时,需要在线服务器代理用户和设备之间的流量。在线服务器充当人机界面(HMI)和所连接设备的服务/服务器。例如,具有启用云的恒温器的房主可以通过在线服务器提供的Web界面控制恒温器。

例如,虽然可以通过使用WebSocket协议和通过设计服务器端代码以在用户及其设备之间路由(代理)消息的服务器端代码来设计代理服务器,但更简单的解决方案可能是使用为以下目的而设计的许多IoT协议之一这个目的。流行的选择是诸如AMQP,XMPP和MQTT之类的发布/订阅(pub / sub)协议。

使用发布/订阅协议时,在线代理服务器通常称为代理。代理负责在发布者和订阅者之间路由消息。

物联网发布/订阅协议及隐藏的漏洞

发布/订阅协议是用于通过在线服务器间接控制设备的绝佳选择。它们使任何连接的客户端都可以订阅主题。一些物联网协议(例如MQTT)也启用了通配符订阅。通配符订阅使客户可以在不知道确切主题名称的情况下订阅主题,因此可能会出现漏洞。

实际上,可以订阅MQTT中的任何主题,从而使该协议本质上不安全,因为获得了代理访问权限的攻击者可以窃听从其他设备发送的所有消息。然后,攻击者可以了解IoT解决方案使用的所有消息的详细信息,并使用此信息通过发布特制消息来间接危害所有连接的设备。

白帽黑客最近发布了DEFCON MQTT论文。本文揭示了人们如何在Internet上找到并访问MQTT经纪人,以及如何执行诸如打开监狱大门,更改辐射水平等操作。黑客引用的在线代理不需要MQTT客户端进行身份验证。然后,黑客继续创建一个脚本,该脚本使用通配符订阅来订阅由代理处理的所有消息。

不用说,没有客户端认证就无法使用诸如MQTT之类的协议。但是,由于MQTT以明文形式将密码从客户端发送到代理,因此通信也必须受到TLS的保护,以防止窃听。请注意,使用客户端身份验证可能没有您想象的那么安全。我们将在接下来的两节中探讨身份验证安全性问题。

许多现代物联网设备和解决方案中缺乏防御系统或防御措施有限,通常是由于工程师和设计师对某些物联网协议中可能存在的漏洞缺乏了解而引起的

第二道防线:身份验证

作为客户端运行的IoT设备应在连接时使用TLS协议对服务器进行身份验证。当客户端连接时,在线服务器的X.509证书可确保该设备实际上在连接到正确的服务器,而不是在欺骗的系统上。

如前所述,如果没有客户端身份验证,则不应使用MQTT之类的发布/订阅协议,因为这会损害IoT解决方案。客户端身份验证与服务器端身份验证结合在一起称为相互身份验证。服务器身份验证通常由TLS协议和服务器的证书提供。但是,客户端可以使用从纯文本密码到anX.509证书的任何内容来对自己进行身份验证。

所有形式的身份验证机制都基于保守秘密。在无头边缘节点(缺少图形用户界面的设备)等物联网设备中保守秘密是有问题的,因为这些设备通常是在野外使用的,因此使黑客有可能从设备中提取硬编码的凭据。

例如,黑客可以购买旨在连接到在线云服务器的支持云的恒温器,然后黑客可以从设备中提取凭据(密码或X.509证书),从而获得对恒温器在线的访问权限生态系统。对于基于支持通配符订阅的发布/订阅协议的物联网解决方案,这尤其重要。

身份验证缺点

当使用发布/订阅协议(例如MQTT)时,设法从设备中提取凭据(密码或X.509证书/私钥对)的黑客可以使用凭据来窃听IoT解决方案的通信或直接执行通过发布特制消息来进行利用。

每个设备的唯一凭据可以禁用特定的被利用设备,包括使用设备的凭据;但是,这要求物联网解决方案能够检测到漏洞并从解决方案中删除已利用的凭据。使用X.509证书/私钥对进行客户端身份验证的解决方案甚至更加复杂,因为必须使用证书吊销列表(CRL)来管理受感染的X.509证书。

从设备中提取凭证的复杂性在很大程度上取决于设备类型和设备中使用的组件。基于高级操作系统的设备(凭据存储在外部闪存模块中的文件系统上)使黑客比使用内部微控制器闪存以及JTAG熔断器的设备的凭据容易提取黑客。

话虽如此,即使是最坚固的设备也可以被利用,并且可以提取凭证。因此,与仅基于多层防御保护系统的物联网解决方案相比,设计仅依赖于使用凭据作为唯一防御机制的物联网解决方案要容易得多。

古人告诉我们,多层防御系统可以提高整体安全性。 如果一项防御失败,另一项防御将接管。

第三道防线:授权

当凭据已被黑客提取和使用时,通过授权,可以保护IoT解决方案不受入侵的设备的侵害;对于未经密码保护使用的IoT解决方案,授权可以保护它。 授权还可用于检测通信模式中的异常并将此类事件报告给操作员。

授权对于提供一对多消息模型的协议(例如pub / sub)特别重要。 对于启用通配符订阅的发布/订阅协议,授权甚至更为重要。

授权是特定于产品的,可以有多种形式,例如提供控制访问控制列表(ACL)的方法。 与仅支持授权的代理解决方案相比,基于pub / sub协议的IoT解决方案可以使服务器端实现安全性,该IoT解决方案通过在服务器端启用编程授权(例如,通过提供一个可以使用您自己的计算机代码来分析流量的插件系统),可以使其更加安全。 通过配置文件。

总结

古人告诉我们,多层防御系统可以提高整体安全性。如果一项防御失败,另一项防御将接管。我们应该将其作为历史课程,并将其应用于现代物联网和网络设计。

首先,设备应以隐身模式运行,从而使自动黑客漫游器在搜索设备时看不到它们。作为网络客户端运行的设备具有隐身模式属性。作为一项附加的安全功能,还可以在隐身模式下运行在线服务器的IoT解决方案更加安全,因为攻击者将很难找到在线服务。 WebSocket协议具有此属性,因为很难将WebSocket服务器与常规Web服务器区分开,特别是如果WebSocket服务器的条目URL是非公共的,因为自动端口扫描程序无法找到非公共的URL。仅提供一种服务类型且侦听特定端口号的协议不具有隐身模式属性。

其次,物联网服务器应使用X.509证书身份验证,以防止中间人攻击。此外,某些物联网协议不应在没有客户端身份验证的情况下使用,因为它们包含诸如通配符订阅之类的功能,可能会损害整个解决方案的安全性。

作为第三道防线,服务器/经纪人应包括保护物联网解决方案的授权。启用对消息进行自定义和程序分析的服务器包括额外的安全性,这使得有可能提供细粒度的授权和对不合格消息的检测。

为了使开发人员能够轻松设计多层防御系统,我们开发了SMQ,这是一种轻量级的IoT发布/订阅协议,类似于MQTT。此外,SMQ协议的行为与WebSockets相似,初始的HTTP和HTTPS连接已升级为持久的SMQ连接,从而使代理程序难以检测,基本上在隐身模式下运行。 SMQ客户端可以使用加盐的密码哈希,从而可以使用非安全(非TLS)连接对客户端进行安全身份验证。

安全连接通过HTTPS启动,使客户端可以连接到Internet并绕过任何防火墙/代理。出于安全原因,该协议不允许通配符订阅,因此已获得对代理访问权限的攻击者无法轻松订阅和检测消息流。 SMQ代理包括一个插件系统,使开发人员能够以编程方式分析代理管理的所有流量(授权)。

名为SharkMQ的安全SMQ客户端甚至适用于最小的微控制器。我们的测试表明,完整的协议开销(包括TLS,TCP / IP堆栈和驱动程序)可以小到38Kb ROM和13Kb RAM。

无论选择哪种协议,对协议的深入了解都将帮助您为IoT生态系统设计更好的防御系统。许多协议都包含许多功能,但是,无论是否使用这些功能,都可能导致试图破坏您的解决方案的攻击者可以使用针孔。

建议您选择一种在设计时要考虑安全性的正确功能集,而不是选择一种支持所有更容易受到攻击的协议。

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » 物联网安全方案-从古代堡垒的建设解读