白话物联网安全系列文章:白话物联网安全(一):什么是物联网信息安全白话物联网安全(二)):物联网检测的安全性这次我们先讲物联网设备的安全,说说物联网设备的安全防御。这次我们将讨论物联网设备的安全性。-Wave、6LowPAN、Thread、WiFi、GSM/3G/4G蜂窝网络、NFC、Sigfox、HTTP、MQTT、CoAP、DDS、AMQP、XMPP、JMS。当我们通过协议时,我们会感到很头疼。我们现在所涉及的物联网的协议标准并不统一。适用范围和使用场景限制了使用多种传感方式进行持续测试,而基础层的大量传感设备由于内存和计算能力有限,难以实现安全防御。比如智能汽车的CAN总线,只要能直接通信就可以控制汽车。基于这些内容,我们将可能的攻击方式分为三类:物理接触:OBD、NFC、USB等近场控制:蓝牙、WIFI、射频、信息模块等远程控制:云服务系统、运营商网络、3G/4G等。我们在考虑安全防御时,需要根据防护等级,从物理层入手,进行联防控制。身体接触涉及两个核心问题。首先是恶意攻击者在触摸设备时无法进行身份验证。认证后,没有授权,不能进行任何操作。下面以最常见的NFC破解为例,做一个简单的说明。M1卡的容量为1KB,包含16个扇区,每个扇区有四个块。一般数据区占1个扇区,0个扇区会有一个uid,内部存储是16进制的。一般扇区数据的4位为金额位,4位或2位为校验位。通常将数量取反,然后转换成十六进制。例如,1E75与57E1取反(异或),然后转为十进制。在能够处理数据之前,首先要确定可以访问的扇区,即首先要破解访问该扇区的密码(全加密只能用字典破解,半加密可以用字典破解)验证漏洞)。这个东西会生成一个XXX.dump文件,然后把它拖到WinHex里面,做验证方法就可以修改了。还有各种辅助计算的小工具。因此,让我们解决一下。如果有公司要求我们做这种NFC(水卡、公交卡等)的安全保护,从上面的内容我们知道要注意以下几点:重复冻结。扇区加密不能采用半加密方式,必须采用全加密方式,密码要足够强,校验位算法要足够复杂,金额位的字节长度不要限制。上面的例子是对我们在使用过程中必须接触的设备物理层面的一些建议,但实际上很多设备的物理接触是不需要的,或者我们可以设计相应的插件接触产品,绑定产品硬件打码是唯一认证,其他人需要厂家认证。这种方法比较麻烦,但是安全和方便总是矛盾的。然后说说物联网安全防御的第二层,近场控制必须考虑的安全问题。近场是指在指定范围内,可以通过某种手段连接到与物联网设备相同的网络环境中,从而对物联网设备进行控制。攻击,我们常见的wifi、蓝牙、射频等物联网设备不同于其他设备。现在市场上大量的物联网设备只需要配置网络网关,自身的认证方式是硬编码的。用地址扫描,嗅探数据包,准确无误后,从蓝牙使用的一个小工具(Hcitool)说起。kali中集成了hcitool,首先执行hciconfig查看我们的蓝牙适配器是否被识别和启用,然后启动hciconfighci0up。我们只有一个蓝牙适配器,启动hci0,然后开始寻找周围的蓝牙,我的手机打开了一个蓝牙(蓝牙系统使用的频段是2.4GHzISM频段。它的频率范围是2400–2483.5MHz。蓝牙有79个RF通道,顺序为0-78,从2402MHz开始,间隔1MHz)。找到我的手机,oppor15蓝牙,让我们获取更多信息,hcitoolsinq。通过hcitools,我们可以执行一些命令,比如开启iscan,关闭pscan等等。hcitools有很多用途,就hcitool-h。对于我们找到的设备,下一步可能是嗅探。工具:ubertooth,下载地址:https://github.com/greatscottgadgets/ubertooth;在此基础上还需要安装一个BLE解密工具crackle,下载地址:https://github.com/mikeryan/crackle(大家有兴趣可以搬个小板凳在分享旁边开始操作自行车,获取蓝牙激活命令,或者您可以留言,我会要求授权)。对于蓝牙的安全性,我们可以看到做这种通用的安全协议本身,我们可以增加解密每个PIN的时间:对于加密过程,如果加密时间加倍,那么对于暴力破解来说,为了得到正确的PIN码,需要增加密钥空间的倍数。也就是说,对于一个PIN长度为4的密钥,如果每次蓝牙设备配对时加密过程时间增加1秒,那么对于暴力破解来说,每个PIN的解密过程需要增加1秒,所以要得到正确的PIN码,对于PIN码长度为4的钥匙,平均需要l10∧4/20.36*10∧4=1小时。对于PIN码长度为8的密钥,平均需要增加l10∧8/20.3610∧4=10000小时的时间,可见其安全强度已经远远超过原PIN码长度设置的安全性强度为12位。对于人们习惯的银行系统6位密码,平均也需要l10∧6/20.3610∧4=100小时。如果将中间加密过程增加到2秒,那么平均攻击成功时间需要210∧6/20.36*10∧4=200小时(此方法选自中国论文网-浅谈蓝牙安全)。关于近场安全,现阶段最安全的方法是加密和隐藏信号。下面说说最后一道物联网安全防御,远程控制。远程控制是指那些我们直接泄露暴露在公网上的物联网设备。仅靠物联网设备本身很难防御。这时候,我们不得不更加关注物联网设备暴露在公网的5大安全隐患。也就是说,我们在做防御的时候,只需要把它看成一个直接开放在公网上的脆弱的业务系统,即进行身份认证、会话管理、访问授权、数据验证、配置管理、可以从业务安全、漏洞安全等七个方面进行安全防御。在出口处部署下一代防火墙+WAF+APT可以避免大部分的安全问题。这就又回到了常规的安全性上,这里就不说了。综上所述,本次安全防御主要从物理、近场和远程三个方向谈物联网设备的安全。目前市场上的安全设备,很多针对物联网的防御只是将物联网承载的功能系统作为纯互联网设备进行防御(并且缺乏大量的规则库),面对近场和物理防御,有现阶段没有很好的解决办法。下一篇我们开始研究漏洞和规则库(从物理、近场、远程这三个方向)。
