2019独角兽企业重金招聘Python工程师标准>>>
端对端生态系统方法论
在检查物联网技术时,人们会自然而然的只把那些嵌入式设备作为测试重点并针对这些设备得出一些检查方法,不过对于整个端对端生态系统来说,这其实是非常片面的理解。有效的评估方法应该要考虑整个物联网解决方案,或者是整个物联网产品生态系统。总而言之,对产品的安全测评的每一项均应放到整个物联网产品的生态系统中去考量。
物联网产品的生态系统主要包括四大方面:
1.嵌入式设备和相关传感器接收器、执行器之间的关系
2.移动应用程序和命令控制软件之间的关系
3.云API和相关联的网络服务之间的关系,云API是指开发者可以使用云应用编程接口编码,而这个接口具备一项云提供商的服务
4.所里用的网络通信协议:以太网络,802.11协议无线网,诸如Zigbee、Z-Wave、蓝牙等组件间通信
下图就是完整的物联网产品的生态系统图:
之所以要对整个物联网生态系统进行全方位的安全检查就是要确保所有相关的产品组件都是安全的,产品生态系统的任何组件出了故障,都有可能会影响整体的安全状态。例如,云API的安全性漏洞很容易导致嵌入式硬件在未经授权的情况下被黑客访问并控制,从而让用户使用的物联网产品比如冰箱、录像机等被恶意攻击。
所以下面,我们将从物联网产品生态系统的各个方面,来对物联网进行彻底的安全评估。
安全测试环境的设置
在对物联网产品生态系统进行测试时,我们会首先在正常的产品规格下设置和配置物联网产品的各种功能。不过为了让测试的效果更加明显,我们要设置两个独立的互联网产品的运行环境,这将更好地对测试攻击的危害性,例如黑客可以在两个独立的环境中实现跨用户和跨系统攻击,除此之外,两个独立的环境还可以用于比较各个产品的配置安全性。通过对各个产品功能的测试,我们可以更有效地测量出产品生态系统中的所有各个产品功能的安全特性,组件特性和通信路径,从而涵盖了端到端的所有产品生态系统。
相关物联网产品的相关信息
我们通过进行各种信息的搜索,尽量来找全测试产品的所有相关物联网信息,这些信息包括了有关产品组件,支持该产品运行的基础设施的信息,运行时所需要的支持软件以及组成该产品各种云功能的外部组件。
云端测试
物联网技术会使用各种网络服务进行远程控制,数据收集和产品管理。通常,网络服务和云API可能是物联网产品生态系统中最薄弱的环节。云API是指开发者可以使用云应用编程接口编码,而这个接口具备一项云提供商的服务。但是同时对于云应用也是危险的,因为API也具备受攻击的一面,可能危害敏感业务数据。这意味着提供商和软件开发者需要按优先次序确定云API的安全。
所以为了云端的验证安全性,我们会对云服务与产品生态系统中的所有组件之间的功能和通信进行测试,从而对相关云服务进行一个非常全面的安全评估。这样我们就能够验证产品的整体安全状态,并确定哪些安全问题是由云端引起的以及对组件之间的安全会产生哪些影响。另外,在进行云端测试时,我们还使用了OWASP TOP10进行了重点测试。
译者注:开源web应用安全项目(OWASP)是一个开放的社区组织。专注于讨论应用程序,代码开发的威胁讨论,Top 10项目的目标是通过找出企业组织所面临的最严重的十大风险来提高人们对应用程序安全的关注度。
移动应用或控制系统测试
通常,物联网技术通常利用各种形式的远程控制服务,例如移动应用(android,iOS)技术来远程管理和控制物联网。在这个测试过程中,我们对用于管理物联网产品的移动和远程应用进行了深入的测试和分析。和云测试一样,我们测试了移动应用程序与产品生态系统中所有组件之间的所有功能和通信关系,以验证产品的整体安全状态。另外,在进行移动应用测试时,我们还使用了OWASP TOP10进行了重点测试。
以网络为中心的测试
物联网技术通常通过诸如以太网和WiFi等标准网络通信路径来连接各种服务,虽然这样很方便但同时也产生了许多风险。在这个测试阶段,我们将识别物联网生态系统基础设施中的所有与产品连接的TCP和UDP端口。通过这些端口,我们可以进行彻底的渗透测试,以确定哪些是易受攻击或配置错误的服务,而黑客往往就是利用这些服务漏洞来破坏物联网系统并获取访问的关键信息。
物联网设备本身的检查
我们还对物联网设备本身进行了检查以对物理攻击层面的安全性进行评估,此检查还包括检查JTAG接口和串行接口的设备,以及用于各个组件的电源设备,数据和控制的引脚。虽然每个设备都具有不同的组件或配置,但是一些常见的攻击向量却是相同的,比如:
1.外部USB接口
2.外部通道访问
3.位置和存储介质
4.调试控制台访问的可用性
5.拆卸设备所需的工作
6.基于对设备的简单物理访问的危害
7.基于扩展物理访问设备的危害
8.连接介质(无线,有线,蓝牙等)的危害
对物理设备的攻击性安全测试
对设备的物理检查是进行高效物理攻击的关键。如上所述,在对物理设备的各个组件进行检查后,我们就可以开始进行物理攻击测试了。虽然攻击媒介可能有所不同,但遵循手段和方法却是相同的:
1.通过可用端口的攻击
2.禁用设备保护,如引导加载程序限制或受限的BIOS
3.访问并修改设备的配置
4.偷取用户在使用云服务时的访问凭证
5.访问一些只有用户才有资格访问的固件
6.通过访问后台或运行日志,在设备与云组件进行通信时,进行操作监控
对基于Radio无线通信的安全进行检测
目前大多数物联网设备还在使用基于Radio的无线通信,对于通信的方法进行安全测试也是我们进行安全评估的一个重点。为了实现这一点,我们会对无线电通信进行专门的测试和分析,以确定通信是否符合预期的加密保护:
1.组件配对过程不能被篡改
2.不能允许未经授权的访问或控制。
3.不能让黑客可以轻松地用于映射底层命令和控制流量
4.不容易受到重播攻击
如果你是一位对物联网安全特别关系的读者,希望读完本文后,让你有一个全新的物联网保护概念和思维。