物联网安全要点
IoT 安全事故一直都是此起彼伏,究其原因,黑客利用的仍然是Web开发时代的那些经典漏洞。但物联网有四大特点:24小时联网、安全防护脆弱、Botnet(对应于中文名词“僵尸网络”)攻击成本低、安全责任归属难以厘清,成为黑客喜闻乐见的好目标。接下来我们先回顾几起重大案件。
1 物联网安全事故
1.1 Mirai 僵尸网络
Mirai 是由 Paras Jha,Josiah White和Dalton Norman 三名美国年轻人(当时才20到21岁)创建的,这是一种针对运行 Linux 操作系统的智能设备和网络设备的恶意软件。最初设计目标是物联网设备,如路由器,数字视频录像机和IP摄像机,攻击成功后就变身为“僵尸”,变成一群可以对其他网站或网络基础设施发起攻击的数字机器人大军。
Mirai横扫天下
自2016年9月 Jha 在黑客论坛上发布 Mirai 的源代码之后,从那时起,其他不法分子已经习惯以该代码为起点创建大量僵尸网络,其中大多数的复杂程度是一样的,无非偶尔添加新的和更复杂的攻击工具,掳获更多种类的物联网产品。如2019年1月发现新的 Mirai 版本也能扫描和利用企业环境中的LG智能电视和WePresent 无线演示系统。
Mirai 的横空出世表明 DDoS 攻击活动出现了新的转折点:IoT僵尸网络已经成为此类攻击的主力军。据安全人士测量,2016年11月的巅峰时期,Mirai 控制了超过60万个存在漏洞的IoT设备。
所以有安全人士建议物联网生产商应改变生产完产品之后就万事大吉的做法,而是改变商业模式,采用订阅制模式,持续提供服务,肩负起产品安全防护责任。从业者也应避免采购大量生产却无后续维护的物联网产品,防备其成为 Botnet 下手的好目标。
2016年9月20日,Mirai针对欧洲最大的托管服务商之一法国OVH公司的攻击,突破了DDoS攻击记录,其攻击量达到1.1Tpbs,最大达到1.5Tpbs,由145,000个IoT设备共同发起。OVH创始人称这些攻击针对的是 Minecraft(中文名为“我的世界”的沙盒建造游戏)服务器。
2016年10月21日,Botnet 大军攻击美国一家名为 Dyn 的网络基础设施公司,致使美国很多主流互联网公司的网站瘫痪,其中包括Github、Twitter、Netflix、Reddit、PayPal。浅黑科技的史中用富有诗情画意的语言描述了这次美国大断网事件:
这是一个漫长的白天,攻击的潮水先后三次来袭,每次都持续一个小时左右。网络服务时断时续,美国东海岸陷入了9·11之后最大的“互联网恐怖袭击”中。这显然是一次灾难,因为整个美国在这种攻击面前像个婴儿一样毫无还手之力。
直到一切尘埃落定,人们才知道,这次野蛮的攻击,来自于世界各地的网络摄像头和路由器。是的,你没看错,就是那些坐在你客厅桌子上的那些看上去“人畜无害”的小东西。它们本来静悄悄地躺在主人家里,只通过一根网线和外界相连。然而正是这根小小的网线,却成为了黑客控制木偶的那根“提线”。
一个神秘的病毒,顺着通过网线钻进无数家庭的大门,入侵了数以百计的摄像头。在主人眼里这些硬件并无异样。然而,它们的指示灯却仿佛变成了红色的眼睛,如被感染的僵尸一样,在赛博世界调转枪头,疯狂地向互联网吐出新的病毒。
就这样,地球上数十万的硬件设备,组成了硕大无朋的“僵尸网络”。这个僵尸网络,像一群食人蚁,他们发出的垃圾访问整齐划一,在网络世界左右奔流,所到之处必定网络瘫痪、寸草不生。
史中,浅黑科技《黑客的滑铁卢——美国大断网全纪实》
Mirai Botnet
据OVH以及Dyn的报告,这些攻击的流量峰值都超过了1Tbps,这是已知攻击中规模最大的攻击流量。最引人注目的在于这些流量由家用路由器、空气质量检测仪以及个人监控摄像头等小型IoT设备发起。
FBI和全球安全研究者还没有找到元凶,但是剧情仍在延续,仅仅一个月之后,新的恐慌已经来袭——病毒的变种四处开花。2016年11月28日,德国电信 Telekom 路由器遭到大规模入侵,德国境内2000万台路由器被入侵,而在入侵的过程中,有90万台在感染过程中就直接崩溃。这场攻击几乎波及了所有德国人,引起了巨大的恐慌。与此同时,世界各地都产生了无数 Mirai 新的变种,像僵尸一样扩散着。直到2017年5月 FBI 才找到并指控了那三个年轻人。
德国总共有8000万人口,4000万个家庭。就在那次袭击中,德国电信(Telekom)旗下2000万台家庭路由器遭到黑客攻击,其中很多被黑客控制,90万台服务器直接宕机,互联网的光芒像被榴弹击碎的灯火,在这些家庭的窗口黯然熄灭。
暗夜里,德国沉入大西洋。
屠杀持续了三天。情状之惨烈,堪比1939年纳粹德国闪击波兰,只不过这次历史调皮地调换了主角。
“路由器激战”的这三天时间里,双方打得昏天黑地,用户想正常上网简直就是痴人说梦。德国电信只得宣布,因故不能上宽带网的家庭,可以免费获得一张4G网卡免费券,临时用手机网络“续命”。
史中,浅黑科技《黑客的滑铁卢——德国陷落全纪实》
Mirai工作原理
从核心功能上来看,Mirai是一 款能自我传播的蠕虫,也就是说,它是一款恶意程序,通过发现、攻击并感染存在漏洞的IoT设备实现自我复制。Mirai也是一种僵尸网络,因为它会通过一组中央命令控制(command andcontrol,C&C)服务器来控制被感染的设备。这些服务器会告诉已感染设备下一步要攻击哪些站点。总体而言,Mirai由两个核心组件所构成:复制模块以及攻击模块。
Mirai的复制模块
Mirai复制模块的原理图
复制模块负责扩大僵尸网络规模,尽可能多地感染存在漏洞的IoT设备。该模块通过(随机)扫描整个互联网来寻找可用的目标并发起攻击。一旦搞定某个存在漏洞的设备,该模块会向C&C服务器报告这款设备,以便使用最新的Mirai版本来感染该设备,如上图所示。
为了感染目标设备,最初版本的Mirai使用的是一组固定的默认登录名及密码组合凭据,其中包含64个凭据组合,这些凭据是IoT设备的常用凭据。虽然这种攻击方式比较低级,但事实证明该方法效率极高,Mirai通过这种方法搞定了超过60万个设备。
仅凭64个众所周知的默认登录名及密码,Mirai就能够感染600,000个IoT设备。
攻击模块
C&C服务器负责指定攻击目标,而攻击模块负责向这些目标发起DDoS攻击,如下图所示。该模块实现了大部分DDoS技术,比如UDP泛洪(UDPflood)攻击、HTTP泛洪攻击,以及所有的TCP泛洪攻击技术。Mirai具备多种模式的攻击方法,使其能够发起容量耗尽攻击(volumetricattack)、应用层攻击(application-layer attack)以及TCP状态表耗尽攻击(TCP state-exhaustion attack)。
Mirai攻击模块的原理图
通过分析Mirai源码发现了如下技术特点:
1)由中心服务器C&C实施感染(这个服务被称为Load),而非僵尸自己实施感染。
2)Josiah White写了一个精妙的扫描器,采用高级SYN扫描,可以一次发出成千上万的 SYN 包,扫描速度提升成百上千倍,大大提高了感染速度。
3)强制清除其他主流的IoT僵尸程序,干掉竞争对手,独占资源。比如清除QBOT、Zollard、Remaiten Bot、anime Bot以及其他僵尸。
4)一旦通过Telnet服务进入,便强制关闭Telnet服务,以及其他入口(如SSH的22端口,Web的80端口),并且占用服务端口防止这些服务复活。
5)过滤掉通用电气公司、惠普公司、美国国家邮政局、国防部等大型公司和组织机构的IP,避免招来麻烦。
6)独特的GRE协议洪水攻击,加大了攻击力度。
7)由于Mirai无法将自身写入到IoT设备固件中,只能存在于内存中。所以一旦设备重启,Mirai的bot程序就会消失。为了防止设备重启,Mirai向看门狗发送控制码 0x80045704 来禁用看门狗功能。这是因为,在嵌入式设备中,固件会实现一种叫看门狗的功能,有一个进程会不断地向看门狗进程发送一个字节数据,这个过程叫喂狗。如果喂狗过程结束,那么设备就会重启,因此为了防止设备重启,Mirai关闭了看门狗功能。这种技术常常被广泛应用于嵌入式设备的攻击中,比如曾经的海康威视漏洞(CVE-2014-4880)攻击代码中就采用过这种防重启技术。
小结
Mirai僵尸网络的感染对象已经从网络摄像头、路由器、家居安防系统,扩展到了智能电视、智能穿戴设备,甚至是婴儿监视器,任何有互联网连接的IoT设备都可能成为潜在的目标,而一般用户很难注意到设备已被感染。由于所有的密码均固化在IoT设备固件中,因此即便重启后Mirai从内存中消失,也无法杜绝二次感染。建议开发者通过端口扫描工具探测一下自己的设备,是否开启了SSH,Telnet,HTTP/HTTPS服务,条件允许的话请禁用SSH和Telnet服务。
1.2 海康威视设备安全事件
2015年2月27日中午,江苏省公安厅发布特急通知《关于立即对全省海康威视监控设备进行全面清查和安全加固的通知》称,接省互联网应急中心通报,江苏省各级公安机关使用的杭州海康威视数字技术股份有限公司监控设备存在严重安全隐患,部分设备已经被境外IP地址控制,所以要求各地组织力量,对使用的海康威视设备进行全面清查,并开展安全加固,消除安全漏洞。
随后,海康威视官方发布《海康威视针对“设备安全”的说明》,称江苏省互联网应急中心通过网络流量监控发现部分在互联网上的海康威视设备因弱口令(弱口令包括使用产品初始密码或其他简单密码,如123456、888888、admin等)问题被黑客攻击,将组织专项应急技术团队,帮助各地市进行产品口令修改和固件升级工作。
3月2日,海康威视面向投资者召开了信息披露电话会议,其总经理称:“其他厂家我们不清楚。海康主动披露了两个缺陷,第一个是弱密钥问题,修改密码就可以解决;第二个是12月5日我们披露了可能存在的安全隐患RTSP(实时流传输协议)。现在公司产品的安全漏洞和安全隐患,可以通过改密码,系统升级来解决。”这次之所以引发江苏公安厅科技信息处发文,是因为有一小部分监控设备并非普通家用,而是公安系统自用的监控设备,它们也遭到境外IP地址控制。海康威视调查后发现,来自公安系统的监控设备很可能因为使用了互联网宽带服务进行城市治安监控而暴露于黑客攻击范围中。
1.3 Ripple20事件
2020年6月16日(上个月的事儿!),以色列网络安全公司JSOF公布,研究人员在Treck,Inc.开发的TCP/IP软件库中发现了19个0day漏洞,这一系列漏洞统称为“Ripple20”。全球数亿台(甚至更多)IoT设备可能会受到远程攻击。
研究人员表示,他们将这19个漏洞命名为“Ripple20”并不是说发现了20个漏洞,而是因为这些漏洞将在2020年及以后的IoT市场中连锁引发安全风暴。更糟糕的是,研究人员指出,目前发现的19个“Ripple20”零日漏洞可能只是冰山一角,而且攻击者的恶意代码可能会在嵌入式设备中潜伏多年。
JSOF对Ripple20的安全通告
漏洞详情
漏洞存在于一个90年代设计的软件库里——物联网开发商广泛使用的,由一家总部位于辛辛那提的软件公司Treck在1997年开发的TCP/IP软件库,它实现了轻量级的TCP/IP堆栈。在过去的20多年间,该软件库已经被广泛使用并集成到无数企业和个人消费者设备中。
JSOF研究实验室的研究人员称, 受影响的硬件几乎无所不在,包括从联网打印机到医用输液泵和工业控制设备的海量设备。
这19个漏洞都是内存损坏问题,源于使用不同协议(包括IPv4,ICMPv4,IPv6,IPv6OverIPv4,TCP,UDP,ARP,DHCP,DNS或以太网链路层)在网络上发送的数据包的处理错误。
潜在风险
仍在使用设备时,Ripple20构成重大风险。潜在的风险场景包括:
如果面向互联网,则来自网络外部的攻击者将控制网络中的设备;已经设法渗透到网络的攻击者可以使用库漏洞来针对网络中的特定设备;攻击者可以广播能够同时接管网络中所有受影响设备的攻击;攻击者可能利用受影响的设备隐藏在内网中;复杂的攻击者可能会从网络边界外部对网络内的设备进行攻击,从而绕过任何NAT配置。这可以通过执行MITM攻击或dns缓存中毒来完成;在某些情况下,攻击者可能能够通过响应离开网络边界的数据包,绕过NAT,从网络外部执行攻击;在所有情况下,攻击者都可以远程控制目标设备,而无需用户干预。
Treck于2020年6月22日已经发布了补丁,供OEM使用最新的Treck堆栈版本(6.0.1.67或更高版本)。现在的主要挑战是如何让全球如此多的企业尽快修复漏洞,尤其是很多IoT设备无法安装补丁程序。针对此重大风险,IoT设备开发者应当迅速行动起来。
安卓设备不用担心。主要是RTOS。嵌入式产品是重灾区。
1.4 其他智能设备漏洞事件
儿童智能手表
由于终端与云端通讯时的Web API存在经典漏洞,所以安全公司曝光全球范围内很多儿童智能手表供应商普遍存在安全防护问题,包括中国、德国、挪威等供应商,估计至少有 4700 万甚至更多数量的终端设备可能受此影响。
安全公司发现,其中一家厂商的产品(包括贴牌生产的)与云平台通讯的时候,所有的通讯请求均为未加密的明文JSONAjax(一种轻量级的数据交换格式)请求,传输信息附带指定的 ID 号和默认密码 123456,对调用的合法性也没有做动态校验,给黑客控制儿童智能手表提供了机会。
2018 年 5 月,深圳市消委会曾牵头编制发布《深圳市儿童智能手表标准化技术文件》,试图从产业链层面解决行业无标准、无监管以及山寨杂牌横行的乱象,文件里概括性提到了在终端、客户端、安全管理平台、数据传输等层面的信息安全要求。
电动踏板车
小米M365电动踏板车可以通过蓝牙与手机APP完成交互,蓝牙通信使用密码加密,以确保远程交互的安全性,但是安全人员发现,在交互认证过程中,该密码并没有被正确的使用。Zimperium zLabs的研究员Rani Idan 在报告中称,“我们确定密码没有被正确地用作滑板车的认证过程的一部分,并且所有命令都可以在没有密码的情况下执行,密码仅在应用程序端验证,但车本身不验证身份。” 于是安全人员开发了一个专门的验证应用程序,可以扫描附近的小米M365踏板车,并使用踏板车的防盗功能锁定它们,无需密码认证。
2 物联网脆弱之处
如前所述,为什么IoT设备会如此容易受到攻击呢?大致总结四点:
一)设备本身并不集成安全机制。不像手机、笔记本、台式机,IoT的操作系统基本上没有什么防护能力。原因就在于设备集成安全机制的成本太高,还会减缓开发流程,有时候甚至会影响设备性能,如运行速度和容量。
二)设备直接暴露在互联网公网中,同时还可以作为内网的一个中转点,给不法之徒开了后门。
三)设备中含有基于通用的、Linux驱动的硬件和软件开发过程中留下的非必要的功能。设备应用引用的公共类库,可能年代久远、漏洞满身。存在漏洞的软件库不仅由设备供应商直接使用,还集成到大量其他软件套件中,这意味着许多公司甚至都不知道他们正在使用存在漏洞的代码。
四)默认的身份信息是硬编码的。这意味着插入设备就可以运行,而不会创建唯一的用户名和密码。甚至根证书、密钥等机密信息也都以文本文件的形式烧入固件之中。
3 我们的防范措施
措施主要分为三类:管理、硬件、软件。
管理方面的防范措施:
从项目立项、配送、绑定、激活,到正式投入使用以及后期的回收、报废,都是基于一套完整的中台系统,方便跟踪设备流转的整个链条,确保设备流转安全。通过监控设备坐标位置、定期自动排查偏离校区的设备,确保设备应用在校园封闭式环境中。按餐饮中心维度监控设备上的流量、网络请求、应用安装等情况,可以排查恶意使用行为和异常流量。对设备的运行情况、流量、异常信息、软硬件使用情况监控汇报,实时分析和度量设备的健康度。
硬件及存储方面:
采用安全级处理器,具备加密引擎、SecureBoot、TrustZone。采用业界领先的3D结构光摄像头,可实现金融级安全,确保支付安全。接口安全:①调试串口隐藏不外露,且默认禁用;②I2C/SPI/MIPI等总线接口隐藏,在PCB内层;③JTAG/SWD接口隐藏不外露,且默认禁用;④USB/UART或者其他编程接口关闭。设备具有唯一的识别号(设备SN号),便于个性化安全管控。
系统及接口方面:
基于安卓系统定制安全系统,用自定义的签名文件作为系统签名。系统禁用root权限,关闭开发者模式。关闭了 ADB 服务接口、USB 调试接口、WIFI 等接口。开启 SE 安全模式,尝试TEE运行安全区,防止没有启用 SeLinux 使得设备陷入远程代码执行、远程信息泄露、远程拒绝服务等危险之中。SeLinux 是 Security Enhanced Linux 的缩写。TEE 是 Trusted ExecutionEnvironment 的缩写。启用SECURE BOOT,并校验uboot、boot、system分区。防止被黑客刷入恶意篡改的固件或分区镜像,植入木马从而被远程控制。固件支持远程OTA,且OTA有加密加签的安全校验机制,确保升级过程的安全性。系统内置自定义的安全桌面,屏蔽第三方恶意应用安装,杜绝软件风险。需要凭“设备授权码”才能修改系统配置,包括修改网络配置等。
软件方面:
自主授权和签名方式,有效防止非法第三方应用安装所带来的风险。应用关键信息so库化,防止反编译带来关键信息泄露的风险。应用目录权限严格遵守安卓系统规范。应用通信基于HTTPS(HTTP通讯模式下),和MQTT+TLS 1.3(物联网通讯模式下)。
4 本章小结
本章主要介绍了IoT设备近期发生的几起危害遍及全球的大案,从中我们可以发现IoT设备安全性薄弱之处,从而可以有针对性地在设备管理、硬件和存储、系统和软件这三个层面上做出防范措施和规范流程。
责任编辑:pj
评论
查看更多