9月30日,2015中国互联网安全大会(ISC2015)闭幕式暨全球互联网安全精英峰会盛大举行。当日下午,美国知名独立安全研究员Samy kamkar带来了《基于射频工程的物联网设备的破解》的精彩演讲,现场揭秘物联网设备的致命缺陷。
Samy kamkar表示,基本上物联网的设备无处不在,芯片、无线电深入到我们所有的产品当中,在家里可以放入的芯片看起来像是智能家居,它并不意味着是智能,很可能意味着攻击。当设备、家居、安保锁物联网化,可以通过智能设备控制时,就意味着也许你的邻居就能轻易驾驶你的车,打开你的门了……
智能车库和防盗门被他人控制是很可怕的情况,Samy kamkar通过大量的实验与研究找到了这类物联网设备被控制的重要原因。这类设备大部分运用了无线电技术,通过编码系统可以把一些无线电信号变成可视的,虽然这增加了无线电的可视性,但是并没有提高安全性,反而让它更容易被突破继而被他人控制。
汽车滚动码原理
这一实验结果让人感到了物联网设备的不安全性,令人感到安慰的是,Samy kamkar根据这个结果给出了一些提高安全性的经验“不要使用很小的密码空间,要用序言/同不断来开始每次的密码发送,并且要使用滚动码。”
Samy kamkar表示,许多汽车钥匙可以同时收发,但解锁信号人是单向的且不是基于时间的(滚动码无时效性),所以应使用HMAC加密技术防止位倒转,并且让滚动码使用基于时间的算法。
“物联网设备存在,那么黑客就不会消失,我们能做的除了不断努力完善安全系统之外,”Samy kamka提醒道:“请时刻假设自己在使用恶意的网络。”
以下是Samy kamkar演讲实录:
一些方法或无线电频段,蓝牙等有些东西不算无线电,有些是红外的,有些是声频的,音频的,还有超声波等等。这里稍微给大家讲一下我们如何识别出在一个设备内部,工程角度来讲它有什么东西安装,特别是上面没有标签的话,很多像沙盒之类的东西,我们根本不知道里面有什么,所以我们需要分享一个设备前需要了解里面有什么。这是逻辑分析引擎,里面有很多和芯片相连的针尖,里面有一些微控制器和其他设备,我们可以通过这种方式来识别。
我们看到有些无线电芯片,我们要去分析一下这些无线电芯片里有些数据是来自于新的芯片手册当中的内容,我们把所有跳频、获频的收发器列出来,看它到底影响分布是怎样的,我对它进行一个比较,假设这是一个无线电芯片,他们分析是哪一个芯片呢?我们可以在数据表格里铺开看里面具体有什么。我们做的时候可以做逻辑分析仪,现在有了数据表之后可以把它看到里面的无线电以及微控制器之间的通信,一般做到这些之后可以提取串行的通信,然后通过现在的一个网安系统。
我们还可以看到里面使用的频段、设备,你要知道里面的频段,如果你不知道可以从这个图上看到,这里有一些具体的信息,当然还有一些其他的虚拟设备通信的内部图片,或者所有的信息,都可以通过设备通过FCC网站上查询到,这些都是公开的信息。
我们可以看到它的频率调制模式,实际的频段是怎样的,信号是怎样的,有的设备我们在使用的时候和大家分享一点,就是我的演讲你要记住一点,我们软件定义的无线电它的能量何在,无论它是什么,就算是非常先进或者非常简单的,是非常强大的信息,有的时候可能会非常贵,有时候重放攻击当中我使用的设备是10—60左右赫兹在内,10—60左右的功能非常强大,我们可以进行简单的活动,并且还可以不需要波特率,调试和调节可以在20MHz之内做代码采集器,只有20美元,非常的简单。
解调是什么意思呢?所有的无线电除了数字之外进行调制,所以和你车一样的方式,这样的报告当中,也是FCC的报告,具体信息都在上面列了出来,你可以对它进行调制的扩展。所以,我们可以知道它使用的是哪个调制模式。这里我们可以肯清楚它不同的调试方案是什么样子的。如果你使用这样的方式可以知道它使用软件的情况,我们在30秒钟就可以把它打开,看一下这个设备的内部,看一下ROQ的内部,使用ASK还是DSK,采取那种方案,你可以知道这种STR方式,它是安全系统的一部分,我们可以把数据抽出来看到它的相关性,看到它的信号、带宽以及与实际的Bnell(音)进行对比。在我的车库里我也进行这样的测试,在我家里也使用同样的扩放方式。
还可以进行更好的计算,来理解它内部的系统,这样我们就可以更好地降低突破系统的时间,我们还进行Crash和其他系统的测试。我经常会用它来控制等的开关等等。比如我发现我的车库里有很多固定码的车库码,通常3分钟时间才能够把整个车库来进行突破。但我们可以降低整个keys base 8秒时间可以进入任何一个车库码,STR里面了解了编码之后就可以在车库内部进行开发,你也可以使用Big seft(音)接收器的方式,通过它也可以使用。
这是Mattle IM-ME,它也是有个芯片,我们使用CC1110,它也是强大的收发器,并且也是一个非常有用的工具,特别是我们使用手持的时候。而且也有非常好的编程设备。这是非常好的工具,可以让我做很多反向编程。
这是upside可以使用网络安装,使用Wi-Fi和车辆定位,可以实现开锁解锁和启动。检查之后可以看到我的手机和计算机、因特网进行互动。这实际上不是做验证的,我们可以进行通讯解析,攻击中间使得设备本身不用做早期的预警,可以使用它进行解码所有已经加密的路径,包括使用你的密码、用户名就可以,这样你可以使用车辆,非常容易地获得它的用户名和密码,就可以进入到这个车辆里面,对它进行远程的启动和解锁、上锁,非常得简单。我们也使用了非常低成本的东西,数媒态(音)和开源软件,还有SSL media以及其他设备结合来使用。
有很多教训,有很多车辆可以使用,比如奔驰、宝马、克莱斯勒等等,在这些平台车辆当中,我们依靠这些车辆进行驾驶,但用人工工具可以做非常多的事情,这个教训是,你你使用加密时要非常好地对它进行使用。我们今天听到很多关于恶意攻击,重点在于你进行密码加密时要做非常好的验证。
所以,我们可以做到的一点,我们可以干扰它,非常有意思的是它可以干扰,有非常多的情景应用,这样的应用过程中,我给大家展示了一下,在物联网安全当中以及车辆当中都可以使用。干扰是添加稍微一些频点进行发放,把你的车辆和频段稍微做一些偏移就可以了,这样让你的车辆没有办法读取到一些信息。比如我可以干扰你的频点,使得它在侵入时你的一些检测器它能够检测到我,就会回到基站说有人在干扰我,这样这个信号他就永远不会接收到了。
我可以在一个比较大的建筑里,你可以说好的,在左翼可能出现了一个人侵入,我可以去检测这个滚动代码,更换这个信息,启动报警地区,我可以侵入这个地区,因为我有他们的数据和信号。所有的信息系统和I/O设备不是用射频,而是用简单的办法,使用沟通的协议。
谢谢大家能够邀请我来参加此次的会议!