威胁建模
威胁建模是利用软件、系统或威胁模型在开发软件或者系统的早期及时发现安全问题以及理解安全需求,并根据这些安全问题制定缓解、清除措施。
威胁建模可以尽早考虑安全需求和安全设计,保证产品架构、功能设计的安全,减少出现常见的安全漏洞以及不必要的重构系统。
威胁建模可以分成四步完成:系统建模-->发现威胁-->解决威胁-->验证
STRIDE
STRIDE是由微软提出的威胁建模方法,也是目前常用的威胁建模方法。它由假冒(Spoofing)、篡改(Tampering)、否认(Repudiation)、信息暴露(Information Disclosure)、拒绝服务(Denial of Service)、权限提升(Elevation of Privilege)6部分组成。
尝试IoT系统威胁建模
构建系统模型
利用微软开发的威胁建模工具构建IoT系统,我们假定整个系统包括四个部分IoT设备域、移动终端、Web端和云端。首先在建模工具中画好四个部分,然后绘制数据流,如下图所示。
发现和解决威胁
画好系统模型后,进入威胁建模工具的威胁分析模式,工具会自动分析出潜在的威胁。
设备域
Request
- 权限提升
- 威胁:攻击者可能会通过管理端口或者特权服务进入系统
消减措施:使用强凭据保护设备和所有公开的管理界面,以及Wi-Fi、SSH、文件共享、FTP等。
威胁:攻击者可能会利用IoT设备上未使用的功能,比如登陆界面,USB端口消减措施:只启用必要的服务
威胁:攻击者可能追踪域网关未身份认证的命令
消减措施:域网关应该进行对不同命令进行权限检查信息泄漏威胁:攻击者可能窃听设备与域网关之间的通信
消减措施:使用SSL/TLS保护HTTP/AMQP或MQTT协议。否认威胁:攻击者可能在域网关执行欺骗、未验证权限等。
消减措施:需要必要的审核和日志记录:设备标识操作、设备到云的通信、云到设备的通信、连接、文件上传假冒威胁:攻击者可能利用默认登录凭证获取权限
消减措施:确保在安装期间更改域网关的默认登录凭据
威胁:攻击者可能利用其他设备替换域中的IoT设备
消减措施:确保对连接到网关的设备进行身份验证
威胁:攻击者可能复用一个IoT设备的认证token到其它设备中
消减措施:为每个设备建立不同的身份验证凭证
威胁:攻击者可能欺骗一个设备并连接到域网关
消减措施:对连接的设备进行身份验证篡改威胁:攻击者可能利用设备中未修补的漏洞
消减措施:确保连接的设备固件是最新的
威胁:攻击者可能篡改IoT设备并从中提取加密密钥
消减措施:对称密钥或证书私钥存储在受保护的存储介质(如TPM或智能卡芯片)中
威胁:攻击者可能执行未知的恶意代码
消减措施:确保未知的代码无法在设备中执行
威胁:攻击者可能篡改设备的操作系统并进行离线攻击
消减措施:加密设备OS和其他分区
Response
- 权限提升
- 威胁:攻击者可能会通过管理端口或者特权服务进入系统
消减措施:使用强凭据保护设备和所有公开的管理界面,以及Wi-Fi、SSH、文件共享、FTP等。
威胁:攻击者可能追踪域网关未身份认证的命令
消减措施:域网关应该进行对不同命令进行权限检查
威胁:攻击者可能会利用IoT设备上未使用的功能,比如登陆界面,USB端口消减措施:只启用必要的服务
- 篡改
- 威胁:攻击者可能利用设备中未修补的漏洞
消减措施:确保连接的设备固件是最新的
威胁:攻击者可能篡改IoT设备并从中提取加密密钥
消减措施:对称密钥或证书私钥存储在受保护的存储介质(如TPM或智能卡芯片)中
威胁:攻击者可能试图拦截发送到IoT设备的加密流量
消减措施:使用证书验证SSL、TLS和DTLS连接
威胁:攻击者可能执行未知的恶意代码
消减措施:确保未知的代码无法在设备中执行
威胁:攻击者可能篡改设备的操作系统并进行离线攻击
消减措施:加密设备OS和其他分区
设备域与云域
Request
- 权限提升
- 威胁:攻击者可能会在云上获取更高权限
消减措施:使用只有最低特权的令牌连接云
威胁:攻击者可能会通过管理端口或者特权服务未经授权进入系统消减措施:使用强凭据保护设备和所有公开的管理界面,以及Wi-Fi、SSH、文件共享、FTP等。
威胁:攻击者可能会利用IoT设备上未使用的功能,比如登陆界面,USB端口消减措施:只启用必要的服务
- 信息泄漏
- 威胁:攻击者可能窃听设备与云网关之间的通信
消减措施:使用SSL/TLS保护HTTP/AMQP或MQTT协议。
- 否认
- 威胁:攻击者可能在云网关执行欺骗、未验证权限等。
消减措施:需要必要的审核和日志记录:设备标识操作、设备到云的通信、云到设备的通信、连接、文件上传
- 假冒
- 威胁:攻击者可能利用其他设备替换域中的IoT设备
消减措施:确保对连接到云网关的设备进行身份验证
威胁:攻击者可能复用一个IoT设备的认证令牌到其它设备中
消减措施:为每个设备建立不同的身份验证凭证
威胁:攻击者可能为IoT Hub自动生成有效的认证令牌
消减措施:生成足够长度的随机对称密钥用于向 IoT 中心进行身份验证
威胁:攻击者可能盗取令牌获得IoT Hub权限
消减措施:为生成的认证令牌设置生命周期
- 篡改
- 威胁:攻击者可能利用设备中未修补的漏洞
消减措施:确保连接的设备固件是最新的
威胁:攻击者可能篡改IoT设备并从中提取加密密钥
消减措施:对称密钥或证书私钥存储在受保护的存储介质(如TPM或智能卡芯片)中
威胁:攻击者可能未经授权访问IoT设备并篡改设备的操作系统
消减措施:加密设备OS和其他分区
Response
- 权限提升
- 威胁:攻击者可能会触发设备域上没认证的命令
消减措施:在域网关上进行权限检查
- 否认
- 威胁:由于缺少审计攻击者可能会在设备域拒绝操作
消减措施:开启审计和日志记录
- 假冒
- 威胁:攻击者可能利用默认登录凭证获取权限
消减措施:确保在安装期间更改域网关的默认登录凭据
- 篡改
- 威胁:攻击者可能尝试拦截发送到设备域网关的加密流量
消减措施:使用证书验证SSL、TLS和DTLS连接
威胁:攻击者可能执行未知的恶意代码
消减措施:确保未知的代码无法在设备中执行
云域
Request
- 权限提升
- 威胁:攻击者可能会非法访问数据库
消减措施:为数据库配置防火墙
威胁:由于宽松的授权规则攻击者可能未经授权访问数据库消减措施:确保使用最低特权账户连接数据库服务器
- 信息泄漏
- 威胁:攻击者可以访问数据库的敏感数据
消减措施:使用强加密算法加密敏感数据
威胁:攻击者可以通过SQL注入访问敏感数据
消减措施:开启登录服务器审核,检测密码猜测攻击
- 否认
- 威胁:由于缺少审核可以让数据库拒绝操作
消减措施:确保在 SQL Server 中启用登录审核
- 篡改
- 威胁:攻击者可以篡改数据库安全设置
消减措施:将数字签名添加到关键的数据库安全对象
威胁:攻击者可能会利用缺乏监控系统来触发数据库异常流量
消减措施:启用监控系统Response
- 否认
- 威胁:由于缺少审核可以让云网关拒绝操作
消减措施:确保在云网关中启用登录审核
设备域与移动设备
Request
- 权限提升
- 威胁:攻击者可能会通过root获取移动设备更高特权
消减措施:root检测
- 信息泄漏
- 威胁:攻击者可以通过嗅探移动客户端的流量来访问敏感数据
消减措施:证书绑定
威胁:攻击者可以通过移动设备来访问敏感数据
消减措施:加密敏感数据
- 否认
- 威胁:由于缺少审计攻击者可以拒绝域网关命令
消减措施:在域网关上实施审计和日志记录
- 假冒
- 威胁:攻击者可能利用默认登录凭证获取域网关权限
消减措施:确保安装过程中修改默认密码
- 篡改
- 威胁:攻击者可能在IoT域网管执行未知代码
消减措施:确保未知代码在设备上不能执行
威胁:攻击者可以逆向和篡改二进制文件
消减措施:分发到终端用户之前对二进制代码进行混淆
Response
- 权限提升
- 威胁:攻击者可能会通过管理端口或者特权服务进入系统
消减措施:使用强凭据保护设备和所有公开的管理界面,以及Wi-Fi、SSH、文件共享、FTP等
威胁:攻击者可能会在移动客户端利用未使用的功能和服务消减措施:确保只开启最少的服务和特征
- 篡改
- 威胁:攻击者可能利用设备中未修补的漏洞
消减措施:确保连接的设备固件是最新的
威胁:攻击者可能篡改IoT设备并从中提取加密密钥
消减措施:对称密钥或证书私钥存储在受保护的存储介质(如TPM或智能卡芯片)中
威胁:攻击者可能未经授权访问IoT设备并篡改设备的操作系统
消减措施:加密设备OS和其他分区
云域与移动设备
- 权限提升
- 威胁:攻击者可能会通过root获取移动设备更高特权
消减措施:root检测
- 信息泄漏
- 威胁:攻击者可以通过嗅探移动客户端的流量来访问敏感数据
消减措施:证书绑定
威胁:攻击者可以通过移动设备来访问敏感数据
消减措施:加密敏感数据
- 否认
- 威胁:由于缺少审计攻击者可以拒绝云网关命令
消减措施:在域网关上实施审计和日志记录
- 篡改
- 威胁:攻击者可以逆向和篡改二进制文件
消减措施:分发到终端用户之前对二进制代码进行混淆
云域与Web应用
Request
- 否认
- 威胁:由于缺少审计攻击者可以拒绝云网关命令
消减措施:在域网关上实施审计和日志记录Response
- 信息泄漏
- 威胁:攻击者可以猜测出弱加密或者哈希明文
消减措施:不要在错误消息中公开错误详细信息以及使用可靠的加密算法、加密函数
威胁:攻击者可以从日志文件中获取敏感信息
消减措施:禁止应用记录敏感用户数据
威胁:攻击者可以通过错误消息获取敏感信息消减措施:不要在错误消息中公开错误详细信息
- 否认
- 威胁:攻击者可以移除攻击路径
消减措施:应用程序强制启用审计和日志记录
- 欺骗
- 威胁:攻击者可能通过不安全的TLS证书配置来欺骗目标Web应用程序
消减措施:使用X.509证书验证SSL、TLS和DTLS连接
威胁:攻击者可以窃取用户凭证等敏感数据消减措施:实施对所有的字符串输入验证
威胁:攻击者可以创建假网站并进行网络钓鱼攻击消减措施:验证应用程序内所有的重定向是否已关闭或者安全完成
威胁:攻击者可能欺骗IoT云网关并获取网站应用权限消减措施:使用身份验证机制向Web应用程序进行身份验证
- 篡改
- 威胁:攻击者可以通过Web应用执行SQL注入来访问敏感数据
消减措施:确保在Web应用程序中使用类型安全参数进行数据访问
威胁:攻击者可以访问Web应用配置文件中的敏感数据
消减措施:加密Web应用程序中包含敏感数据的部分