微软在Visual Studio 2022第3预览版本重新设计了信任配置功能,其目的是要提高开发者对于陌生程序代码风险的意识,并协助防范恶意攻击者,从打开内容到构建和执行应用程序,Visual Studio 2022能够提供额外的安全防护。
微软提到,近来软件开发人员开始成为攻击者的目标,出现像是Nobelium、Octopus Scanner和ZINC开源函数库攻击事件,而微软试着提供安全工具链,让开发者能够更小心处理不受信任的内容。Visual Studio能够评估开发者要打开的内容,在设计阶段的构建动作,能识别项目结构和依赖性,以提供丰富的功能,但是从威胁评估的角度来看,微软表示,构建程序代码相当于执行,而这代表攻击者可以创建一个场景,让开发者只需要在Visual Studio中打开内容,就有可能遭受攻击。
在Visual Studio 2015的时候,微软开始注意到这个问题,因此将信任范围扩展到项目之外的项目,并且使用来自网络内容标签来提示开发者,但是因为标签使用规则不一致,导致整体设计出现问题,而且随着开源软件兴盛,大多数开发人员取得和使用项目样板的方式出现变化,因此这些安全顾虑再次成为值得关注问题。
在Visual Studio 2022中,微软彻底更改了信任配置功能,在开发者尝试打开未受信任的内容时,能够提供额外的安全防护,这个新功能主要由可信位置(Trusted Locations)和受限模式(Restricted Mode)两部分构成。开发者在Visual Studio 2022第3预览版本可以手动激活可信位置功能,打开之后,当Visual Studio侦测到开发者尝试要打开不受信任内容时,便会警示用户相关的安全疑虑。
当开发者激活可信位置功能,在Visual Studio 2022中打开的所有内容,都会被视为不受信任,除非开发者或是企业通过群组政策,把这些内容添加到受信任位置列表中,用户可以借由配置文件夹位置、git存储库或是git存储库拥有者,来设置可信任内容。微软提到,之中有许多安全性和可用性的权衡,因此他们优化了多种工作流程,尽量降低对开发者造成的影响。
不过,要信任源码并不是一个简单的决定,开发者通常需要手动检查程序代码,才能消除部分安全性疑虑,因此微软也加入了受限模式,让开发者能够浏览和编辑不受信任的源码。虽然在这个模式中,开发者无法使用程序代码分析器或是视觉设计工具等设计时构建功能,但是能够打开和检查不受信任的程序代码,避免远程程序代码执行等风险。
开发者可以Visual Studio 2022第3预览版本激活可信位置功能,微软也提到,在下一个版本该功能会默认激活,企业现在已经可以利用Windows群组政策,来设置受信任的存储库,并且禁止信任以及打开限制之外的内容。而受限模式目前仍未开放,开发者还需要再等等。