本文是对Wazuh, Osquery, AgentSmith这三款开源HIDS进行功能性的评估,目的是取长补短,做一个完善的HIDS系统。
HIDS的功能主要是依靠agent的数据收集功能, 所以HIDS的功能对比,实际上是agent的功能对比。
HIDS主要是为了检测主机系统的异常行为,也就是说,必须要建立各种基线,在基线的基础上进行事件监控,从事件中甄别出异常行为或误报,从而不断地调整更新基线。
那么,agent必须要采集各种系统信息生成各种基线,并且通过轮循或实时监控的方式来收集各种事件。
agent由于必须要主机系统上运行,有着不抢占资源,无感知,尽可能精准的要求, 所以开发agent需要使用更贴近系统,管控资源更好,不需要依赖大量运行库的语言,一般都是使用C/C++,也有使用rust和Go。
由于基线数据的采集频次不需要很高,可以使用定时采集方式,降低对业务服务进程的性能影响。所以,采集基线数据的开发难度不是很高。
事件监控,很多时候是希望不要遗漏,尽量精准和实时,但同时又不占大量资源,尽量不影响业务系统的运行。所以,事件监控的开发难度就非常高,特别是实时监控方面。
基于上面考虑,对agent的功能评估标准大致如下:
功能有无这样表示: 1: 有 0: 无
剩余内容请关注本人公众号debugeeker, 链接为最后防线:三款开源HIDS功能对比评估