关于工业物联网安全措施如何布置的分析介绍

描述

互联网诞生之初并没有考虑到安全问题,最早它主要是面向研究人员测试一些科学数据。起初假设只有好的人员才能访问这个系统,最终导致了现在互联网众所周知的问题。自从互联网开始向普通大众开放以来经历了数十年的发展,我们已经在安全方面取得了显著的进展。但是好人与坏人之间的猫捉老鼠游戏仍在继续。

与此同时除了计算机和服务器以外,越来越多的设备都在依赖互联网作为通信和远程控制中枢。这些新的设备统称就是我们所熟悉的物联网,它们使用的协议与我们传递信息或者进行金融交易的方式相同。现在互联网与之前的区别是不仅仅再只是传递数据,可以控制实体对象的设备以及真实世界(或者说是物质世界)中的加工处理都在借助同一个互联网进行通信。

从计算角度来看组成物联网的嵌入式系统功能变得越来越强大 。尽管如此,与现代电脑或者智能手机相比它们的能力还是有限的。我们需要根据有限的资源做出相应的设计,但是从安全角度看这可能不是最好的。为了向大家说明这一与生俱来的风险,我们将展示怎么向传感器数据流中注入错误数据包。从“黑帽”黑客的角度来看物联网安全的优势和弱点都是什么呢?我们不能够亲自尝试,只能向大家介绍这些事如何发生的。下面开始:

想象有一个假设的嵌入式平台,我们不妨称它为“HEP(Hypothetical Embedded Platform)”。它采用32位处理器核心,大量的模拟和数字I/O管脚,并且集成了Wi-Fi功能。除此之外有完善的API文档,我们可以将设备连接到HEP计算云服务器,上面存储的数据用于后续加工处理。

工业物联网

将嵌入式设备连接到互联网

首先我们要实现HEP与Wi-Fi网络之间的通信,因此我们要提供无线网络的SSID名称和加密秘钥。除此以外我们还需要明确网络服务的服务器地址和端口号(这里我们虚构一个HEP云计算服务平台)。最后我们还需要鉴定谁可以访问HEP云计算服务器。在实际应用中我们一般会为每个嵌入式设备分配唯一的一个ID(这里我们假设为HEP_DEVICE_ID)。与此同时我们也要分配事件名称因为一个嵌入式设备可以具备不同的功能,而且事件名称还可以帮助我们将不同功能情况下日志数据保存到不同的日志文件中,不至于混在一起。

#include<”WiFi.h”>

#include<”TemperatureSensor.h”> 

const char * SSID = “mynetwork”;

const char * WPA_KEY = “ABC123”; 

const char * HEP_DEVICE_ID = “A7FG390H463”;

const char * EVENT_NAME = “temperatureReading”; 

const char * SERVER = "api.hep.com";  
uint16_t PORT = 80;   

WiFiTCPConnection;

TemperatureSensor tempSensor1 

TCPConnection.networkConnect(SSID, WPA_KEY);

向云服务器发送数据

现在HEP嵌入式设备应该已经能够接入到我们的本地无线网络。但是我们还没有进行一些实质性的工作,例如读取传感器的数据并将数据上传到云服务器,为了实现这一功能,下面给出了API函数的使用方法,具体介绍了如何使用POST命令。

InttemperatureReading = tempSensor1.getTemp();

TCPConnection.serverConnect(SERVER, PORT); 

String temperatureMessage = "POST /trigger/”+HEP_DEVICE_ID+”/event/”+EVENT_NAME+”?value="+temperatureReading+" HTTP/1.1\r\nHost:api.hep.com\r\nUser-Agent:HEP\r\n\r\n"; 

TCPConnection.sendMessage(temperatureMessage);

TCPConnection.disconnect();

理想情况下这段代码会一直运行下去,不断更新服务器端的日志数据,服务器会认为我们已经在代码里面实现了安全防护功能(例如无线WiFi WPA2加密机制、唯一的随机生成的数字和字母组成的设备ID以及用户自定义的事件名称),因此服务器认为所有接收到的数据都是嵌入式设备发送过来的。

入侵(仅需要简单的三个步骤)

遗憾的是情况并不是我们想象的那样美好,如果黑客们想入侵我们的HEP温度传感器设备,我们根本不能够阻止他们。攻击的方式需要我们的一些假设,虽然不一定非常相似,但也是大同小异。

1.当一个黑如入侵我们的无线网络后,他就可以借助一些免费的数据包嗅探工具来监测传输过程中的所有数据包信息。

他们的目的是破解WPA2加密秘钥,所以他们会读取数据包中相关信息。只要他们获取到了加密秘钥,他们就可以读取我们无线网络上传输的所有数据包内容。

下一步黑客会收集数据包并判断哪些数据包包含HEP温度相关信息。只要他们获取了HEP设备的IP地址,他们就能够一直收集这些数据包直到他们明白我们发送的POST命令信息格式。或者他们可以直接参考相关API文档,一般在网上都能够找到。

两条最重要的信息是HEP_DEVICE_ID和EVENT_NAME,有了这些信息他们就可以想做什么就做什么,接入任何一个网络,介入命令传输接口并且发送伪造指令,如下面所示:

curl–X POST https://api.hep.com/.....…./temperatureReading?value=500

只要这一行命令,黑客就插入一条错误的传感器数据:500℉,这是注入入侵数据包的基本格式。在我们这个例子中,温度传感器数据会触发什么操作,如果在实际情况中可能真的会造成实际的破坏。比如我们正在使用类似IFTTT.com一样的服务,并且设置相关配置,比如如果温度超过特定值就打开窗户。通过注入伪造的数据包,黑客就可以触发相关操作,甚至通过打开的窗户进入用户房间。

大多数人不知道如何获取入侵操作的具体信息,有些甚至不能访问我们的计算机(尽管智能手机本质上也是32位计算机,运行不同的操作系统等),但是仍然有一些人学习如何入侵然后访问我们的计算机,尽管道德、伦理和尝试提示他们不要这样做。目前全世界大概有七十亿人口,在互联网上有数百万甚至数十亿的未加密设备,很明显可以看出我们设备被入侵的几率很大,不要心存侥幸。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分