微软发布了有关该公司一直致力的 Linux 内核新项目的详细信息。该项目名为Integrity Policy Enforcement(IPE),是Linux 安全模块(Linux Security Module,LSM),它允许可配置的策略在整个系统上强制执行完整性要求。
IPE是微软为解决 Linux 的代码完整性问题而进行的尝试。分为两个主要部分:由 LSM 提供的可配置策略(“IPE Core”),以及由内核提供的用于评估文件的确定性属性(“IPE Properties”)。目前,IPE尚处于RFC(request for comments)状态。
在启用了 IPE 的 Linux 系统上,系统管理员可以创建允许执行的二进制文件列表,然后添加内核在运行每个二进制文件之前需要检查的验证属性。如果攻击者更改了二进制文件,IPE还可以阻止恶意代码的执行。
微软方面表示,IPE 设计用于具有特定目的的设备,例如嵌入式系统(e.g. 数据中心中的网络防火墙设备),其中所有软件和配置均由管理员构建和提供。理想情况下,利用 IPE 的系统不适用于通用计算,也不使用第三方构建的任何软件或配置。
IPE 支持两种操作模式:permissive 模式(类似于 SELinux 的 permissive模式)和 enforce 模式。其中,enforce 模式是默认模式。Permissive模式执行与 enforce 模式相同的检查,并记录 policy violations情况,但其不会强制执行策略,这使得用户可以在 enforce 策略之前对其进行测试。
此外,微软称,与 Linux 内核中已有的用于代码完整性的 LSM(例如IMA)不同的是,IPE 不依赖于文件系统元数据,并且因为 IPE 属性是仅存在于内核中的确定性属性,所以它不需要像 IMA 一样需要 IMA 签名的其他代码。