一、前言
在消费互联网时代,物联网本身的价值并没有被充分挖掘,随着5G时代的到来,物联网领域迎来了新的发展契机。5G通信技术定义了eMBB、uRLLC、mMTC三大应用场景,极大提升了物联网的通信能力和灵活性,为物联网的未来发展提供了良好的基础设施。
当前,我国正处于5G网络大规模商用准备阶段,各领域纷纷围绕智慧城市、智慧家居、智慧工厂、智慧医疗、智慧交通等领域,大力培育物联网应用生态,未来“5G+”模式将在各领域的数字化转型过程中扮演越来越重要的角色,并进一步催生新一轮科技变革和物联网产业变革。据统计,截至2020年底,我国蜂窝物联网连接设备达到11.36亿户,全年净增1.08亿户,蜂窝物联网连接数占移动网络连接总数的比重已达41.6%。我国蜂窝物联网连接设备中应用于智能制造、智慧交通、智慧公共事业的终端用户占比分别达18.5%、18.3%、22.1%。
随着物联网产业规模不断壮大,基于5G网络的新型物联网终端应用越来越多,更多的黑客组织将目标瞄准了各种新型的物联网终端设备,利用这些设备上存在的漏洞植入恶意程序,控制物联网设备发起DDOS攻击、窃取数据信息或造成业务瘫痪。物联网终端设备的安全问题已成为限制物联网业务广泛部署的一大障碍。分析物联网终端面临的安全风险,对提升物联网安全水平,促进物联网及其生态系统的健康发展有着重要意义。
梆梆安全作为国内专业的移动安全与物联网安全厂商,结合前期工作基础及自研IoT固件融合分析平台的统计数据,编制了此报告,旨在对2020年典型IoT终端面临的安全风险进行汇总分析,多维度呈现威胁态势,量化漏洞风险等级,为物联网相关企业建立健全面向IoT终端安全的检测、评估体系提供参考。
二、IoT行业概览
尽管Covid-19疫情还在持续,但物联网市场仍在不断增长。根据IoT Analytics的统计,2020年,IoT联网设备(如:智能网联汽车、智能家居设备、工业联网终端)的数量将首次超过非IoT联网设备(如:智能手机、笔记本电脑和台式机)。到2020年底,全球217亿个活动联网设备中,IoT联网设备将达到117亿(占比约54%)。到2025年,预计将有超过300亿的IoT连接,全球平均每人将近4台IoT设备。
此外,在Covid-19期间,据Zscaler的跟踪结果显示,企业IoT设备的使用量增加了1500%,带来一个新的安全问题:“Shadow IoT devices”——指未经授权而接入企业的设备。这些设备几乎没有安全措施,在这种情况下,影子IoT设备与企业网络的连接增加了攻击面,带来更大的安全隐患。这些IoT设备包括:数字机顶盒、IP摄像机、智能家居设备、智能电视、智能手表,甚至汽车多媒体系统。
Source:Zscaler, IoT in the enterprise 2020
随着各类功能丰富的智能设备逐渐融入大众的生活中,人与设备的联系更加紧密。IoT设备承载了越来越多的生产生活数据和个人隐私信息,其安全问题也逐渐得到重视。由于IoT设备海量异构的特性,其安全攻击带来的后果也更为多样和严重。例如,智能摄像头被攻击可能带来家庭或工作隐私的泄露,智能手表被攻击可能带来行动轨迹的泄露,智能网联汽车被入侵更是可能直接对人身安全造成严重威胁。
IoT终端安全问题加速增长
在物联网行业快速发展的背景下,物联网安全事件频发,全球物联网安全支出不断增加。据Gartner调查,近20%的企业或相关机构在过去三年内遭受了至少一次基于物联网的攻击。Gartner预测,为了防范安全威胁,2020年底全球物联网安全支出将达到24.57亿美元,其中,终端安全支出约5.41亿美元,网关安全支出约3.27亿美元,专业服务支出约15.89亿美元。
随着5G技术的普及,物联网应用场景变得越发庞杂,IoT设备碎片化、分布式趋势明显,安全需求、安全标准较难统一,且缺乏统一管控手段。再加上受限于IoT设备的成本低、算力有限等现实因素,目前的安全机制很难直接复用到IoT设备上,导致IoT设备自身防护能力较弱,易被利用安全漏洞开展入侵、攻击等行为。
同时,IoT设备固件普遍存在逻辑缺陷和安全漏洞,部分开发厂商为节约开发成本、提高开发效率,直接调用第三方组件,但并未关注引入组件是否存在安全隐患或者缺陷,导致固件中存在大量漏洞且未经修复,极易被攻击者利用。
三、IoT终端安全数据统计分析
梆梆安全利用IoT固件融合分析平台,对2020年市场上主流的IoT设备固件进行了自动化抓取与安全检测,并对其中版本较新的433款设备的安全检测结果进行了统计与分析。
1、IoT设备类型分布
我们的检测样本共计11大类,包括摄像头、路由器、电力智能终端、无人机、车机部件、手持PDA、机顶盒、智能交通、智能家居、可穿戴设备,分布比例如下:
检测样本按设备类型分布统计
随着技术的发展、产业的逐步成熟,智能摄像头作为身份认证和安防监控等场景的重要环节,在智慧城市、智能家居、汽车、无人机、AR 等领域已有广泛应用。而路由器的角色也逐渐演变为智能家居的联网中枢。联网与智能化越来越多地影响着我们的日常生活,也对安全提出了更高的要求。
2、安全风险分布
针对433个样本,固件融合分析平台共检出安全风险20065个,平均每款IoT设备存在46.34个安全风险。按风险漏洞从高到低排列的设备类型依次为:机顶盒、摄像头、路由器、手持PDA、无人机等。在数字化生活的浪潮中,我们身边的智能设备却频频爆出安全漏洞与被攻破事件,反映出厂商与大众的安全意识与安全防护手段的缺失。
安全风险按设备类型分布统计
1、高可利用性漏洞占比较大
通过固件融合分析平台,梆梆安全对IoT设备固件的基本信息、代码风险、敏感信息泄露、配置安全等层面进行了安全测试,检测出的安全风险TOP10按类型分布情况如下:
安全风险数量TOP10统计分布
据统计,占比较多的风险类型有CWE-457(使用未初始化变量)、CWE-676(不安全函数调用)、CWE-476(空指针引用)、CWE-467(sizeof()使用不当漏洞)、CWE-190(整数溢出缺陷)、CWE-215(调试信息泄露)等。这些安全风险有可能导致拒绝服务攻击、修改控制流、缓冲区溢出、崩溃重启、运行错误等安全威胁。
另外,在统计结果中,用户名密码泄露风险共发现89次,证书文件/密钥泄露风险共发现59次,可能导致用户信息泄露,或利用密钥对恶意软件进行签名,以此欺骗普通用户进行安装等安全隐患。
2、中风险漏洞数量最多
参考CVSS(Common Vulnerability Scoring System,通用漏洞评分系统),将安全风险划分为高、中、低三个等级,检测结果的风险等级分布情况如下:
风险漏洞按风险等级分布占比
在固件开发过程中,为了节约开发成本、提高开发效率,很多开发厂商会直接使用第三方库。几乎所有的软件中都含有第三方库,据Gartner统计,2018年软件使用第三方库的 代码量占到了总代码量的80%,自研代码比例越来越低。大部分固件开发厂商在引入第三方库时,并未关注引入组件是否存在安全隐患或者缺陷,默认软件安全应该由组件提供者保障,也就是供应链上游进行检测。但实际上,通过对一些著名开源工程进行分析发现,这些工程几乎完全不去做任何安全校验。
1、平均每款固件包含21.46个第三方库漏洞,版本普遍较陈旧
根据检测结果统计,平均每款固件中存在的第三方库漏洞数量约为21.46个。第三方库被调用次数和漏洞数量统计如下:
第三方库被调用次数占比统计
第三方库漏洞数量统计
在固件所调用的第三方库中,以调用次数排名前两位的库为例,BusyBox 是一个集成了300多个常用Linux命令和工具的软件,在嵌入式开发中较为常见。但由于一些固件开发厂商的配置疏忽或补丁更新不及时,导致IoT设备产生命令执行甚至代码执行的漏洞。
OpenSSL是OpenSSL团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库,支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。2014年,OpenSSL被爆出存在eartBleed漏洞,2020年,又分别出现CVE-2020-1971、CVE-2020-1968(浣熊攻击)、CVE-2020-1967等漏洞。
由此可见,第三方库漏洞带来的安全隐患不容小觑。
2、高危漏洞占比近40%
第三方库安全风险按高、中、低等级划分的分布图如下,高危和中危的比例已经超过了90%,第三方库造成的安全风险形势十分严峻。
第三方库漏洞风险等级分布
3、OpenSSL库潜在安全风险较多
漏洞数量最多的OpenSSL库,被调用35次,共发现安全漏洞1283个,分布在0.9.7、0.9.8、1.0.0、1.0.1、1.0.2五个版本中,大量固件调用了1.0.1版本。而这些版本的发布时间均较早,目前已停止维护和更新,而很多固件开发厂商缺乏安全漏洞补丁跟踪和版本更新等安全策略和安全管理机制,新发布的CVE漏洞将很难在这些老版本上得到修复,集成这些版本的固件面临的安全风险也更大。
IoT固件OpenSSL库调用情况和漏洞情况统计
4、Busybox被调用次数最多,安全风险依然不容忽视
调用次数最多的Busybox库,被调用126次,共发现安全漏洞348个,版本覆盖范围1.00-1.26.2共19个版本。与OpenSSL情况类似,各固件开发厂商集成的Busybox版本同样滞后,以集成次数最多的1.20.2版本为例,距最后一次针对性补丁发布已经过去9年;相对最新的1.26.2版本,最后一次补丁更新时间为2017年。
IoT固件Busybox库调用次数TOP10
四、固件检测评估有效应对攻击下移
由于物联网行业自身的碎片化和多样性,使得固件的获得及通用、高效、精准的自动化安全检测十分困难:一方面,大多数IoT设备开发厂商都是基于已有模块或开源代码进行二次开发或碎片代码适配,加上设计开发人员安全意识薄弱,导致出厂即存在各种各样的安全隐患;另一方面,IoT设备操作系统繁多,使用架构不一,固件格式更是千差万别。这些多样性与差异化都给自动化安全分析带来了挑战。