一、入侵检测系统(ids)
- 入侵检测系统(IDS)监视网络流量中是否存在异常或可疑活动,并将警报发送给管理员。
- 根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和误用入侵检测。不同于防火墙,入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作
二、发展
- 1980年代中期,IDS逐渐发展成为入侵检测专家系统(IDES)。
- 1990年,IDS分化为基于网络的IDS和基于主机的IDS。后又出现分布式IDS。
- IDS发展迅速,已有人宣称IDS可以完全取代防火墙。
三、分类
- 从技术上,入侵检测分为两类:一种基于标志,另一种基于异常情况
- 基于标志的检测技术,要定义违背安全策略的事件的特征,如网络数据包的某些头信息。检测主要判别这类特征是否在所收集到的数据中出现
- 基于异常的检测技术则是先定义一组系统“正常”的数值,如CPU利用率、内存利用率、文件校验,然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何定义所谓的“正常”情况
- 两种检测技术的方法、所得出的结论有非常大的差异。基于标志的检测技术的核心是维护一个知识库。对于已知的攻击,它可以详细、准确的报告出攻击类型,但是对未知攻击却效果有限,而且知识库必须不断更新。基于异常的检测技术则无法准确判别出攻击的手法,但它可以判别更广范、甚至未发觉的攻击
四、组成
- 事件产生器(Event generators),它的目的是从整个计算环境中获得事件,并向系统的其他部分提供此事件。
- 事件分析器(Event analyzers),它经过分析得到数据,并产生分析结果。
- 响应单元(Response units ),它是对分析结果作出反应的功能单元,它可以作出切断连接、改变文件属性等强烈反应,也可以只是简单的报警。
- 事件数据库(Event databases )事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。
五、行业中入侵检测产品
- SolarWinds Security Event Manager:分析来自Windows,Unix,Linux和Mac OS系统的日志。它管理Snort收集的数据,包括实时数据。 SEM还是一种入侵防御系统,附带700多个规则以关闭恶意活动。改善安全性,响应事件并实现合规性的重要工具。
- CrowdStrike Falcon(免费试用):一种基于云的端点保护平台,其中包括威胁搜寻。
- ManageEngine EventLog Analyzer(免费试用):一种日志文件分析器,用于搜索入侵的证据。
- Snort:由Cisco Systems提供,可免费使用,领先的基于网络的入侵检测系统软件。
- OSSEC:优秀的基于主机的入侵检测系统,可免费使用。
- Suricata:基于Network的入侵检测系统软件,在应用程序层运行,以提高可视性。
- Zeek:网络监控器和基于网络的入侵防御系统。
- Sagan:日志分析工具可以集成在snort数据上生成的报告,因此它是具有少量NIDS的HIDS。
- Security Onion:网络监视和安全工具由从其他免费工具中提取的元素组成。
- AIDE:高级入侵检测环境是适用于Unix,Linux和Mac OS的HIDS
- OpenWIPS-NG:来自Aircrack-NG制造商的无线NIDS和入侵防御系统。
- Samhain:直接基于主机的入侵检测系统,适用于Unix,Linux和Mac OS。
- Fail2Ban:用于Unix,Linux和Mac OS的轻型基于主机的入侵检测软件系统。
六、基于主机的入侵检测
- 基于主机的入侵检测系统检查计算机上的事件,而不是检查系统周围通过的流量。这种类型的入侵检测系统缩写为HIDS,主要通过在受保护的计算机上查看管理文件中的数据来进行操作。这些文件包括日志文件和配置文件。
- HIDS将备份您的配置文件,以便在恶意病毒通过更改计算机的设置而失去系统安全性时,您可以还原设置。您要防止的另一个关键因素是类Unix平台上的root用户访问权限或Windows系统上的注册表更改。 HIDS将无法阻止这些更改,但是它应该能够在发生任何此类访问时提醒您
- HIDS监视器的每个主机上都必须安装一些软件。您只需让HIDS监视一台计算机即可。但是,更常见的是在网络上的每台设备上安装HIDS。这是因为您不想忽略任何设备上的配置更改。自然,如果您的网络上有多个HIDS主机,则无需登录到每个HIDS主机即可获得反馈。因此,分布式HIDS系统需要包括一个集中控制模块。寻找一个对主机代理和中央监视器之间的通信进行加密的系统。
七、基于网络的入侵检测
- 基于网络的入侵检测,、可检查网络上的流量。因此,典型的NIDS必须包括一个数据包嗅探器,以收集网络流量进行分析。
- NIDS的分析引擎通常基于规则,可以通过添加自己的规则进行修改。对于许多NIDS,系统的提供者或用户社区将向您提供规则,您只需将规则导入到您的实现中即可。熟悉所选NIDS的规则语法后,便可以创建自己的规则。
- 链接回流量收集,您不想将所有流量转储到文件中或通过仪表板运行全部操作,因为您将无法分析所有这些数据。因此,在NIDS中推动分析的规则也会创建选择性的数据捕获。例如,如果您有关于令人担忧的HTTP流量类型的规则,则NIDS仅应选择并存储显示这些特征的HTTP数据包。
- 通常,NIDS安装在专用硬件上。高端付费企业解决方案是作为网络套件提供的,其中预先装有软件。但是,您不必花大钱就可以买到专业的硬件。 NIDS确实需要传感器模块来接收流量,因此您可以将其加载到LAN分析器上,或者可以选择分配计算机来运行任务。但是,请确保为任务选择的设备具有足够的时钟速度,以免降低网络速度。
八、汇总
-
IDS HIDS/NIDS Unix Linux Windows Mac OS SolarWinds Security Event Manager Both No No Yes No CrowdStrike Falcon HIDS Yes Yes Yes Yes Snort NIDS Yes Yes Yes No OSSEC HIDS Yes Yes Yes Yes ManageEngine EventLog Analyzer HIDS Yes Yes Yes Yes Suricata NIDS Yes Yes Yes Yes Zeek NIDS Yes Yes No Yes Sagan Both Yes Yes No Yes Security Onion Both No Yes No No AIDE HIDS Yes Yes No Yes Open WIPS-NG NIDS No Yes No No Samhain HIDS Yes Yes No Yes Fail2Ban HIDS Yes Yes No Yes -
SolarWinds Security Event Manager :运行在Windows Server上,但可以记录Unix,Linux和Mac OS计算机以及Windows PC生成的消息。作为日志管理器,这是基于主机的入侵检测系统,因为它与管理系统上的文件有关。但是,它也管理Snort收集的数据,这使其成为基于网络的入侵检测系统的一部分。
Snort是Cisco Systems创建的一种广泛使用的数据包嗅探器。它具有特定的数据格式,其他IDS工具生产商已将其集成到其产品中。 SolarWinds安全事件管理器就是这种情况。网络入侵检测系统会检查流量数据在网络上传播的情况。要部署Security Event Manager的NIDS功能,您需要使用Snort作为数据包捕获工具,并将捕获的数据漏斗到Security Event Manager中进行分析。尽管LEM在处理日志文件创建和完整性时可充当HIDS工具,但它能够通过Snort接收实时网络数据,而Snort是NIDS的一项活动。
SolarWinds产品还可以充当入侵防御系统,因为它可以触发检测入侵的措施。该软件包附带700多个事件关联规则,使它能够发现可疑活动并自动实施补救活动。这些动作称为主动响应。
Security Event Manager的Snort消息处理功能使其成为非常全面的网络安全监视器。 由于该工具能够将Snort数据与系统上的其他事件结合在一起,因此几乎可以立即关闭恶意活动。 经过微调的事件相关规则,大大降低了通过检测误报而中断服务的风险
-
CrowdStrike Falcon系统是一个端点保护平台(EPP)。这是一个HIDS,因为它监视各个端点上的活动而不是网络活动。但是,与典型的HIDS不同,该系统不关注受监控设备上的日志文件,而是查看每台计算机上运行的进程,这通常是NIDS策略。
Falcon平台是一组模块。 HIDS功能由Falcon Insight部门提供。这是一个端点检测和响应(EDR)系统。 EPP的核心模块称为Falcon Prevent,它是下一代AV系统。这也使用HIDS方法来检测恶意行为。这两种模块的方法之间的差异很小,因为这两种方法都监视异常行为。但是,Falcon Prevent的识别特征是它正在搜索恶意软件,而Falcon Insight专门在寻找入侵。
Falcon Insight将事件记录在受保护的计算机上,需要将其存储在日志文件中,因此一旦编写了这些事件,该工具的研究和检测元素就会使用纯HIDS策略。 EPP的事件收集元素是代理,必须将其安装在受保护的设备上。该代理与EPP的中央处理系统进行通信,该中央处理系统驻留在云中。受保护端点的人工管理员可以通过任何标准浏览器访问Falcon仪表板。
CrowdStrike Falcon软件的本地/云混合体系结构的优点是该系统在您的设备上非常轻便。 CrowdStrike服务器上的分析软件提供了用于威胁分析的所有处理能力。这意味着安装此安全服务不会降低计算机的速度,让计算机自由执行为其提供的任务。但是,该代理还充当威胁补救实施者,因此即使Internet连接不可用,该代理也可以继续工作。
-
Snort是NIDS的行业领导者,但仍然可以免费使用。这是可以在Windows上安装的少数几个IDS之一。它是由思科创建的。该系统可以在三种不同的模式下运行并可以实施防御策略,因此它既是入侵防御系统又是入侵检测系统。Snort的三种模式是:
嗅探器模式、封包记录器、入侵检测
可以将snort用作数据包嗅探器,而无需打开其入侵检测功能。在这种模式下,您可以实时读取通过网络传递的数据包。在数据包记录模式下,那些数据包详细信息将写入文件。当您访问Snort的入侵检测功能时,您将调用一个分析模块,该模块将一组规则应用于通过的流量。这些规则称为“基本策略”,如果您不知道需要哪些规则,则可以从Snort网站下载它们。但是,一旦您对Snort的方法学充满信心,就可以编写自己的方法了。该IDS有大量的社区基础,它们在Snort网站的社区页面上非常活跃。您可以从其他用户那里获得提示和帮助,还可以下载有经验的Snort用户已经制定的规则。
-
OSSEC代表开源HIDS安全性。它是领先的HIDS,并且完全免费使用。作为基于主机的入侵检测系统,该程序专注于安装它的计算机上的日志文件。它监视所有日志文件的校验和签名,以检测可能的干扰。在Windows上,它将保留对注册表所做的任何更改的选项卡。在类似Unix的系统上,它将监视任何访问root帐户的尝试。尽管OSSEC是一个开源项目,但它实际上是由趋势科技(一家著名的安全软件生产商)拥有的。
主监视应用程序可以覆盖一台计算机或多台主机,将数据整合到一个控制台中。尽管有一个Windows代理可以监视Windows计算机,但是主应用程序只能安装在类Unix系统上,这意味着Unix,Linux或Mac OS。主程序有OSSEC的接口,但是该接口是单独安装的,不再受支持。 OSSEC的常规用户已经发现其他可以很好地用作数据收集工具前端的应用程序:Splunk,Kibana和Graylog。
OSSEC涵盖的日志文件包括FTP,邮件和Web服务器数据。它还监视操作系统事件日志,防火墙和防病毒日志和表以及流量日志。 OSSEC的行为由您在其上安装的策略控制。可以从该产品活跃的大型用户社区中获取这些附件。策略定义警报条件。这些警报可以显示在控制台上,也可以作为通知通过电子邮件发送。主要特点:日志文件分析器、免费政策、警报系统
-
Suricata可能是Snort的主要替代产品。 Suricata与Snort相比,具有一个关键优势,那就是它在应用程序层收集数据。这克服了Snort对签名分割成多个TCP数据包的盲目性。 Suricata等待将数据包中的所有数据组装起来,然后再将信息移入分析。
尽管系统在应用程序层工作,但它可以监视较低级别的协议活动,例如IP,TLS,ICMP,TCP和UDP。它检查不同网络应用程序(包括FTP,HTTP和SMB)的实时流量。监视器不仅查看数据包的结构。它可以检查TLS证书,并专注于HTTP请求和DNS调用。文件提取工具使您可以检查和隔离具有病毒感染特征的可疑文件。
Suricata与Snort兼容,您可以使用为该NIDS负责人编写的相同VRT规则。与Snort集成的那些第三方工具(例如Snorby,BASE,Squil和Anaval)也可以连接到Suricata。因此,访问Snort社区以获取提示和免费规则对于Suricata用户可能是一个很大的好处。内置脚本模块使您可以组合规则并获得比Snort所能提供的更精确的检测配置文件。 Suricata同时使用签名和异常检测方法。
Suricata具有巧妙的处理架构,可通过使用许多不同的处理器同时进行多线程活动来实现硬件加速。它甚至可以部分在您的图形卡上运行。任务的这种分布可避免负载仅承受一台主机。很好,因为此NIDS的一个问题是它的处理量很大。
-
Zeek是一个免费的NIDS,它不仅可以进行入侵检测,还可以为您提供其他网络监视功能。 Zeek的用户社区包括许多学术和科研机构。Zeek入侵检测功能分两个阶段完成:流量记录和分析。与Suricata一样,Zeek与Snort相比具有一个主要优势,因为它的分析在应用程序层进行。这样,您就可以跨数据包查看数据,以更广泛地分析网络协议活动。
Zeek的分析模块具有两个元素,可同时用于签名检测和异常分析。这些分析工具中的第一个是Zeek事件引擎。这跟踪触发事件,例如新的TCP连接或HTTP请求。每个事件都被记录下来,因此系统的这一部分与策略无关-它仅提供事件列表,在这些事件中,分析可能会揭示同一用户帐户所产生的重复动作或可疑活动。
该事件数据的挖掘由策略脚本执行。警报条件将引起行动,因此Zeek是入侵防御系统以及网络流量分析器。可以自定义策略脚本,但是它们通常沿标准框架运行,该框架涉及签名匹配,异常检测和连接分析。
您可以使用Zeek跟踪HTTP,DNS和FTP活动,还可以监视SNMP流量,使您可以检查设备配置更改和SNMP陷阱条件。每个策略都是一组规则,您不限于活动策略的数量或可以检查的协议堆栈其他层。在较低级别,您可以当心DDoS Syn Flood攻击并检测端口扫描。
-
Sagan是基于主机的入侵检测系统,因此它是OSSEC的替代产品,并且可以免费使用。尽管是HIDS,但该程序与NIDS系统Snort收集的数据兼容。这种兼容性还扩展到了可以与Snort结合使用的其他工具,例如Snorby,BASE,Squil和Anaval。来自Zeek和Suricata的数据源也可以输入Sagan。该工具可以安装在Unix,Linux和Mac OS上。尽管您无法在Windows上运行Sagan,但可以将Windows事件日志输入其中。
严格来说,Sagan是一个日志分析工具。使其成为独立NIDS所缺少的元素是数据包嗅探器模块。但是,从好的方面来说,这意味着Sagan不需要专用的硬件,并且可以灵活地分析主机日志和网络流量数据。该工具必须与其他数据收集系统配合使用,以创建完整的入侵检测系统。
Sagan的一些不错的功能包括IP定位器,它使您能够查看被检测为具有可疑活动的IP地址的地理位置。这将使您能够汇总似乎协同工作的IP地址的动作,从而构成攻击。 Sagan可以将其处理分布在多个设备上,从而减轻了密钥服务器CPU的负担。
该系统包括脚本执行,这意味着它将生成警报并在检测到入侵场景时执行操作。如果来自特定来源的可疑活动,它可以与防火墙表进行交互以实施IP禁令。因此,这是一个入侵防御系统。分析模块可用于签名和异常检测方法。
-
对于IDS解决方案,您可以尝试使用免费的Security Onion系统。此列表中的大多数IDS工具都是开源项目。这意味着任何人都可以下载源代码并进行更改。这正是Security Onion的开发人员所做的。他从Snort,Suricata,OSSEC和Zeek的源代码中提取了元素,并将它们缝合在一起,以创建基于Linux的免费NIDS / HIDS混合体。 Security Onion编写为可在Ubuntu上运行,并且还集成了来自前端系统和分析工具的元素,包括Snorby,Sguil,Squit,Kibana,ELSA,Xplico和NetworkMiner。
尽管Security Onion被归类为NIDS,但它确实也包含HIDS功能。它将监视您的日志和配置文件中是否存在可疑活动,并检查这些文件的校验和中是否有任何意外更改。 Security Onion全面的网络基础结构监视方法的缺点之一是其复杂性。它具有几种不同的操作结构,实际上并没有足够的在线学习资料或捆绑在一起的学习材料来帮助网络管理员掌握该工具的全部功能。
网络分析是由数据包嗅探器进行的,它可以在屏幕上显示通过的数据,也可以写入文件。 Security Onion的分析引擎使事情变得复杂,因为有许多具有不同操作过程的不同工具,您最终可能会忽略其中的大多数。 Kibana的界面提供了Security Onion的仪表板,并且确实包含一些漂亮的图形和图表以简化状态识别。
-
由德国Samhain Design Labs生产的Samhain是免费使用的基于主机的入侵检测系统软件。它可以在单台计算机或多台主机上运行,从而提供有关每台计算机上运行的代理检测到的事件的集中数据。
每个代理执行的任务包括文件完整性检查,日志文件监视和端口监视。进程查找rootkit病毒,流氓SUID(用户访问权限)和隐藏进程。在多主机实现中,系统将加密应用于代理和中央控制器之间的通信。传送日志文件数据的连接包括身份验证要求,可以防止入侵者劫持或替换监视过程。
Samhain收集的数据可以分析网络上的活动,并突出显示入侵的警告信号。但是,它不会阻止入侵或清除恶意进程。您将需要保留配置文件和用户身份的备份,以解决Samhain监视器显示的问题。
黑客和病毒入侵的一个问题是,入侵者将采取措施将其隐藏。这包括终止监视过程。 Samhain部署了一种隐身技术来隐藏其进程,从而防止入侵者操纵或杀死IDS。这种隐形方法称为“隐写术”。
中央日志文件和配置备份使用PGP密钥签名,以防止入侵者篡改。
Samhain是一个开源网络入侵检测系统,可以免费下载。它是根据POSIX准则设计的,以使其与Unix,Linux和Mac OS兼容。中央监视器将汇总来自不同操作系统的数据。
-
Fail2Ban是一个免费的基于主机的入侵检测系统,专注于检测日志文件中记录的令人担忧的事件,例如过多的失败登录尝试。系统在显示可疑行为的IP地址上设置了阻止。这些禁令通常仅持续几分钟,但这足以破坏标准的自动暴力破解密码的情况。此安全策略也可以有效地抵抗DoS攻击。 IP地址禁止的实际长度可以由管理员调整
Fail2Ban实际上是一种入侵防御系统,因为它可以在检测到可疑活动时采取措施,而不仅会记录并突出显示可能的可疑入侵。
因此,系统管理员在设置软件时必须注意访问策略,因为过于严格的预防策略很容易将善意的用户拒之门外。 Fail2Ban的问题在于,它专注于从一个地址重复执行操作。这使其无法应对分布式密码破解活动或DDoS攻击。
Fail2Ban用Python编写,并且能够写入系统表以阻止可疑地址。这些自动锁定发生在Netfilter,iptables,PF防火墙规则和TCP Wrapper的hosts.deny表中。
系统的攻击监视范围由一系列过滤器定义,这些过滤器指示IPS监视哪些服务。其中包括Postfix,Apache,Courier Mail Server,Lighttpd,sshd,vsftpd和qmail。每个过滤器都与一个动作结合在一起,以在检测到警报情况时执行。过滤器和操作的组合称为“监狱”。
该系统采用POSIX标准编写,因此可以安装在Unix,Linux和Mac OS操作系统上。
九、如何选择IDS
-
基于网络的IDS解决方案的硬件要求可能会让您望而却步,而是将您推向基于主机的系统,该系统更容易启动和运行。但是,请不要忽略您不需要专用于这些系统的专用硬件的事实,只需专用主机即可。
实际上,您应该在为网络获取HIDS和NIDS。这是因为您需要注意计算机上的配置更改和root用户访问权限,以及查看网络流量中的异常活动。
好消息是,我们列出的所有系统都是免费的或免费试用的,因此您可以尝试其中的一些。这些系统的用户社区方面可能会特别吸引您,如果您已经有一位具有丰富经验的同事。从其他网络管理员那里获得提示的能力绝对是这些系统的吸引力。与专业服务台支持的付费解决方案相比,它甚至更具吸引力。
如果您的公司所在的行业需要标准的安全合规性,例如PCI,那么您确实需要适当的IDS解决方案。另外,如果您将个人信息保存在公众面前,则您的数据保护程序必须严格执行,以防止因数据泄露而起诉您的公司。