Skip to main content

一、背景
随着网络安全攻击手法的不断演进,各类0day攻击层出不穷,如何检测未知威胁成为了一直困扰网安从业人员的世纪难题。

通过采访众多网络安全从业者,了解到对于一线人员来说,造成困扰最多的是:业务系统已知漏洞已经完成了修补,ACL访问策略已经严格到不能再严格,投入了大量的成本做渗透测试,最后也就收到几个低危的漏洞报告,感觉网络安全建设体系已经很完善了。可是为什么每次到HW行动,攻防演练的时候还是被攻破呢?有没有什么手段可以有效的检测未知的安全风险呢?

1、威胁分类

想要检测与防范未知安全威胁,首先我们要清楚安全风险分类,PMI将风险分为已知风险和未知风险,已知风险又可分为已知已知风险和已知未知风险,未知风险则是未知未知风险。该分类虽指的是项目风险分类,但同样适用于网络安全风险。

那么我们按照这种方法将网络安全威胁分为以下三类:

  • 已知的已知威胁:如SQL注入,DDOS,钓鱼,社工,病毒等等;
  • 已知的未知威胁:一小部分个人或组织手握的0day;多种已知的威胁形成的组合拳;
  • 未知的未知威胁:现阶段还未出现的安全威胁。

2、现有检测手段

而我们今天要讨论的便是如何去检测和防御,已知的未知威胁和未知的未知威胁。

既然是安全威胁是未知的,那使用常规的检测手段,规则匹配,日志审计,流量审计等方法是很难发现的。

据笔者查阅各类专利技术并结合工作中的经验,简单列举几种已知的检测未知威胁的方法:

  • 威胁诱捕,就是我们俗称的蜜罐,通过仿真环境诱捕攻击;
  • 沙箱,通过高仿真虚拟环境检测分析未知文件行为;
  • 大数据分析,检测到未知数据后会将未知数据传给威胁分析系统,通过威胁分析系统对未知数据进行分析识别;若没有检测到恶意数据,则生成对应的匹配规则,以继续收集与匹配规则对应的未知数据,继续进行分析;
  • 行为分析,通过大量的数据以IP,MAC,账号等信息为主键,进行UEBA建模分析;
  • 有监督建模,通过人工输入样本数据训练模型,在模型训练过程中,根据各特征向量和对应的输出数据进行收敛判断,并在收敛完成时终止模型训练,将当前收敛模型作为预测模型;
  • 无监督建模,基于大数据分析系统提供的数据,建立无监督模型。

3、现有检测手段的局限性

上述几种现如今流行的未知威胁检测方式,都或多或少会有一些缺点和局限性。

蜜罐和沙箱这类使用虚拟化技术的仿真产品有一个共同的缺点就是很多木马病毒在开展攻击前会优先判断所处环境,结合对各个厂商产品的指纹识别,可以做到足够的隐蔽。除了上述的缺点外还存在着虚拟化逃逸的风险。

通过大数据技术分析未知数据,需要大量的数据样本,而真正的攻击往往在网络里产生的流量是微乎其微的,无论是行为分析还是有监督建模或者无监督建模同样需要大量的样本,并且经过长期训练形成的检测模型也并不一定适用于新型攻击方式,往往出现一种新型的攻击方式后又需要大量的样本进行模型训练。

4、设计思路

无论是ToB还是ToC的企业随着数字化建设的落地、业务的发展,只会有越来越多的网络暴露面。随着暴露面的增加,安全风险也会随之增加。一次又一次的网络安全事件向我们证明,无论多么安全的网络边界都会有薄弱的点,并不存在绝对安全的网络,为此我们需要在企业内部建立第二道安全防线——身份安全防御体系。

我们认为只有真正站在攻击者角度思考问题,设计防护技术架构,才能有效的防范未知风险。在设计之初我们参考了大量文献,无论是Cyber Kill Chain框架还是ATT&CK框架,都能看出,攻击者在攻击前需要进行大量的信息收集,哪怕是进入到企业内网后也不会是盲目的进行端口扫描和漏洞扫描,而是会利用现有的权限再次进行信息收集。通过我们对各类安全事件的分析与统计,在内网的渗透攻击过程中,凭据窃取和身份盗用是90%以上的攻击者都会使用的技术手段。

5、实践指南

我们采用主动威胁诱捕技术设计,设计了以身份为切入点的威胁诱捕解决方案。通过在内网构造高权限蜜罐账户的认证凭据,利用攻击者希望隐藏自身位置的心理,攻击者在通过主动信息收集发现高权限凭据后,一般情况都会进行尝试登录,此时攻击者对身份认证系统请求蜜罐账户认证,随即暴露所在位置,安全人员即可定位到失陷主机。还可通过流量转发技术,将攻击者对真实业务系统的认证流量转发到提前准备好的蜜罐,造成认证成功的假象,拖延攻击进度。以此为安全人员提供充足的时间溯源攻击路径和入口并开展封堵工作,将攻击者重新踢出边界防护的大门之外。

二、成功案例

1、案例背景

2022年国家级护网前期,XX集团安全部门希望针对AD域内实时发生的威胁事件、行为事件进行监测,并利用身份蜜罐实现未知威胁诱捕。

2、未知威胁捕获

2022.9.22触发查询敏感成员组告警,安全人员提取原始日志查找来源IP和行为分析,怀疑主机有失陷可能。

随后1小时内,运维人员发现攻击者反复触发蜜罐账户活动告警,确认主机已经失陷。

3、应急处置

发现攻击者痕迹后,安全人员迅速对失陷主机进行下线,并备份主机磁盘固定证据。

4、事件分析

分析攻击者获取到主机控制权后首先确认主机为域内主机。随即使用mimikatz或其他工具,抓取内存中的凭据,发现在内存中存在一个service_admin账户的凭据,这个凭据便是我们为攻击者准备的蜜罐账户。

通过查询该用户信息,发现该用户为域管理员,此时触发的查询敏感成员组告警。

随即攻击者使用内存抓取的密码进行登录,发现登录失败,后进行不断尝试登录,此时触发的蜜罐活动告警。

5、威胁溯源

分析主机日志、文件和聊天记录等,发现攻击者是通过社工钓鱼的方式添加企业员工微信,并向其发送一封捆绑了木马的Word文件,员工点击该Word后导致终端被控。

在进程里发现留存了被注入到进程的后门,溯源到是攻击者通过国外节点进行多次跳转,很难确定攻击者真实IP和身份,至此完成本次安全事件的追踪溯源工作。

三、总结

通过本次实践可以看出,以攻击者视角分析安全威胁,于攻击链的必经之路,设计针对性的防护方案,可以有效的防范未知威胁的攻击。当然,所有的安全设计都会有相应的局限性和缺点,若企业内网暴露着大量的漏洞,弱口令,基线配置问题,攻击者也很有可能不会进行凭据窃取的行为,绕过我们设计的身份威胁诱捕防御体系。因此本方案也并不适用于所有的场景,毕竟若已知风险都没有防护措施,对未知风险进行防护也是没有用的。