Posts List

微软开源对于 Solorigate 活动捕获的开源 CodeQL 查询

原文:微软 open sources CodeQL queries used to hunt for Solorigate activity 译者:madneal welcome to star my articles-translator, providing you advanced articles translation. Any suggestion, please issue or contact me LICENSE: MIT Solorigate 攻击的一个关键方面是供应链攻击,这使攻击者可以修改 SolarWinds Orion 产品中的二进制文件。这些经过修改的二进制文件是通过以前合法的更新渠道分发的,并允许攻击者远程执行恶意活动,例如窃取凭据,提权和横向移动,以窃取敏感信息。该事件提醒组织不仅要考虑是否准备好应对复杂的攻击,还需要考虑自己代码库的弹性。 微软坚信以透明的方式进行领导并与社区共享情报,从而改善整个行业的安全实践和状况。在此博客中,我们将分享审查代码库的过程,重点介绍一种特定的技术:使用 CodeQL 查询来大规模分析我们的源代码,并排除存在代码级别的危威胁情报(IoCs)和与 Solorigate 相关的代码模式。我们正在将本次本调查中使用的 CodeQL 查询开源,以便其他组织可以执行类似的分析。请注意,我们在此博客中介绍的查询仅可用于查找与 Solorigate 植入程序中的源代码具有相似之处的源代码,无论是在语法元素(名称,字面量等)还是功能上。两者可能在良性代码中同时发生,因此所有发现都需要进行审查以确定它们是否可行。此外,不能保证恶意行为者在其他操作中被约束为相同的功能或编码风格,因此这些查询可能无法检测到与在 Solorigate 植入代码中看到的策略有明显差异的其他植入代码。这些应被视为只针对攻击审计技术的一部分。 长期以来,微软一直采用完整性控制来验证分发给我们的服务器和客户的最终编译二进制文件在开发和发布周期的任何时候都没有被恶意修改。例如,我们验证编译器生成的源文件哈希是否与原始源文件匹配。尽管如此,在微软,我们仍然秉承 “assume breach” 的理念,该理念告诉我们,无论我们的安全实践多么勤奋和广泛,潜在的对手都可以同样地聪明并拥有大量资源。作为 Solorigate 调查的一部分,我们使用了自动和手动技术来验证我们的源代码,构建环境以及生产二进制文件和环境的完整性。 微软在 Solorigate 调查期间的贡献反映了我们对 Githubification of InfoSec 中描述的基于社区的共享愿景的承诺。为了保持我们对防御者知识的了解并加快社区对复杂威胁的响应的愿景,微软团队在此次事件期间公开透明地共享了威胁情报,详细的攻击分析和 MITER ATT&CK 技术,高级狩猎查询,事件响应指南以及风险评估工作簿。微软鼓励其他安全组织开源自己的威胁知识和防御者技术来共享 “Githubification” 愿景,以加速防御者的洞察力和分析。如前所述,我们已在 https://aka.ms/solorigate 上收集了全面的资源,以提供有关攻击的技术详细信息,威胁情报和产品指南。作为微软全面调查 Solorigate 的一部分,我们检查了自己的环境。正如我们之前所分享的那样,这些调查发现有少量内部帐户存在活动,并且一些帐户已用于查看源代码,但是我们没有发现任何对源代码,构建基础结构,已编译的二进制文件或生产环境进行任何修改的证据。

微软Visual Studio Code基本特征

Visual Studio Code它的核心功能还是作为一个代码编辑器。和其他的代码编辑器一样,VScode采取通用的UI和布局,浏览器在左边,显示所有的文件和文件夹,右边你打开的文件的编辑页面。 文件,文件夹以及项目 VScode是基于文件和文件夹的,你可以立即开始通过打开一个文件和文件夹。除了这些,VScode能够读不同框架和平台定义的项目文件。比如,如果你打开的文件夹包含一个或者多个package.json,project.json,tsconfig.json,或者ASP.NET 解决方案和项目文件,VScode可以读取这些文件并且利用他们来提供额外的功能比如代码补全功能。 打开VScode 你可以从命令行利用VScode打开文件,文件夹或者项目。 打开VScode中的一个index.html文件: code index.html 打开文件夹c:\src\Contents: code c:\src\contents VScode中并不区分是打开文件夹还是打开项目。如果你打开的文件夹包含项目文件,VScode会读取这些文件并且显示这些项目内容在状态栏中。在这你也可以进行不同的项目之间的切换。 打开文件夹c:src\WebApp中包含的项目: code c:\src\webapp 换句话说,打开包含项目的文件夹能够有效地打开项目: 打开当前文件夹: code . 基本布局 VScode布局简单,能够最大化编辑界面并且也能够留下足够的空间浏览文件夹或者项目的内容。UI可以分成四个部分 编辑器 最主要地区域编辑文件。最多可以打开三个编辑页面。 边栏 包括不同的视图,比如你在处理项目时候地浏览器 状态栏 显示你正在打开项目和文件的状态 视图栏 可以让你在不同的视图中进行切换 每次你打开VScode都会恢复到上一次关闭的状态。文件夹布局如下所示。 不是把文件放在不同的tab之中,VScode可以最多同时打开3个编辑器。 并排编辑 你可以最多可以并排打开3个编辑器。 如果你已经有一个编辑器打开,你可以通过各种不同的途径打开另外的编辑器。 Ctrl 在浏览器中打开一个文件 comman+\ 将编辑器分成两个 无论何时你打开另外一个文件,编辑器将会激活正在打开的文件。