现代安全堆栈的问题
我最近读到一些令人印象深刻的内容。准确地说,这其实是一篇关于安全销售的LinkedIn帖子。虽然我通常不会关注这类内容,但不知何故,我开始仔细阅读并深入思考其中的观点。
这篇文章提到“SOC分析师希望减少警报数量”,并进一步讨论了“安全堆栈”的解决方案销售。我被“安全堆栈”这个提法所吸引,开始思考:什么构成了“安全堆栈”?它到底是什么?
现在大多数人会提到不同层次的安全工具,但无论你听到什么定义,我希望你记住一点:大多数“安全堆栈”都建立在极其脆弱的基础之上。这意味着,如果你的“安全堆栈”建立在操作系统和应用程序的默认安装基础上,没有进行任何配置修改或“加固”,如果你没有资产清单,甚至没有执行最高级别的攻击面缩减,那么一切都是徒劳的。如果端点本身没有经过任何配置来减少噪音,就很难在检测中过滤掉噪音和误报。
安全堆栈的实施方式
一种安全堆栈的方法是在端点(希望是所有端点)上安装EDR和其他安全工具,并通过自己的SOC进行管理。我知道几年前有个组织在他们的一部分系统上安装了EDR,并启用了学习模式。不幸的是,这部分系统正好是威胁攻击者非常活跃的领域,EDR没有用来对抗威胁攻击者,反而将威胁攻击者的活动学习为“正常”行为。
我还知道另一个组织遭到威胁攻击者入侵,在事后审查中,他们发现攻击者使用了“net user”(原生工具/LOLBin)在其环境中创建新用户帐户。他们安装了EDR,但对默认检测规则不满意,于是创建了一个规则来检测使用net.exe创建用户帐户的行为。他们能够这样做是因为他们知道在自己的组织内不使用这个LOLBin来管理用户帐户,也知道他们使用哪个应用程序、哪些管理员执行这项工作,以及从哪些工作站执行。因此,他们能够编写一个具有100%准确度的检测规则,知道任何检测都本质上是恶意的。
外包安全堆栈的挑战
如果你将“安全堆栈”外包,即使只是一部分,并且不自己管理该堆栈(通常称为MDR或XDR),会发生什么?外包安全堆栈可能会带来更多问题,因为虽然你希望获得专业知识,但你面临另一个完全不同的挑战。那些负责响应和检测工程的专家现在需要处理来自数百个其他基础设施的数据,所有这些基础设施都处于与你的环境类似(但不同)的混乱状态。挑战在于如何编写检测规则,使其既能正常工作,又不会用误报淹没SOC(最终是客户)?
在某些情况下,答案是:你做不到。有时,在一个基础设施上100%恶意的活动,却是其他组织关键业务流程的一部分。当我为一家MDR公司工作时,我们经常看到这种情况。我们有一个客户,其整个业务都建立在通过互联网共享带有嵌入式宏的Office文档上——是的,这正是许多恶意软件进入网络的方式。我们还有其他客户,对于他们来说,MSWord或Excel生成cmd.exe或PowerShell(即运行宏)可能是误报。在这种情况下,你是保留检测规则并承担定期用全是误报的警报淹没SOC的风险,还是采取不同的方法,只专注于检测攻击后的活动?
日志管理的重要性
图1:LinkedIn帖子
图1显示了Chris最近关于SOC调查结果的LinkedIn帖子。对于SOC来说,最严重的问题之一是“缺乏日志”。这可能由多种原因造成,但根据我多年的经验,缺乏日志往往是配置管理或缺乏配置管理的结果。例如,默认情况下,MSSQL服务器记录失败的登录尝试和存储过程的修改(启用、禁用);默认情况下不记录成功的登录。我还见过客户禁用成功登录和失败登录尝试的审计,或者将审计级别设置得过高,导致攻击发生时需要的信息被快速覆盖,有时在几分钟内,甚至更快。所有这些都回到了安全堆栈的基础——操作系统和安装的应用程序是如何构建、配置和管理的。
现实威胁案例
图2:SecureList博客感染流程
图2展示了最近SecureList文章中关于SideWinder APT的感染流程。文章包含这样的陈述:“攻击者发送带有DOCX文件附件的鱼叉式网络钓鱼邮件。该文档使用远程模板注入技术从攻击者控制的远程服务器下载RTF文件。该文件利用已知漏洞(CVE-2017-11882)运行恶意shellcode……”;是的,它确实说的是“CVE-2017-11882”,而且这个CVE发布已经超过7年了。我分享这篇文章的图片和链接不是为了羞辱任何人,而是为了说明许多组织使用的基础技术可能已经过时、未打补丁,和/或由默认的、易受攻击的配置组成。
构建强大安全基础
我在这里要表达的观点是,建立在脆弱基础上的安全堆栈必然会出问题,甚至可能是灾难性的问题。强大的基础始于资产清单(包括系统和应用程序)和攻击面缩减(通过配置、打补丁等)。通常,加固系统并不需要太多工作;例如,Huntress博客上Dray提供了免费的PowerShell代码,为端点提供基本的“加固”。
常见问题包括:
- 服务器和工作站上公开暴露的RDP,没有MFA;没有人监视日志,所以他们看不到来自公共IP地址的暴力攻击
- 具有MFA的公开暴露的RDP,但其他不受MFA保护的服务(SMB、MSSQL)也暴露在外,因此MFA可以被禁用;这也适用于其他安全服务,如防病毒软件,甚至EDR
- 暴露的、未打补丁的、过时的服务
- 不受安全服务保护的不同端点(网络摄像头呢?)