分析和处理来自网络入侵检测系统的警报的方法和系统 【技术领域】
本发明一般地涉及入侵检测,更具体地,涉及用于分析和处理来自网络入侵检测系统的警报的方法和系统。
背景技术
网络入侵检测系统(NIDS)通常被设计来实时监视网络行为,以发现可疑或已知的恶意行为,并向适当的人员报告这些发现。通过监视所有行为,NIDS具有这样的潜能:相对快速地发出关于计算机入侵的警告,给管理员时间以保护或遏制入侵,或允许NIDS自动反应并阻止攻击。在安全产业中,NIDS可以是流量的被动观察者,或者是实时反应以阻塞攻击的主动网络部件。
因为许多NIDS是网络流量的被动观察者,所以它们经常缺乏关于攻击和防护主机的特定知识,这使其不能判断攻击是否成功或失败。非常像偷听两个陌生人之间谈话的窃听者,NIDS经常缺乏关于攻击情况的知识,因此,对不是敌意或不相关地网络行为“报警”。
某些系统试图通过建立它们所监视的网络的静态图解决该问题。通常通过如下方式建立起这一知识:扫描网络上的所有系统并将结果保存到数据库中用于随后检索。这种系统不能满足大多数网络,因为网络设备的拓扑、类型和位置经常变化,并需要管理员维护静态数据库。另外,经常地扫描并保持网络数据库是最新的,这样做强度很大,并且可能经常减慢网络服务,或导致网络服务停止工作。
【发明内容】
根据本发明的一个实施例,一种用于分析和处理来自网络入侵检测系统的警报的方法包括:接收指示对目标主机的攻击可能已经发生的警报,响应于该警报自动访问目标主机,以及识别对目标主机的攻击的存在。
本发明的一些实施例提供了许多技术优点。其他实施例可以实现这些优点中的部分或全部,也可能不实现这些优点。例如,根据一个实施例,基本上减少或消除了网络入侵检测系统(NIDS)的误报警率,这导致了对监视NIDS以响应每个警报的人员的较低需求。即使不需要整个受保护网络的知识,也可以促进较低误报警率。因为不需要网络知识,所以可以向网络中动态加入主机。
根据另一个实施例,对网络的危险攻击被升级,并且高代价的入侵被补救。通过主动调查对实际目标主机的攻击,计算机法庭证据被收集,通过被危害主机的清理可以完成从网络攻击自动恢复。另外,通过双重检查已经配置的安全技术,执行对成功攻击的随机或定期的目标主机的扫描的能力提高了安全性。
从下面的附图、描述和权利要求中,本领域的技术人员可以容易地发现其他技术优点。
【附图说明】
为了更彻底地理解本发明及其优点,下面的描述结合了附图,其中相似的标号代表相似的部分,其中:
图1是图示了根据本发明一个实施例的系统的示意图,该系统通过利用被动分析工具和主动分析工具,减少网络入侵检测系统(NIDS)的误报警率,并分析和处理来自NIDS的警报;
图2是图示了根据本发明一个实施例的图1中的被动分析工具的各种功能部件的方框图;
图3是图示了根据本发明一个实施例的用于减少网络入侵检测系统的误报警率的方法的流程图;
图4是图示了根据本发明一个实施例的可以与图3中的方法结合使用的方法的流程图;
图5是图示了根据本发明一个实施例的图1中的主动分析工具的各种功能部件的方框图;以及
图6是图示了根据本发明一个实施例的用于分析和处理来自网络入侵检测系统的警报的方法的流程图。
【具体实施方式】
参考附图的图1至图6能够最好地理解本发明的实施例,用相似的标号表示各个附图中相似和对应的部分。
图1是图示了根据本发明一个实施例的系统100的示意图,系统100通过利用被动分析工具110和主动分析工具111,减少网络入侵检测系统(NIDS)108的误报警率,并分析和处理来自NIDS 108的警报。在图示的实施例中,NIDS 108被耦合到链路106,该链路将无保护网络102和受保护网络104可通信地耦合。系统100还包括使用被动分析工具110和主动分析工具111的网络管理员112,下面将更详细的对此进行描述。
无保护网络102可以是受保护网络104外部的任何合适网络。无保护网络102的例子有:因特网、外联网和局域网。受保护网络104可以是任何合适网络,例如局域网、广域网、虚拟专用网或希望相对无保护网络102是安全的任何其他合适网络。链路106将无保护网络102耦合到受保护网络104,它可以是任何合适的通信链路或信道。在一个实施例中,通信链路106被操作以在无保护网络102和受保护网络104之间以“分组”的形式传送数据;但是,通信链路106也可以被操作来以其他合适形式传送数据。
在一个实施例中,NIDS 108是任何合适的基于网络的入侵检测系统,该系统被操作以分析在通信链路106上传送的数据分组,以便检测任何对受保护网络104的潜在攻击。NIDS 108可以是硬件、固件和/或软件的任何合适组合。通常,NIDS 108包括一个或多个传感器,这些传感器具有监视拥有任何合适数据链路协议的任何合适类型的网络的能力。在一个具体实施例中,与NIDS 108相关联的传感器可操作以检查使用诸如TCP(传输控制协议)、UDP(用户数据报协议)和ICMP(因特网控制报文协议)之类的任何合适协议的IP(因特网协议)网络上的数据分组。当检测到对受保护网络104的可能攻击时,NIDS 108可操作以生成警报,该警报指示可能发生了对受保护网络104的攻击,并可以立即阻塞该攻击。然后该警报被传送到被动分析工具110以进行如下所述的分析。
根据本发明一个实施例的教导,被动分析工具110从NIDS 108接收警报,并使用与该警报相关联的信息判断攻击是真实的还是虚假的警报。被动分析工具110大大降低了网络环境中诸如NIDS 108的网络入侵检测系统的误报警率,并降低了对监视这些系统以响应每个警报的诸如网络管理员112的人员的需求。下文将结合图2至图4更详细地描述被动分析工具110的细节。虽然在图1中被动分析工具110被图示为与NIDS 108分离,但是其也可以与NIDS 108集成在一起,从而不需要分立的硬件。不管怎样,NIDS 108和被动分析工具110都彼此结合工作,以基于检测到的攻击的严重性和准确度来分析、减少或升级警报。一个技术优点是本发明的某些实施例可以消除针对错的操作系统、供应商、应用或网络硬件的警报。
根据本发明另一个实施例的教导,主动分析工具111从被动分析工具110接收被确认的警报,并自动登录到目标主机120以调查所检测到的攻击,并主动判断对目标主机120的攻击是否成功。另外,主动分析工具111可以通过收集相关的法庭证据(forensic evidence)并启动任何合适的补救措施来响应攻击。对目标主机120的攻击进行主动调查的过程保证了在短的响应时间中的高准确度。可以从目标主机120复制法庭信息以保护其完整性不受篡改,由此使得网络管理员112或其他合适人员能够快速分析目标主机120并判断在攻击发生后造成了什么变化,并使用该信息用于随后对攻击者的起诉。下文将结合图5和图6更详细地描述主动分析工具111的细节。虽然主动分析工具111在图1中被图示为与NIDS分离,但是其也可以与NIDS 108集成在一起,从而不需要分立的硬件。
网络管理员112可以是使用被动分析工具110和主动分析工具111以监视对受保护网络104的潜在攻击并且如果适当的话则对此进行响应的任何合适人员。网络管理员112通常在他或她的计算机上具备被动分析工具110和主动工具111,以从被动分析工具接收过滤后的警报,如标号114所示,并接收关于被调查警报的信息,如标号115所示。
图2是图示了根据本发明一个实施例的被动分析工具110的各种功能部件的方框图。本发明可以包含多于、少于或不同于图2中所示的那些部件的部件。这些部件可以是与被动分析工具110相关联的软件,它们可以由处理器执行。在图示的实施例中,被动分析工具110包括警报输入层202、警报解释层204、目标高速缓存查找206、操作系统(OS)指纹机制208、端口指纹机制210和警报输出层212。在结合图3和图4更详细地描述被动分析工具110的某些功能之前,现在先描述这些部件中的每一个的一般功能。
警报输入层202一般负责从NIDS 108接受警报,并将其传递到其他系统部件用于分析。在一个实施例中,警报输入层202从NIDS 108接受警报,并判断警报格式是否有效。如果警报格式无效,则忽略该警报。如果警报格式有效,则将该警报发送到警报解释层204。警报输入层202优选地被设计为与NIDS供应商无关,使得它可以同时接受来自多个NIDS源的警报,而不需要更改。
一般地,警报解释层204从警报输入层202接收警报,并对警报执行分析。在一个实施例中,警报解释层204判断警报是否来自被支持的NIDS供应商。如果警报不是来自被支持的NIDS供应商,则生成警告并忽略该警报。如果警报来自被支持的NIDS供应商,则警报解释层204负责判断NIDS供应商警报类型、被攻击的相关操作系统类型(例如,Microsoft Windows、Sun Solaris、Linux、UNIX等)、源地址、目标网络地址、警报严重性、警报描述以及与警报相关联的其他任何合适参数。该信息中的某些被被动分析工具110用来测试警报是真实的还是虚假的,下文将结合图3和图4对此进行更详细的描述。
目标高速缓存查找206指示被动分析工具110执行查找,以判断是否已经针对由警报指示的具体攻击检查了目标主机120的弱点。可以在任何合适的存储单元执行查找,例如局部状态表或数据库。
OS指纹机制208执行目标主机120的被动分析,以判断目标主机120的操作系统类型。简而言之,在一个示例中,被动分析工具110发送目标主机120处的在其头部有协议标志、选项以及其他合适信息的特定组合的因特网协议(IP)分组,以便确定操作系统供应商和版本号。在本领域,操作系统指纹是公知的,因此这里不对其进行详细描述。这种类型OS指纹的一个优点是除了远程网络连接外不需要对目标主机120的内部访问。OS指纹机制208可以在执行数秒内建立操作系统类型,并在合适的存储单元存储该信息以用于随后的检索和使用。
端口指纹机制210运行,以在动态增加或删除主机时,识别被存储在合适的存储单元中的目标端口地址。端口指纹机制210与OS指纹机制208结合工作,以判断例如在具体目标主机上的受攻击端口是否活动的还是不活动的。这使得被动分析工具110能快速出判断攻击是否能够起作用。例如,通过检查目标主机来查看端口80是否是活动的,可以证实针对具体目标主机上TCP端口80的攻击是否已经失败。
警报输出层212负责从被动分析工具110收集分析后的数据,并使警报升级或降级。换言之,警报输出层212运行以报告有效警报;即,具体目标主机易受攻击。可以以任何合适的方式报告有效警报,例如通过使用图形用户接口或存储在数据库中的日志文件,或者任何其他合适输出。如下文进一步详细描述的那样,主动分析攻击111可以利用被确认的警报来判断对目标主机的攻击是起作用的还是失败的。
下文结合图3和图4描述根据本发明一个实施例的被动分析工具110另外的功能的细节。
图3是图示了根据本发明一个实施例的用于减少网络入侵检测系统的误报警率的方法的流程图。示例方法在步骤300开始,其中被动分析工具110从NIDS接收到警报。在步骤302,被动分析工具110从该警报中识别目标地址。在步骤304,被动分析工具110然后访问系统高速缓存,以判断诸如目标主机120的被识别的目标主机是否已经针对该具体攻击类型被检查了。
因此,在判断步骤306中,判断在系统高速缓存中是否已经找到目标地址。如果找到了目标地址,则在判断步骤308中,判断高速缓存项时间是否仍然有效。换言之,如果在最近时间段内针对具体类型的攻击检查了目标主机120,则该信息被临时存储在系统高速缓存中。虽然任何合适时间段可以被用来存储该信息,但是在一个实施例中,该信息被存储不超过一个小时。如果高速缓存项时间仍然有效,则该方法在步骤310继续,其中由被动分析工具110接收目标主机120的OS指纹。
再参考判断步骤306和308,如果在系统高速缓存中没有找到目标地址,或者如果高速缓存项时间对在系统高速缓存中找到的目标地址无效,则被动操作工具110通过使用任何合适的OS指纹技术获得目标主机120的操作系统指纹,如步骤312所示。然后在步骤314,将操作系统指纹存储在系统高速缓存中。然后该方法继续到步骤310,其中接收目标主机120的操作系统指纹。
在步骤316,被动分析工具110将攻击类型与目标主机120的操作系统类型相比较。在判断步骤318,判断目标主机120的操作系统类型是否与攻击类型一致。如果一致,则在步骤320报告被确认的警报。如果不一致,则指示虚假警报,如步骤322所示。例如,如果攻击类型是针对Windows系统,而操作系统指纹显示是Windows主机,则警报被确认。但是,如果攻击类型是针对Windows系统,而操作系统指纹显示是UNIX主机,则指示虚假警报。然后这结束了图3概述的示例方法。
虽然图3中概述的方法是参考被动分析工具110将操作系统类型与攻击类型相比较来描述的,但是也可以将操作系统的其他合适特性与攻击类型的相关特性相比较来判断警报是真实的还是虚假的。
这样,在一个实施例中,被动分析工具110筛选出潜在的虚假警报,而不需要整个受保护网络104的知识。从诸如NIDS 108的被配置的NIDS接收警报输入,并分析该警报输入以判断攻击是真实的还是虚假警报。即使不需要在受保护网络104的每一个计算设备上安装代理,也可以完成该过程。
图4是图示了根据本发明实施例的可以与图3中概述的示例方法结合使用的示例方法的流程图。图4中概述的示例方法针对向受保护网络104的主机动态增加,以使得不需要关于网络的先验知识。图4中的示例方法在步骤400开始,其中动态主机配置协议(DHCP)服务器122(图1)被被动分析工具110监视。本发明包括被被动分析工具110监视的任何合适的动态配置协议服务器。在步骤402,被动分析工具110检测租用行为。这里使用的“租用”是指主机在给定的一段时间内被赋予了网络地址。在判断步骤404,判断检测到租用发出还是租用到期。
如果被动分析工具110检测到租用到期,则系统高速缓存被访问,如步骤406所示。在判断步骤408,判断在系统高速缓存中是否找到与租用到期相关联的目标地址。如果在系统高速缓存中找到目标地址,则在步骤410从系统高速缓存中清除该项。然后被动分析工具110继续监视DHCP服务器122。如果在系统高速缓存中没有发现目标地址,则忽略租用过期,如步骤412所示。被动分析工具110继续监视DHCP服务器122。
再参考判断步骤404,如果检测到租用发出,则访问系统高速缓存,如步骤414所示。在判断步骤416,判断在系统高速缓存中是否找到与租用发出相关联的目标地址。如果发现目标地址,则在步骤418清除该项。如果在系统高速缓存中没有发现目标地址,则该方法继续到如下所述的步骤420。
在步骤420,获得目标主机的操作系统指纹。该操作系统指纹在系统高速缓存中被存储特定的一段时间,如步骤422所示。然后被动分析工具110继续监视DHCP服务器122。
图4中概述的方法节省了可观的时间和费用,并且比需要网络先验知识的现有系统更准确。被动分析工具110可以将项目存储用户定义长度的时间,这减少了完成操作系统指纹所需要的时间量,增加了网络入侵检测系统的效率。另外一个技术优点是节省了资源,并且对受保护网络的影响小,因为只是在需要的时候才建立目标系统简述(profile),其有效地用作“及时”弱点分析。
图5是图示了根据本发明一个实施例的主动分析工具111的各种功能部件的方框图。本发明可以包含多于、少于或不同于图5中所示的那些部件的部件。这些部件可以是与主动分析工具111相关联的软件,它们可以由处理器执行。在图示的实施例中,主动分析工具111包括警报输入层500、警报解释层502、警报调查层504、主动分析层506、警报响应层508和警报输出层510。在结合图6更详细地描述主动分析工具111的功能之前,现在先描述这些部件中的每一个的一般功能。
警报输入层500一般负责接受来自NIDS 108的警报并将其传递到其他系统部件用于分析。在一个实施例中,警报输入层500的功能可以由被动分析工具110的警报输入层202完成。在两种中的任一情况中,警报输入层202接受来自NIDS 108的警报并判断警报格式是否有效。如果警报格式无效,则忽略该警报。如果警报格式有效,则将该警报发送到警报解释层502。警报输入层500优选地被设计为与NIDS供应商无关,使得可以同时接受来自多个NIDS源的警报,而不需要更改。
一般地,警报解释层502从警报输入层500接收警报,并对警报执行分析。同样,在一个实施例中,与警报解释层502相关联的功能可以由被动分析工具110的警报解释层204完成。在两种中的任一情况中,警报解释层502判断警报是否来自被支持的NIDS供应商。如果警报不是来自被支持的NIDS供应商,则生成警告并忽略该警报。如果警报来自被支持的NIDS供应商,则警报解释层502负责判断NIDS供应商警报类型、被攻击的相关操作系统类型、源地址、目标网络地址、警报严重性、警报描述以及与警报相关联的任何其他合适参数。该信息中的某些除了被主动分析工具111用来判断那些信息段用于对目标主机120进行分析外,还被用来登录到目标主机120。例如,如果攻击类型是成功的攻击,则其一般拥有被感染的文件(即,对基于web攻击的web日志文件)。下文结合图6对此进行详细描述。
警报调查层504指示主动分析工具111执行查找,以判断在具体时间段内目标主机120是否已经针对由该警报指示的具体攻击被调查。可以在任何合适的存储单元执行查找。例如局域状态表或数据库。
主动分析层506执行目标主机120的主动分析,以判断攻击是否真正起作用。简而言之,在一个实施例中,主动分析工具111通过使用基于目标主机120的操作系统类型的被验证的连接,登录到目标主机120。被验证的连接可以采取任何合适的形式;不过,某些示例如下:用于MicrosoftWindows系统的Microsoft SMB或CIFS协议,用于UNIX系统的安全外壳(SSH)加密登录,用于UNIX系统的Telnet不加密登录以及用户定义的验证方法。本机验证的使用意味着在受保护网络104的目标主机120上不需要远程代理。这使得主动分析工具111的配置非常迅速,并且只需要网络管理员112向主动分析工具111提供最高级登录特权和证书,而不是花时间在受保护网络104中到处配置远程代理。
一旦被登录到目标主机120,主动分析层506就分析并采集关于攻击的信息,以判断攻击是否起作用。例如,主动分析层506可以帮助对审计踪迹(audit trail)、系统二进制、系统目录、注册键、配置文件的分析或其他合适的分析,以判断攻击是否起作用。被分析的目标主机120上的信息是基于所检测到的警报类型的。在一个实施例中,是将检测到的攻击类型映射到由攻击者留下的相关踪迹,以判断攻击是否起作用。关于攻击是否起作用的判断被存储在合适的存储单元。
警报响应层508收集关于被成功执行的攻击的信息,并判断作为该成功攻击的结果,将采取哪些动作。这些动作可以采取任何合适的形式,并且可以由网络管理员112配置。例如,动作可以包括收集日志、禁止用户、阻塞进行攻击的主机、禁止计算机服务或者任何其他合适的用户定义动作。从目标主机120复制收集的信息,并将其存储在合适的存储单元,以保护它们的完整性不受篡改。警报响应层508还可以启动对目标主机120的清理动作,以去除攻击者和相关被使用的部件。该信息还可以被用来建立攻击者简述,它可以被获取并被用于在受保护网络104上的其他主机中搜索使用相似攻击方法的可能威胁。
在一个实施例中,警报输出层510负责从目标主机120的调查中获取信息,并将其发送到输出流。输出流可以是任何合适的输出,例如日志文件、图形用户接口、本机NIDS设备、存储器或任何其他合适的用户定义输出。
下文结合图6描述根据本发明一个实施例的主动分析工具111另外的功能细节。
图6是图示了根据本发明一个实施例的用于分析和处理来自网络入侵检测系统的警报的方法的流程图。示例方法在步骤600开始,其中从被动分析工具110或其他合适源接收到被确认的警报。在步骤602,主动分析工具111识别目标主机120。然后在步骤604,主动分析工具111访问系统高速缓存,以判断目标主机120是否已经针对该特定攻击类型被调查。
相应地,在判断步骤606,判断是否找到目标主机120的调查数据。如果在系统高速缓存中找到调查数据,则在判断步骤608,判断该调查数据的高速缓存项时间是否仍然有效。换言之,如果在最近时间段内针对特定攻击类型已经对特定目标主机进行了调查,则该调查数据被临时存储在系统高速缓存中。虽然可以使用任何合适的时间段,但是在一个实施例中,将该信息存储不超过一个小时。如果高速缓存项时间仍然有效,则该方法继续到步骤610,其中主动分析工具111访问调查数据。在步骤612,向网络管理员112或其他合适人员报告调查数据。
再参考判断步骤606,如果在系统高速缓存中没有找到调查数据,或者如果在系统高速缓存中发现的具体目标主机的高速缓存项时间无效,则在步骤614,主动分析工具111访问目标主机120。目标主机120的访问如上面结合图5中的主动分析层506的描述那样完成。一旦访问了目标主机120,则在步骤616,识别对目标主机120的攻击的存在。在判断步骤618,判断攻击是否成功。判断攻击是否成功由主动分析层506(图5)完成。如上所述,一组规则判断对目标主机120应采取哪些步骤,以基于攻击类型证实攻击是起作用的还是失败的。这可以包括对审计踪迹、系统二进制、系统目录、注册键、配置文件的分析,或任何其他合适的用户定义检查。还可以包括对可疑文件、目录、用户、进程或其他不正常行为的检查。如果在步骤618判断攻击没有成功,则在步骤620,在系统高速缓存中存储调查数据。然后在步骤612向网络管理员112或合适人员报告调查数据。
如果在步骤618判断攻击成功,则在步骤622收集关于攻击的法庭信息,并在步骤624存储这些信息。如上所述,可以从目标主机120复制该法庭信息以保护其完整性不受篡改,以使得网络管理员112或其他合适人员能分析目标主机120并判断在危险发生后造成了什么变化,并用于收集信息用于随后对攻击者的起诉。在步骤626,主动分析工具111启动补救措施。如上所述,这可以包括:收集日志、禁止用户、阻塞进行攻击的主机、禁止计算机服务或者任何其他合适的用户定义动作。然后这结束了图6中所概述的示例方法。
这样,在一个实施例中,主动分析工具111调查对目标主机的攻击,以判断攻击是起作用的还是失败的,收集关于攻击的法庭信息,并潜在地启动补救措施。即使不需要在受保护网络104的每一个计算设备上安装代理,也可以完成该过程。
虽然用某些示例描述了本发明的实施例,但是本领域的技术人员可以想起各种更改。本发明意图包括这些更改,它们都落在权利要求的范围之内。