摘自:https://zhuanlan.zhihu.com/p/259808863
背景介绍
在Linux操作系统中,所有内容都是以文件的形式保存和管理的,包括普通文件、目录、网络通信资源等都是文件,即“一切皆文件”。基于这种机制,针对Linux系统层的攻击方式,本质上往往是通过各种方式,对某些敏感文件进行篡改,使入侵得以进一步进行。例如,著名的脏牛提权漏洞(CVE-2016-5195)是get_user_page内核函数在处理Copy-on-Write的过程中,可能产出竞态条件造成Copy-on-Write过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。最终,通过修改su或者passwd文件就可以达到root的目的。所以,Linux的文件监控在Linux的安全防护中是一个至关重要的环节。
通过对文件的监控,可以发现操作系统中敏感目录异常新增文件、敏感文件篡改、执行恶意文件或恶意命令等。在ATT&CK矩阵中,篡改文件达到权限提升的技术有T1548.001、T1548.003、T1546.004等;篡改文件达到持久化的技术有T1098.004、T1053.001等;篡改文件达到获取凭证的技术有T1003.008、T1552.003等;篡改文件达到绕过防御的技术有T1564.001、T1070.002等,在各个阶段都有需要对文件进行篡改的攻击技术。
01.使用audit监控文件
Linux audit是Linux中审计系统与安全相关信息的服务。根据预先配置的规则,audit将生成日志项,从而记录在系统中发生的安全事件。audit可以审计是否有人访问、篡改、执行某个文件或者目录,也可以审计是否有人更改了文件的属性。定义文件监控的语法如下:
auditctl -w path_to_file -p permissions -k key_name
path_to_file是需要审计的文件或目录、permissions是记录的权限,“r”是读取、“w”是写入、“x”是执行、“a”为修改文件attribute属性。key_name是可选参数,产生一个易标识的日志入口关键字,如监控“/etc/passwd”文件的读取。可以配置如下audit规则:
auditctl -w /etc/passwd -p r -k passwd_read
02.针对MITRE ATT&CK各阶段攻击手段,文件监控的应用
1. 权限提升检测场景的文件监控
01~/.bash_profile是包含shell命令的shell脚本,当用户通过用户名密码登录时都会执行这个脚本。攻击者可以通过对这个文件插入可执行文件来执行任意的shell命令。例如,插入一个木马程序,当用户登录shell时,会以用户的权限去执行这个木马程序,最终导致攻击者可以使用木马进行远程控制系统。
通过audit实现对~/.bash_profile的写入的监控
auditctl -w /root/.bash_profie -p w -k privilege-escalation
02
执行“echo 'python script.py' >> /root/.bash_profile”。当登录操作系统后,会在执行主目录下的script.py文件。
03.通过SIEM检测权限提升的监控。
2. 持久化检测场景的文件监控
01
crond是Linux系统中用来定期执行命令或者指定程序任务的一种服务或者软件,攻击者可能滥用crond来执行任务调度,以开始执行或重复执行恶意代码。例如,插入挖矿程序,在系统中定时执行挖矿程序,利用系统进行挖矿。
通过audit实现对/var/spool/cron目录写入的监控
auditctl -w /var/spool/cron -p w -k persistence
02执行crontab -e,编辑定时任务,将恶意代码执行的时间及执行方式写入crontab中,并保存。
03通过SIEM检测持久化的监控。
3. 登录凭证访问检测场景的文件监控
01
在Linux操作系统中,/etc/passwd和/etc/shadow两个文件分别记录了用户的基本属性和用户的密码信息,攻击者可以尝试获取这两个文件,并对/etc/shadow的密码哈希值进行离线爆破,可以获取到用户的凭证信息。
通过audit实现对/etc/passwd和/etc/shadow目录下文件读取的监控
auditctl -w /etc/passwd -p r -k credential_access
auditctl -w /etc/shadow -p r -k credential_access
02
当操作系统上的用户对/etc/passwd和/etc/shadow进行访问。
03
通过SIEM检测凭证访问的监控。
建议
基于Linux“一切皆文件”的思想,在对Linux进行入侵分析时,监控文件就等于监控整个系统。根据ATT&CK矩阵各阶段的攻击手段,建议对相关的文件添加对应的监控规则,找出异常事件!
日志易SIEM
威胁检测、分析与响应平台
日志易威胁检测、分析与响应平台,是兼具关联分析和异常分析能力的安全分析平台,全面支持各种威胁类型(已知威胁、可疑威胁以及未知威胁)的检测、分析与响应。平台基于日志易数据搜索引擎,通过流批处理计算框架,对企业的日志、流量数据进行深度关联,并结合资产信息、漏洞信息,进行威胁自动化响应处置,提高用户在安全运营方面的决策能力。
日志易 · SIEM平台逻辑架构
平台功能
- 全面日志采集
百万级EPS日志流处理能力,PB级秒级日志溯源跟踪能力。 - 威胁检测
内置WEB安全、主机安全、合规审计等8大类常见的复杂事件处理检测规则。 - 流量异常检测(NTA)
对主流的应用、网络协议进行采集和解析,还原流量数据进行溯源取证,并可对流量中的攻击行为进行检测。 - 端点事件分析取证
结合Linux、Windows系统日志,分析其进程、账号登录、命令执行等事件,发现异常行为。 - 调查取证
将威胁告警和异常事件映射到时间维度,分析事件的前因后果。对攻击链进行溯源,通过关联分析发现横向扩展的行为。 - 任务管理
内置工单系统,并可灵活对接用户环境的工单系统,形成安全事件处置闭环和协同。 - 流程编排及自动化响应
全界面化Playbook编排,通过API与各类安全设备、系统联动,根据规则自动匹配Playbook,自动响应处置。 - 威胁情报对接
对接开源、商用威胁情报库,并与威胁告警进行关联,进一步提高威胁告警准确度。 - 漏洞平台对接
对接开源、商用漏洞平台,对误报进行白名单处理,对低危漏洞或不关注的漏洞进行自动忽略或修复。 - 资产管理
通过对接CMDB、日志提取、批量导入、自发现等方式,自动感知全网资产的动态变化,为威胁告警补全资产信息。 - 多数据管道分发保障
将同一数据来源ETL成不同数据格式,通过多数据管道将格式化日志分发到不同目的源。 - 态势感知大屏
通过日志易大屏Galaxee产品,将全网实时安全状态集中展现到安全管理人员面前。
平台优势
- 强大的日志及流量采集能力具备独立的日志以及流量的采集能力,支持对国内外主流安全设备、网络设备、中间件、数据库、系统日志的采集,支持开箱即用的数据解析规则,具备流量采集探针(日志易NTA),支持对主流的应用、网络协议进行采集和解析,同时兼容容器化、微服务等新型技术。
- 自主研发、安全可控的底层搜索引擎支持SPL(Search Processing Language)搜索功能,能较快地对数据进行与或非以及关键字查询过滤,并可通过各类函数、指令,对数据进行灵活统计和计算,擅长数据统计分析和挖掘。
- 内置1000+安全场景规则这些规则覆盖了UBA、WEB安全、网络安全、数据安全、合规、多场景关联分析、对比分析、时序分析等,支持按照固定格式自定义安全规则。
- 内置120+APP(不断增加)通过APP,可针对国内外主流品牌的数据源:安全设备、网络设备、中间件、数据库、系统日志等,提供开箱即用的仪表盘、解析规则、分析场景、告警策略,实现即插即用、快速交付。
- 实时流式计算框架支持根据不同的安全场景(聚合、关联等),实时对数据进行分析、计算,支持分布式部署。
- 灵活的关联分析、对比分析通过定时监控以及SPL功能,能对任意时间段的历史数据进行对比分析,并能灵活对比不同时间/种类的数据,比如新的进程、新的账户、新的访问关系等,从而发现异常。
- 对接第三方威胁情报、漏洞库支持直接读取数据源(CMDB、第三方威胁情报漏洞),并将读取到的数据(如资产信息、告警事件、漏洞信息)与原始日志进行匹配分析。
- 打破企业数据孤岛日志易可通过数据工厂管道,快速对接数十种大数据平台、流式数据平台、关系型数据平台、接口服务,而不仅仅是作为数据终端,可灵活从Kafka、ES、Hadoop等平台取数和供数,打通企业数据流,实现数据全生命周期管理。
- 丰富的可视化能力提供趋势、散点等数十种常用可视化图表功能,可自定义安全态势感知大屏。
- 机器学习能力内置回归、预处理、时间预测、分类、聚类等五大类数十种主流机器学习算法,用于检测内部用户及实体异常。并提供可视化算法训练平台及算法效果可视化评估。
应用案例
某股份制商业银行借助日志易威胁检测、分析与响应平台,实现了对进程、文件、账户、访问等各类可疑事件的实时检测、预警、分析。项目实现效果:
- 持续监控已知威胁场景针对二十多类场景进行监控处置,每天封禁确认攻击事件约100+ 。
- 着重分析可疑事件发现多个新的进程,例如发现业务变更导致可疑进程出现,侧面验证新进程发现的效果。
- 深入调查可疑横向移动通过定义内部的访问关系对(固定,白名单),当出现新的访问关系对时,则发现异常,再对主机事件进行进一步分析。