最后防线:三款开源HIDS功能对比评估

2021-09-10 10:45:02 浏览数 (1)

本文是对Wazuh, Osquery, AgentSmith这三款开源HIDS进行功能性的评估,目的是取长补短,做一个完善的HIDS系统。

简介


HIDS的功能主要是依靠agent的数据收集功能, 所以HIDS的功能对比,实际上是agent的功能对比。

HIDS主要是为了检测主机系统的异常行为,也就是说,必须要建立各种基线,在基线的基础上进行事件监控,从事件中甄别出异常行为或误报,从而不断地调整更新基线。

那么,agent必须要采集各种系统信息生成各种基线,并且通过轮循或实时监控的方式来收集各种事件。

agent由于必须要主机系统上运行,有着不抢占资源,无感知,尽可能精准的要求, 所以开发agent需要使用更贴近系统,管控资源更好,不需要依赖大量运行库的语言,一般都是使用C/C ,也有使用rust和Go。

评估标准


由于基线数据的采集频次不需要很高,可以使用定时采集方式,降低对业务服务进程的性能影响。所以,采集基线数据的开发难度不是很高。

事件监控,很多时候是希望不要遗漏,尽量精准和实时,但同时又不占大量资源,尽量不影响业务系统的运行。所以,事件监控的开发难度就非常高,特别是实时监控方面。

基于上面考虑,对agent的功能评估标准大致如下:

  • 基线:整体占40分,包含10条基线,每条基线4分。
    1. 设备基线:系统的硬件设备(CPU型号,内存设备型号,存储设备,各种外设)
    2. 系统基线:cpu个数,内存使用,磁盘使用,分区加载,系统版本,发行版,启动时长,系统限制
    3. 供应链基线:软件管理的仓库
    4. 软件基线:软件列表,软件详细信息
    5. 配置基线:shell配置,启动配置,加载配置,分区配置
    6. 用户基线: 用户列表,组列表,权限列表
    7. 网络基线:网卡个数,地址信息,ARP信息,路由信息,DNS信息,防火墙信息
    8. 服务基线:服务列表,已启动的服务,服务所管理的进程,定时任务
    9. 容器基线:docker版本,镜像,网络,容器
    10. 安全基线:apparmor配置和运行状态,selinux配置和运行状态,yara配置,suid程序
  • 事件监控:总分60。由于在操作系统里,基本上一切事件都可以归结为进程的活动。
    1. 谁启动进程:进程树,检测进程隐藏,so注入,提权行为
    2. 某个进程退出:监控进程异常退出
    3. 哪个进程插入内核模块:检测rootkit/bootkit
    4. 哪个进程操作某个文件:检测恶意篡改,痕迹隐藏,恶意授权
    5. 哪个进程启动socket:检测高危端口和外连行为
    6. 哪个进程操作某个进程:检测动态注入和DOS行为

各种基线


功能有无这样表示: 1: 有 0: 无

设备基线

剩余内容请关注本人公众号debugeeker, 链接为最后防线:三款开源HIDS功能对比评估

0 人点赞