感谢看雪的邀请,去年团队在看雪峰会分享了数字硬件钱包的攻防。今年我自己在看雪峰会上分享了IoT设备和SE芯片方面的一些看法。
以下是峰会的速记内容。
-----------------------------------------------------------------------
2019 SDC 议题回顾 IoT中的SE芯片安全
潘少华:大家下午好!去年我们团队在这里分享了智能硬件钱包的破解,讲了固件的提取、分析、挖掘和发现。
今天和大家分享一下我们最近做的IoT中的安全问题,刚才主持人问大家有5件以上智能硬件的,我没想到这么多人举手。
这个题目也是给自己挖了个坑,3月份报题目时让我们讲讲智能家居、智能硬件的问题,直接讲锁太具体了,说讲讲SE芯片问题,但没想到把自己装进去了。为什么?我们今年测了前前后后100款智能云锁,最后发现能够在锁里接触到SE芯片的机会实在是太低了。
根据统计2025年750亿智能硬件终端,那么有多少在公网上,这的确是超乎想象了。在我们认知里,摄像头、路由器不应该都是隐蔽的,在公网上探测不到。但是根据ZoomEye结果发现,今年暴露的物联网设备就有超过6000万台。这两年基于物联网设备、智能终端的一些安全事件,像导致2016年美国断网的攻击是来自于很多物联网设备,包括上个月我们也刚跟腾讯一起新发现了利用台湾AVTECH摄像头漏洞的蠕虫网络。
这里很关键的问题是,这么多设备放在野外,有可能在家里,有可能在办公网络,有可能是室外部署的,它跟我们个人电脑、服务器不一样,服务器中病毒了我们可以很快定位找到问题。摄像头,不说别的问题,光说机站,运营商机站的地址跟我们实际找到东西根本不在同一个地方,无论是市政施工还是其他因素,甚至是登记时错了,有各种各样的的偏差。
去年CCTV4和中央2台连续报道两期智能家居问题,比如锁突然开了,窗帘被拉开了等等,有些近场通讯无线信号劫持,有些是APP漏洞。这是6月份的一个报道,通过这个案件发现,第一,物联网终端是不是我们厂商发出去的终端?里面的东西是不是跑我们的脚本?第二,物联网设备跟服务器通信时是不是连接的真正服务器,下载的固件是不是已经被动过手脚了?
尤其从DDoS的情况来看,跟10年前、8年前DDoS完全不一样,动不动就上百台设备组成僵尸网络,动不动就T。这里比较核心的一个问题是,身份认证和加密出了问题?因为很多时候通过漏洞攻击进去是源自身份鉴权方面的问题。
根据2016年的paper的分享,讲到IoT的攻击面,这里有嵌入式的,可能是硬件层的,也可能是网络层的、服务层的、第三方API的,里面最核心的问题是身份鉴权的问题。到具体的智能家居,比如门锁,以前锁是揣在自己兜里的,丢了之后我自己是知道的,虽然我知道有物理开锁,但现在随着我上网之后,我的锁连网了,谁还对我这个锁有管控权,这个问题就比较深了,智能门锁系统本质上是密钥管理系统,就涉及到密钥分发、涉及到双向认证、涉及到ID标识。除了锁之外,比如物联网的表,水表、电表都存在相似的wen体。比如嵌入式系统给我的密钥也本身容易被黑客攻击,那么接下来如何通过安全的技术手段来保证核心的信任根的安全?
今年12月1号物联网等保2.0将正式实施,其中一项是有关于物联网安全的扩展要求,里面提到等保三级一定实现可信计算,要有可信任根,要有安全硬件的保障。那要所有的电表、水表、上网设备都达到等保三级,相关的投入好像有点大。成本和功耗怎么平衡,用什么级别的可信计算?硬件方面是不是用了安全芯片就安全了?
安全元件一般简称SE(Secure Element),包含两部分,一个是硬件部分,一个是软件部分,硬件可以理解成单独的嵌入式电脑,它可能包含一个CPU等等在里面。最核心的,第一,要支持加密算法,比如一种是AES进行加密和解密的,第二就是身份认证,比如椭圆曲线用来非对称性加密。还有一个比较重要的事情,唯一的ID,包括随机数的生成。今天来了很多搞硬件的朋友、搞区块链的朋友,对随机数的重要性非常清楚。
从3月份到现在,我们测了100多个门锁相关的APP、30多个门锁实体,最后发现很郁闷的一个点是什么?我列出来的这30多个锁基本上没有SE芯片。在此基础上,这么多APP和门锁硬件,统计下来的数字平均高危漏洞数量有这么多个,有些洞比较多,拖后腿比较厉害,当然也有个别的APP做得相对比较安全的。最常见的是逻辑漏洞,可以充值任意用户的密码、使用任意手机后来注册,直接进入管理后台等等。还有一些通过固件进而分析它的协议、云服务接口。
我们发现绝大多数APP是明文传输的,只要把固件扒下来,甚至明文密钥都没有,就是直接明文通讯、直接是IP地址,这是大多数门锁的情况。少数进行了通信加密也基本是固定密钥,在通讯协议里。这种情况下如果是WiFi的锁,我只要劫持WiFI做解锁就非常容易。还有一些锁是NB网络,通过4G机站的方式把NB信号进行劫持,门锁本身的加密通信破解就根本不是问题了。这些门锁、水电表、煤气表,如果能够正确的使用SE芯片,就没有那么容易被中间人劫持、破解协议。
SE芯片本身的应用场景有很多种,其中通信密钥的安全加密存储就非常重要。实际上很多智能IoT设备用的最常见的是MCU,很多设备是基于MCU来存储固件和密钥。做好PCB和芯片层面的安全防护,防止固件被导出分析,防止内存被读取,也是一个办法。类似的PC上比较常见的是TPM,很多电脑上已经有这个芯片了。像TEE芯片更多在手机上应用比较多,TEE不仅是密钥加密存储,还有其他的授信和一部分可执行代码。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-7-29 19:52
被CCkicker编辑
,原因: