基于ES构建ATT&CK防护体系 – 作者:leehack

MITRE ATT&CK简介

MITRE是一个面向美国政府提供系统工程、研究开发和信息技术支持的非营利组织,为了解决防御者面临的困境,基于现实中发生的真实攻击事件,在2013年创建了一个对抗战术和技术知识库,即Adversarial Tactics,Techniques,and Common Knowledge,简称ATT&CK。ATT&CK提供了一个复杂框架,介绍了攻击者在攻击过程中使用的300多种技术。其中包括特定技术和通用技术,以及有关知名攻击组织及其攻击活动的背景信息和攻击中所使用的战术和技术。

1612595310_601e406e82f781faa3d6e.png!small?1612595311559

图片来源于MITRE官网

Elastic安全解决方案的总体介绍

Elastic的ATT&CK解决方案构建在强大的Elastic Stack基础上,kibana用于可视化管理,elasticsearch用于存储,搜索和分析,elastic-agent用于终端上数据采集。ELK的介绍这里就不再赘述,没了解过的朋友可以访问其官网(https://elastic.co)。

1612595396_601e40c4871615d6df396.png!small?1612595396757

今天重点介绍ES在7.10版本新增的用于受信任应用程序的插件——elastic-agent,ES的Endpoint Security功能就是基于elastic-agent实现,Elastic Agent 能够阻止主机上的恶意软件,同时实现集中式可见性和高级威胁检测。具有以下特性:

为终端提供一键式保护

防御恶意软件

警报准确度更高

搜寻和响应速度快

具有普遍性的统一防护

支持防御Windows、Mac和Linux等操作系统恶意软件

改善安全运维的可视化

检测高级威胁

有效地进行分类及响应

当然,世界上没有白嫖的好事情,免费版只提供基础级防护,更高级的功能需要购买商业版

1612595441_601e40f1a291f541b1a25.png!small?1612595441989

更多详情可以查看Endpoint Security官方文档: https://www.elastic.co/cn/endpoint-security/

配置Fleet

本环境是docker单节点部署,7.10.2版本

安装elastic-agent

登录kibana,访问Management->Fleet->Settings,配置kabana以及elasticsearch的URL

1612595589_601e41851f1e4838f38b8.png!small?1612595589430

Policies中配置agent策略,我配置的integration是Endpoint Security,这个integration默认是prevent模式,防护对象有:

DLL and Driver Load

DNS

File

Network

Process

Registry

Security

1612595692_601e41ec09531343a7ae8.png!small?1612595692277

Elastic Stack内置多种Integration,满足不同场景的日志采集。

1612595745_601e42213fa3d4dd39b1d.png!small?1612595745520

Agents添加agent,在https://elastic/download-elastic-agent网站中下载elastic-agent安装包,以Windows为例,在客户端上执行命令

.\elastic-agent.exe install -f –kibana-url=http://xx.xx.xx.xx:5601 –enrollment-token=SHNYdmFuY0JDX3hJWEN3TGtVa2E6c2ttYTljRmxUakdQWV9qclFkbjQ1Zw==

1612595879_601e42a7251021d98fb7c.png!small?1612595879437

提示安装成功后,在kibana上看到上线的agent

1612595902_601e42be19a1fbbf089e1.png!small?1612595902417

防护效果

在Windows电脑中运行恶意程序时,elastic endpoint服务会进行拦截,并将其一系列的活动记录下来,管理员也能在后台监控到触发规则的日志。

1612595993_601e4319595fa6187ce83.png!small?1612595993773

选择Analyze event进入事件分析页面,能够看到agent拦截的恶意程序。

1612596017_601e4331bf3887f40c4f7.png!small?1612596018018当出现agent无法识别的恶意程序时,会记录下所有程序行为,方便安全分析师进行溯源,类似一个实时的沙箱。我将protection level改为detect模式,然后再执行恶意程序。

1612596052_601e43546d7f439612dbc.png!small?1612596052817

1612596068_601e4364ce717585e42bb.png!small?1612596069197

在上图可以看到执行恶意程序后按时间排序的整个生命周期,包括创建的文件、执行的用户、进程、网络活动及注册表等等,也可以自定义选择需要显示的字段。

endpoint security的agent默认会监控所有可执行程序的行为,当内网感染未知恶意软件而无法查杀时,可以借助elastic stack来进行分析,它可以帮我们安全分析师找出恶意软件相关的活动,从而根除恶意程序。下面我执行了搜狗拼音安装包,在kibana上可以看到执行后所涉及的活动,如此一来,所有终端上的所有行为尽在掌握中。但同时也带来的问题是存储的日志量占用的空间会比较大。

1612596105_601e43893009f3dd244c2.png!small?1612596105529

自定义规则

访问Security->Detections->Manage detection rules->Create new rule添加自定义规则规则,查询规则默认使用kibana的KQL语法。

1612596138_601e43aa517f39d0d67f7.png!small?1612596139062

在GitHub上也有检测规则模板,可根据某一类网络攻击进行编写防御规则。

项目地址:https://github.com/elastic/detection-rules

总结

可能是小弟才疏学浅,据我说知,目前市面上围绕ATT&CK模型开展可实践的解决方案是屈指可数的,这也跟ATT&CK所涉及的几百种攻击手段有关,想要覆盖到每一种攻击技术手段,是相当大的工程,非常考验安全公司的技术能力。

作为优秀的日志存储检索的大厂Elastic来说,拥有了Elastic Stack的成熟技术积累,使得开发围绕符合MITRE ATT&CK规则的Endpoint Security的功能如鱼得水。当前网络攻击方式不仅仅是恶意软件,也不仅仅是病毒文件,不再使用单一的攻击技术。Endpoint Security帮助企业检测、防御外部多样性的网络攻击,也可以说是ATT&CK实践篇从0到1的过程。

Endpoint Security也有弊端,譬如:

截止7.10.2版本的elastic-agent还是beat版,可能会存在各种骚bug,官方也不推荐装在生产环境上。

由于是开源软件,在安全防护效果好不好还有待考证,若想要有好的效果,离不开维护自定义规则,需要投入较大的时间和精力在规则维护上。

agent会实时监控终端上的进程、网络、文件等活动,因此在占用机器的资源情况还是个未知数。万一那天把服务器资源耗尽,真的会哭给你看。

更重要的一点是免费的基础版只提供了一小部分功能,想要获得更高阶的功能,需要购买企业授权,按照国外软件的尿性,估计不会便宜,一说到掏钱,老板们就不开心了。

以上是小弟使用Elastic Stack构建ATT&CK安全防御体系的见解,更希望是抛砖引玉,也希望业内的大佬们给小弟指点迷津。

来源:freebuf.com 2021-02-06 15:29:44 by: leehack

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论