端点检测和响应EDR与OSSEC

1. EDR的由来

任何具有网络 IP 地址的设备,只要被允许与组织的网络进行交互,都是一个端点。

下面是一些关键端点威胁:

  • 可执行文件包(恶意软件)
  • 潜在不受欢迎程序 (PUA),比如广告软件
  • 勒索软件,比如文件加密器和磁盘加密器(擦除器)
  • 基于漏洞的攻击和文件攻击,比如伪装后的文档(通常是经过精心制作或修改以造成损害的办公程序)和恶意脚本(通常是隐藏在合法程序和网站中的恶意代码)
  • 主动攻击技术,包括权限提升(攻击者在系统中获取额外访问权限的方法)、身份盗窃(窃取用户名和密码)和代码洞(将恶意代码隐藏在合法应用程序中)等等。

在过去十多年里,端点安全仅仅指的是杀毒软件一种产品。随着安全威胁形态的演化,传统端点安全产品存在的问题越来越突出:应对机制是被动的,组织只有受到攻击后才能感知和捕获,并将其特征放到病毒库中,然后通过升级杀毒软件并应用到用户才能应对。

Gartner 的 AntonChuvakin 于 2013 年 7 月首次创造了端点威胁检测和响应 (Endpoint Threat Detection and Response,ETDR) 这一术语,用来定义一种 “检测和调查主机 / 端点上可疑活动(及其痕迹)” 的工具。后来通常称为端点检测和响应 (EDR)。EDR 的出现有助于解决这些问题:要 “看到” 未知威胁是非常有难度的,其关键就在于检测异常行为。EDR 通过对端点进行持续检测,发现异常行为并进行实时干预,同时通过应用程序对操作系统调用等异常行为分析,检测和防护未知威胁,结合机器学习和人工智能辅助判断,最终达到杀毒软件无法解决未知威胁的目的。

2. OSSEC

OSSEC是一个将HIDS(基于主机的入侵检测),日志监视以及安全事件管理(SIM)/安全信息和事件管理(SIEM)结合在一起的系统。

2.1 主要功能

2.1.1 文件完整性检查

无论攻击手段有多么高明,最终的目的是以某种方式改变系统,从修改文件的病毒到改变内核的后门程序,系统的完整性总会有一些变化。

比如:

  • Windows注册表中密钥文件的MD5/SHA1校验和的更改来检测系统完整性的变化
  • Linux 一切皆文件,md5变化

2.1.2 日志监控

OSSEC收集,分析并关联操作系统中的日志(应用程序、配置更改等),以让您知道是否正在发生可疑事件(攻击,滥用,错误等)。

日志的监控可分为两种

  • 一种是被动的采集,通过采集需要的日志,读取日志信息,标准化输出适应安全规则使用的内容,当匹配到内置或者自定义的规则,随后输出实时告警,从而发现异常;
  • 另一种是主动的查询,通过周期下发命令查询系统状态信息,然后进行新旧信息比对,从而发现异常。

常用的日志类型:Web日志、用户登录、账号密码变更,启动项变更,服务监听变更、文件系统状态、应用安装卸载等

2.1.3 Rootkit检测

Rootkit是一种特殊的恶意软件,与病毒或者木马不同的是,Rootkit试图通过隐藏自己来防止被发现,以达到长期利用受害主机的目的。

Rootkit的基本功能:

  • 隐藏文件
  • 隐藏进程
  • 隐藏网络端口
  • 隐藏内核模块等
  • 后门功能
  • 键盘记录器

Rootkit分为两种:

  • 用户态Rootkit(User-mode Rootkit)。一般通过覆盖系统二进制和库文件来实现
  • 内核态Rootkit(Kernel-mode Rootkit)。通常通过可加载内核模块(Loadable KernelModule,LKM)将恶意代码直接加载进内核中

rootkit检测方法:

  • 扫描/ dev目录以查找异常。/ dev应该只具有设备文件和Makedev脚本。许多rootkit使用/ dev隐藏文件。该技术甚至可以检测到非公开的rootkit。
  • 扫描整个文件系统以查找异常文件和权限问题。由root拥有的文件具有对他人的写许可,这是非常危险的,rootkit检测将寻找它们。Suid文件,隐藏目录和文件也将被检查。
  • 寻找隐藏进程的存在。我们使用getsid()和kill()来检查是否正在使用任何pid。如果使用了pid,但“ ps”看不到,则表示内核级rootkit或“ ps”的木马版本。我们还验证了kill和getsid的输出是否相同。
  • 寻找隐藏端口的存在。我们使用bind()检查系统上的每个tcp和udp端口。如果我们无法绑定到端口(正在使用该端口),但是netstat没有显示该端口,则可能是安装了rootkit
  • 扫描系统上的所有接口,并查找启用了“混杂”模式的接口。如果接口处于混杂模式,则“ ifconfig”的输出应显示该信息。如果没有,我们可能安装了rootkit。

2.1.4 实时告警

ossec支持实时邮件告警、syslog告警、写数据库、输出json等方式

2.1.5 积极响应

OSSEC是一款准EDR产品,其中体现的‘R’技术,就是指的的这个主动响应。

我们可以根据特定的服务器或服务器组(agent)、特定的规则ID等多个条件关联触发响应动作,响应的动作可以通过脚本程序去实现个性化的需求。

  • 邮件提醒
  • 指令下发边界安全设备或者安全组件

2.2 部署方式

OSSEC支持以下操作系统和日志格式。

2.2.1 操作系统代理

OSSEC代理支持以下操作系统:

GNU / Linux(所有发行版,包括RHEL,Ubuntu,Slackware,Debian等)
Windows XP,2003,Vista,2008、2012
VMWare ESX 3.0、3.5(包括CIS检查)
FreeBSD(所有当前版本)
OpenBSD(所有当前版本)
NetBSD(所有当前版本)
Solaris 2.7、2.8、2.9、10和11.4
AIX 5.2和5.3
Mac OS X 10.x
HP-UX 11

2.2.2 通过Syslog支持的设备

这些系统/设备也通过远程系统日志支持:

Cisco PIX,ASA和FWSM(所有版本)
Cisco IOS路由器(所有版本)
Juniper Netscreen(所有版本)
SonicWall防火墙(所有版本)
Checkpoint防火墙(所有版本)
Cisco IOS IDS / IPS模块(所有版本)
Sourcefire(Snort)IDS / IPS(所有版本)
Dragon NIDS(所有版本)
Checkpoint Smart Defense(所有版本)
McAfee VirusScan Enterprise(v8和v8.5)
Bluecoat代理(所有版本)
Cisco VPN集中器(所有版本)
VMWare ESXi 4.x版

2.2.3 无代理扫描

使用OSSEC无代理选项,还支持以下系统(用于日志分析和文件完整性检查):

Cisco PIX,ASA和FWSM(所有版本)
Cisco IOS路由器(所有版本)
Juniper Netscreen(所有版本)
SonicWall防火墙(所有版本)
Checkpoint防火墙(所有版本)

3. 参考

矛与盾安全小组
https://www.ossec.net/docs/

你可能感兴趣的:(网络安全)