RAPID 7的方法包括确保测试仪技术人员在评估各种组件(硬件,移动,云API,网络)方面。其次,通过适当地划分进行彻底测试所需的时间,最后通过遵循实体测试方法。这神话Rapid7专注于以下方法和结构已被证明非常有效:
- 功能评估
- 设备的侦察
- 云集中测试
- 移动应用/控制系统的重点测试
- 以网络为中心的测试
- 体格检查
- 物理设备攻击
- 专注于无线电测试
其他问题
Trowell说,这些设备的固件通常是预装的,没有通过简单的接口来更新或配置设备的方法,以便提取固件来确认设备的安全性。虽然偶尔测试人员会幸运地找到一些完整的调试端口,或不安全的内存访问,但很多时候他们不会。很多时候,他们必须小心地清除环氧树脂斑点,或者通过计时的功率波动来重新激活被吹坏的电路。
“虽然这些挑战可以被视为物理安全特征,但它们不会大大提高设备的安全性。它们只是通过模糊作为物联网的一种有效策略来促进安全的信念。从最近通过物联网设备的攻击和僵尸网络来看,这种策略是无效的。”他说。
还需要考虑硬件。与正常的Web评估不同,测试仪必须考虑在安全评估中构成设备的芯片。IOT测试仪还必须确定芯片是否具有任何已知的缺点,例如无法禁用的调试端口或对时序或电压攻击的缺陷?是多个设备的敏感信息,如多个设备,如加密密钥?存储在电路板上的加密密钥在哪里?测试仪是否需要删除存储器芯片以提取数据或有允许访问的测试端口?存储设备是否加密?
“每个人都希望”聪明“的设备,很少的想法是在他们糟糕的时候付出的。这些设备在形成的信息泡沫上廉价且迅速推向市场。Trowell说,大多数当前的IOT设备没有通过安全性开发。““令人沮丧的大量这些设备都有预加载的默认密码可能不可改变,无法更新的固件,无法更新或修补,或者更糟糕的是将未指定的数据发送到未知位置。”
Sportsman提出了物联网笔测试的六阶段方法:
第一阶段 - 硬件分析
安全团队应该通过评估物理和硬件控制来开始分析,看看这些控制是否足以防止攻击者篡改平台的组件及其正常的执行流。
必须检查每个底层组件是否具有反向工程和颠覆功能。例如,提供“入口”的残余JTAG、SWD和USB接口对于与底层硬件交互通常很有用。规避强制信任和保护敏感数据的硬件模块的技术尤为重要。
第二阶段-固件和操作系统分析
重要的是要确定硬件和芯片制造商是否在固件和操作系统内完全实现了安全最佳实践。
为此,团队将测试设备固件的内置安全性及其更新分发过程,例如加密签署固件更新,并在硬件设备中使用身份验证功能来验证签名。在OS级别,团队应检查软件引导序列,代码执行,应用程序核心转储和数据机密性保护。作为此分析的一部分,安全工程师还需要检查内存以确保应用程序正确擦除敏感数据。
第三阶段 - 无线协议分析
应进行无线配置审查以验证用于本地设备通信的无线通信协议的安全性和配置,例如ZigBee,6LowPan和蓝牙LE。
安全审查首先确定设备角色、加密原语、加密密钥、身份验证和其他与安全相关的算法。在收集了各种安全组件的清单之后,对常见的攻击进行分析,如中间人、重播、未经授权的网络调试,然后(如果适用的话)对协议栈进行模糊测试。
第四阶段-移动应用程序
如果移动组件在范围内,就像物联网平台的典型情况一样,安全团队将需要测试几个关键元素:存储级和传输级数据保护控制、身份验证和授权、会话管理和数据验证。
这是团队将与之关注的作品:
•存储级别数据 - 正确使用本机API,如关键商店;避免危险客户端工件的不安全存储(例如:用户凭据,个人信息或其他敏感应用数据);并适当地擦除敏感数据。
•传输级数据-在移动应用程序和任何远程系统之间的通信中,与信息披露、篡改和欺骗相关的漏洞。
•认证/授权-实现认证协议、证书验证、密码策略执行和帐户锁定机制。它还应该检查数据访问控制、隔离(和最小特权原则)、混乱的副攻击和隐藏功能的可访问性。
•会话管理 - 面对断开连接时持久套接字的弹性。会话标识符的熵,长度,超时和旋转,以了解它们是否容易受到预设标识符,蛮力,会话固定等。
•数据验证 - 任何可由攻击者或恶意应用程序都可以利用的任何开放端口,接口,IPC通道或其他输入模式。外露接口应该是模糊测试的,以了解如何通过过滤,卫生和验证处理错误的输入。关键漏洞范围:XSS,SQLI,命令注入,错误的例外和内存损坏攻击(RCE或DOS)。
第五阶段- Web应用程序
Web应用程序测试从网络和操作系统开始,以确保底层平台已安全配置。
接下来,团队将转移到web应用程序层——这需要很大的关注,并且将包含大部分的参与。对于pen测试的这一部分,扮演多个角色是很重要的:首先,作为对web应用程序没有有效凭据的攻击者,其次,作为拥有有效凭据的用户。在后一种情况下,测试应该跨所有用户角色进行,以便全面检查应用程序的复杂授权控制。这应该测试用户在相同角色中访问另一个用户信息的能力,以及用户在更高角色中访问另一个用户信息的能力(垂直权限升级)。
阶段六 - 云服务和基础设施
应测试用于使用物联网,应用程序,设备和传感器的数据交换数据的所有后端平台,以查看攻击者是否能够获得未经授权的访问或检索敏感信息。这些包括任何外部云服务(Amazon EC2,Google CE,Azure VM)或API。
使用网络图、文档和云管理控制台访问来评估平台云部署的安全性。通过检查以下主要组件来评估安全架构和部署:关键安全架构设计假设、当前网络拓扑、现有安全技术的清单、安全策略、指导方针和过程、实例组策略、网络访问控制和网络分段、远程访问和虚拟专用网络,身份验证控制包括双因素身份验证和单点登录、数据存储加密和密钥管理、Docker和Rocket等容器化技术,以及日志和监控部署。