微软周四宣布,它在对SolarWinds攻击进行调查期间使用了CodeQL查询的开放源代码。
据信由俄罗斯赞助,攻击者于2019年入侵了IT管理解决方案公司SolarWinds的系统,并使用Sundrop恶意软件将Sunburst后门插入了SolarWinds Orion监控产品中。
因此,全世界数以千计的组织最终被Sunburst感染,但攻击者仅向数百名感兴趣的受害者提供了其他恶意软件。攻击者还使用手动键盘技术来破坏这些组织的系统。
微软以Solorigate的身份追踪攻击,已发布了几份报告以提供有关所采用的技术,攻击者和事件范围的信息,并且本周决定将其调查中使用的某些工具提供给其他公司,以出色地。
该公司已经发布了CodeQL查询的源代码,该代码用于大规模分析其代码并识别与Solorigate相关的任何代码级别的危害指标(IoC)。
“我们正在公开采购本次调查中使用的CodeQL查询,以便其他组织可以执行类似的分析。请注意,查询[…]只是驻留在与Solorigate植入程序中的源代码共享相似之处的源代码上,无论是在语法元素(名称,文字等)还是在功能上,”该公司表示。
微软还强调,仍然需要进行审查以确保正确的结果,并且恶意行为者可能会在不同的操作中使用其他功能和编码样式,这意味着这些查询将无法检测出明显偏离的植入物。
该技术公司还解释说,选择使用CodeQL进行此分析是因为该引擎允许创建“捕获编译代码模型的数据库”,然后可以重复查询该数据库。
Microsoft已在CodeQL GitHub存储库中提供了用于评估代码级IoC的C#查询,并在Solorigate-Readme.md中提供了有关每个查询及其尝试查找的代码级IoC的详细信息。调整指南也包括在内。
“ GitHub不久将发布有关如何为现有CodeQL客户部署这些查询的指南。提醒一下,CodeQL对于GitHub托管的开源项目是免费的。”微软还指出。
该公司还解释说,在调查Solorigate时,一方面,它寻找与代码级IoC相关的语法,另一方面,它研究了这些IoC中技术的整体语义模式。因此,检测将捕获技术已更改但语法没有更改或相反的情况。
“由于恶意行为者可能同时更改语法和技术,因此CodeQL只是我们更大的调查工作的一部分,”该技术巨头指出。