商业移动设备安全风险剖析
1. 现有安全策略局限性与 USB 通信安全
SELinux 对文件应用安全策略标签,AppArmor 则将策略应用于路径名,但它们都未考虑内核内的设备。USB 3.0 计划允许设备主动向主机发起通信,这会使 USB 栈中认证方案的实施更为复杂。不过,通过适度的工程努力,设备发起的通信也能通过特定方法进行认证。
在加密系统中,实现方式对安全强度至关重要。如教科书式的 RSA 已被证明不安全,安全的 RSA 要求在加密和签名前使用填充方案。USBSec II 在内核的 RSA 实现中,为基本的 RSA 操作(如 encrypt()、decrypt()、sign() 和 verify() 方法)添加了填充功能。
对于仅具备 USB 硬件实现而无 CPU 的被动设备(如存储设备、键盘),由于设备计算能力有限,无法完成完全的相互认证。不过,在首次数据包交换后,可通过序列号对设备和逻辑驱动信息进行认证,并提示主机用户允许或拒绝连接,这种允许或拒绝可以是临时或永久的。在大多数情况下,此类被动设备的序列号信息难以被伪造,终端用户的知情和批准有助于保障连接安全。
USBSec I 存在一定局限性。与任何基于密码的方法一样,它面临暴力攻击风险。如果攻击者控制了 USB 通信任一侧的内核,就可能穷举密码空间并破解 USBSec I。此外,USBSec I 认证使用与硬件特定绑定的序列号信息作为设备端身份,任何硬件或新库存的更改都需要更新主机端的授权设备白名单。同时,如果主机或设备已被攻破并伪造身份,USBSec 就会失效,因为此时信任链被破坏,认证也就失去了作用。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



