您现在的位置是:数据库 >>正文

微软强化 VBS 安全区的信任边界

数据库3人已围观

简介微软近日发布了针对使用基于虚拟化的安全VBS)安全区的开发者的全面指导,强调了加强不同虚拟信任级别之间信任边界的关键安全措施。VBS安全区的安全挑战微软安全团队的这份指导文件,主要探讨了在实现VBS安 ...

微软近日发布了针对使用基于虚拟化的微软安全(VBS)安全区的开发者的全面指导,强调了加强不同虚拟信任级别之间信任边界的强化全区关键安全措施 。

VBS安全区的任边安全挑战

微软安全团队的这份指导文件 ,主要探讨了在实现VBS安全区时所面临的微软基本安全挑战。VBS安全区利用管理程序的强化全区虚拟信任级别 ,云计算在用户模式进程内隔离内存和代码执行区域 。任边

VBS安全区提供了强大的微软可信执行环境(TEE),可以保护敏感数据(如加密密钥)免受恶意管理员的强化全区访问。然而,任边这些保护措施在VTL1安全区和VTL0主机进程之间引入了一个独特的微软信任边界 。

与传统的强化全区信任边界不同 ,安全区存在于其主机进程内部,任边这就要求开发者采取全新的服务器租用微软安全视角 。文件中强调的强化全区主要安全原则是:安全区绝不能信任VTL0。尽管主机进程无法读取或写入安全区的任边内存区域 ,但安全区可以访问其主机的内存,如果管理不当 ,就会产生安全漏洞。

指针验证的重要性

微软研究人员指出,模板下载一个关键建议是验证从主机进程传递的指针是否在VTL1安全区的地址范围之外。微软通过代码示例展示了这一漏洞,恶意主机可能通过操纵指针值来攻击安全区 。例如 :

复制`LPVOID GetState(LPVOID lpParam) { State* state = (State*)lpParam; if (state == nullptr) { return (LPVOID)E_INVALIDARG; } *state = g_State; return (LPVOID)S_OK; }`1.

如果没有适当的验证 ,该函数可能会无意中允许主机覆盖敏感的安全区内存 。

检查前在VTL1中捕获VTL0结构(来源 :微软)

安全实现模式

开发者被建议在初始化时使用EnclaveGetEnclaveInformation API来确定安全区的建站模板边界,并验证所有主机提供的指针是否落在这些边界之外。

CRITICAL_SECTION锁(来源 :微软)

此外 ,为了防止“检查时间-使用时间”(TOCTOU)攻击 ,应在验证之前将VTL0的结构复制到VTL1的内存中 。指导文件还强调,机密信息应始终在安全区内生成,并且不应通过非安全通道暴露  。源码库

微软警告开发者不要重新发明安全原语 ,建议使用Windows实现库和RAII包装器。有趣的是 ,微软甚至在文件中提到探索Rust进行安全区开发的可能性 ,并提到在最近的MORSE黑客马拉松中开发的一个概念验证 ,该验证利用了Rust的内存安全特性。亿华云

Tags:

相关文章

  • 扫雷还是触雷?微软推出零信任DNS

    数据库

    长期以来,将人类可读的域名网址转换为数字IP地址的DNS服务存在着巨大安全风险,因为域名解析过程很少采用端到端加密。提供域名解析的服务器会为几乎任何IP地址即使是已知的恶意地址)进行解析。许多终端用户 ...

    数据库

    阅读更多
  • win10设置界面滑块图标异常怎么解决

    数据库

    我们在使用安装了win10操作系统电脑的时候,有的小伙伴对自己的电脑进行设置的过程中就遇到了电脑的设置界面,所有的滑块图标都是显示异常的。对于这种问题小编觉得可能是电脑的内部组件出现了一些问题导致的,...

    数据库

    阅读更多
  • win1019025怎么更新

    数据库

    微软再一次发布了新的版本win1019025,在我们了解了它更新的内容还有升级的地方之后想要更新到这个版本。具体要怎么做呢,就让小编告诉你。希望可以帮助到大家。2. 更新准备: 选择预览体验成员设置: ...

    数据库

    阅读更多

滇ICP备2023006006号-40