从午夜暴雪和XZ Utils两大资安事件中,微软揭露学到这三件事

微软开发者部门总裁Julia Liuson指出,微软去年11月底发起未来安全计划(SFI),提出安全设计、安全预设和安全维运等3大原则,以及6项安全文化和治理作法。

图片来源: 

摄影/王若朴

在微软Build 2024大会第2天,微软两位跨开发和资安部门主管分享了未来安全计划(Secure Future Initiative,SFI)执行至今的经验,尤其是从午夜暴雪(Midnight Blizzard)资安事件中学习到的2大课题,如使用系统托管身分辨识工具、删除70多万个未使用的应用程式来保护工程系统。他们也从XZ Utils供应链攻击事件中,意识到开源生态和安全文化的重要性,要透过培训方式提高跨团队资安意识。

为确保技术架构安全执行,微软发起未来安全计划

在微软Build 2024大会第一天,微软执行长Satya Nadella揭露了智慧助理Copilot技术架构,由底层的AI基础设施、模型、资料、AI调度与工具链,再往上到Copilot助理层(含微软Copilot和使用者客制化Copilot)、Copilot扩充等组成。而这些层的最外围,就由AI安全与资安包围,确保从最底层的基础设施到最上层的应用,都能安全执行。(如下图)

大会上,微软开发者部门总裁Julia Liuson和微软威胁情资部门客户副总裁John Lambert共同说明,他们如何联手实现AI安全与资安目标,以及计划实践以来学习到的宝贵经验。进一步来说,Julia Luison的团队负责开发,打造不少全球广泛使用的开发者工具,像是Visual Studio Code、Visual Studio和GitHub等产品。John Lambert除了带领威胁情资团队,还是杰出的资安专家。自去年底以来,他们密切合作,「尤其在过去3个月来,我们一起工作的频率比过去10年还要高,」John Lambert形容。

这是因为,一如Satya Nadella在大会首日透露的,为实现AI安全与资安,微软去年11月底发起未来安全计划,遵守安全设计(Security by design)、安全预设(Security by default)和安全维运等3大原则。在这3个原则下,有6项安全文化和治理作法,包括保护身分和秘密、保护租户和独立产品系统、保护网路、保护工程系统、监控与侦测威胁,以及加速因应和恢复。(如下图)

而Julia Liuson和John Lambert特别聚焦与开发者息息相关的2项作法,也就是保护身分和秘密、保护工程系统。

从午夜暴雪学习到的经验1:使用对的工具

John Lambert表示,现在的企业组织遭受威胁者(Threat actors)攻击的频率更胜以往。比如光是去年,微软就发现密码相关的攻击就增加了10倍以上,达到300亿次,估算可造成8兆美元的损失。而微软的任务,就是要阻拦威胁者行为,并在去年追踪到300多次威胁。(如下图)

他继续指出,骇客最普遍的攻击目标是讯息,且骇客攻击的思维是找到一个破口后延伸扩散。「他们锁定信任链和存取转接点;我常说防御者用清单思考,攻击者用图学(Graphs)思考。午夜暴雪(Midnight Blizzard)就是其一。」

午夜暴雪是俄罗斯的骇客组织,专门攻击政府和IT企业(如下图),微软自己就曾遭受攻击。John Lambert表示,午夜暴雪的图学攻击策略是获取凭证,因此他们锁定开发者,想得到开发者凭证,并用这些凭证建立攻击图,进而掌握公司机密。

为防止开发者不小心在Email或原始程式码中泄漏秘密,微软建立了GitHub Advenced Security工具来扫描秘密,这就是前述所提到的保护身分和秘密的一种作法。Julia Liuson表示,他们与客户部门在GitHub Advanced Security开启秘密扫描时,几乎100%的客户发现其原始程式码中存在一些秘密,甚至有时候第一次扫描就发现数千个秘密。

但这个扫描工具也有缺点,就是它可能无法识别每个秘密,而且这些秘密没有明确特征,也很难被辨识。因此,使用系统托管的身分识别(System managed identities)工具就很重要,它不只能自动更换授权所需的关键资讯、降低人工成本,还能快速回应。这是微软从午夜暴雪事件学习到的重要一课。

「我们希望所有应用程式都受到系统托管身分识别的保护,」Julia Liuson继续说明:「长期而言,我们希望不再使用任何密码。」如此,开发者就不会不小心把这些秘密资讯遗留在原始程式码中,或Email给他们的朋友,也不必再定期更换密码。

但她也直言这个目标不容易实现,尤其许多云端解决方案仍强调使用密码,这是整个IT产业普遍存在的问题。微软也正努力改善自家工具,让工具的使用更简单、更自然,让开发者不会注意到系统托管身分识别工具正在执行,「这才是真正需要安全第一的文化变革之处;要在安全第一的条件下,兼顾生产力和简单性。」她说。

从午夜暴雪学习到的经验2:保护工程系统

除了秘密资讯,保护工程系统也很重要。John Lambert指出,午夜暴雪曾攻击一家德州企业SolarWinds,在他们产品开发的过程中植入后门,想透过渗透软体供应链,来接触到最终的客户企业。这个例子凸显了保护工程系统的重要性,这也是微软未来安全计划的6项安全文化和治理作法之一。

微软如何保护工程系统?首先,他们删除了70多万个未使用的示范(demo)应用程式、范例应用程式和测试应用程式,也删除了许多与这些应用程式有关的储存库和建置流程。因为,只要还有凭证、还能存取资源,就会被威胁者所利用。

因此Julia Liuson总结,有2个非常重要的经验教训,可改善整体安全维运环境,首先就是从所有工程系统中,删除不需要的应用程式,再来是以对待正式上线程式的严格标准,来对待非正式上线的示范、范例和测试等3类应用程式。这也是微软未来安全计划的重要任务之一。

开源生态圈也是攻击目标,推动培训提高安全文化

除了企业内部的工程系统,Julia Liuson还点出另一个常被攻击的目标,也就是开源开发生态系。这类攻击大多是社交工程,今年上半年就有个XZ Utils开源专案的例子,威胁者多年来一直在这个专案植入后门,这些后门只让XZ Utils执行速度慢了些,很难让人察觉问题。

但,微软PostgreSQL开发者Andres Freund在进行回归测试时发现了速度变慢的问题,一番研究之后,确认XZ Utils资料压缩程式库被植入后门,并点出这是一场供应链攻击事件,引发全球性的调查。

「虽然微软并未受到这个后门的影响,但这是安全文化发挥作用的好例子,」John Lambert说。微软除了时时检视现有的OSS管理系统是否够好、足以防御资安攻击,也将自己的经验整合到GitHub Advenced Security工具相依性检视中。比如,他们利用GitHub软体专案相依性自动管理工具Dependabot,来警示开发者哪些储存库正使用有漏洞的软体,并协助开发者解决问题。

不单靠工具发出警报通知,Julia Liuson认为,正确的安全文化也很关键,「微软和整个产业都需要文化变革,培养安全第一的文化。」尤其是透过培训,来提高团队对充满不确定性的资安意识,同时保有好奇心与创意。她也表示,微软将继续改善自家系统和工具,并优化客户部门的程式码和工作流程,提高整体安全性。