通过网络链路数据动态更新入侵检测规则的方法

文档序号:7669476阅读:130来源:国知局
专利名称:通过网络链路数据动态更新入侵检测规则的方法
技术领域
本发明为一种更新入侵检测规则的方法,特别是涉及一种通过网络链路数 据动态更新入侵检测规则的方法。
背景技术
入侵检测系统(Intrusion Detection System, IDS)为保护计算机系统免 于被窃取数据或恶意破坏计算机的重要技术,通过入侵检测系统搭配防火墙可 有效防止来自于外部网络或内部网络的恶意入侵动作。Snort为IDS技术领域 中相当著名的开放原始码(Open Source)软件,其是以检测签章(Signature Based)及检测通讯协议(Protocol)为基础,利用内建的入侵检测规则 (Intrusion Detection Rules)过滤网络的入侵行为。随着入侵行为的不断变 换,此入侵检测规则也可变化与更新,或针对局域网络中的计算机主机需求取 向设计合适的入侵检测规则。Snort系统的入侵检测规则采用一种轻量级的规 则描述语言(Script Language),多数的入侵检测规则以单行表示,或以"/" 分隔多行间的规则描述。每一则入侵检测规则分为标头(Header)、通讯协议、 网络地址(IP)、连接端口号(Prot Number)、以及进阶规则文件(Rules File)。 举例来说,规则alert TCP any any ^ 192. 168. 1.0/24 111,表示当任何 主机企图以TCP通讯协议存取与网址192.168.1.0相同的网络区段,即 192. 168. 1.0的Class C网络区段,且连接端口号为111的联机。则Snort系 统主机接收此网络封包时,随即产生警示信号。Snort管理者除了可通过输入 指令新增/移除入侵检测规则外,也可通过直接下载规则文件并拷贝至指定目 录后,重新启动Snort系统,以加载使用新的入侵检测规则。
然而,不管是逐步键入规则指令,或加载规则文件的更新入侵检测规则的 方法,两者都面临无法动态更新的问题,都需要先卸载/中断原Snort系统的 防御工作,再载用新的入侵检测规则。对于随时随地皆有可能遭受网络入侵的 区段来说,中断卸载Snort系统时间越长,表示其内部计算机主机遭受恶意入侵的机率越大,越可能产生网络安全的防护漏洞。另外,对于网管人员来说,
若网络内部具有多台安装Snort系统主机(或对于多台装设入侵检测规则数据 库/储存器的网络卡),则必须逐一对这些系统主机(或网络卡)进行更新入侵检 测规则的操作,因而拉长更新的作业时间。甚至,若Snort系统刻录于网络卡 内嵌芯片,则必须拆卸芯片进行刻录操作程序,才得以将更新的入侵检测规则 写入芯片。此等更新入侵规则的方式,更显其费时费力程度。

发明内容
鉴于上述对多个Snort系统主机(或网络卡)进行更新入侵检测规则时,相 当费时费力等问题。本发明所要解决的技术问题在于提供一种通过链路数据封 包(Raw-data Packet)更新入侵检测规则的方法,通过网络封包传递的特性, 通过链路数据封包将欲新增的入侵检测规则夹带于封包之中,借以同步传递并 更新所欲更新的入侵检测规则给网络中所有Snort系统主机。
为了实现上述目的,本发明提供了一种通过链路数据封包更新入侵检测规 则的方法,用以动态更新局域网络的至少一 Snort系统主机所采用的一规则储 存器,其特点在于,该方法包括 一更新发起端传送包含至少一入侵检测规则 的该链路数据封包至该Snort系统主机;该Snort系统主机取出该链路数据封 包中的该入侵检测规则,并解析该入侵检测规则所属操作类别;该Snort系统 主机验证该链路数据封包所载的该入侵检测规则为合法的入侵检测规则;以及 依据通过验证的该入侵检测规则所属类别及一规则树更新该规则储存器。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该链路数 据封包所包含的入侵检测规则项目数量是依据该局域网络中的网络规模、网络 流量以及预设更新所需时间来设定。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该链路数 据封包包括一标头文件、 一规则版本、 一验证码、 一许可码以及该入侵检测规 则。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该标头文 件包括一更新旗标用以标示该链路数据封包为用以更新该入侵检测规则的封 包。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该更新发起端更通过一广播地址,使该Snort系统主机同步接收该链路数据封包。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该Snort
系统主机验证该入侵检测规则为合法的步骤,包括判断该链路数据封包的该 验证码及该许可码为真;以及判断该链路数据封包的该规则版本较该规则储存 器的规则版本新。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该些
Snort系统主机还包括于系统重置或断电前传送一储存规则请求,以触发该规 则储存器储存规则版本较新的该入侵检测规则。
上述通过链路数据封包更新入侵检测规则的方法,其特点在于,该规则储 存器是选自于由一远程服务器或内建于该Snort系统主机的储存装置所形成 的集合之一。
由上所述,本发明通过链路数据封包夹带欲增加的入侵检测规则来进行规 则更新的动作。通过链路数据封包,更新的规则可同步广播给网络上所有 Snort系统主机,因此可有效简化更新入侵检测规则的程序及縮短更新Snort 系统主机时所需中断执行网络入侵检测的时间,减少局域网络的系统主机遭受 入侵的机率。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1为本发明的通过链路数据封包更新入侵检测规则的方法流程图; 图2为本发明较佳实施例的实现通过链路数据封包更新入侵检测规则的 方法的系统架构示意图3为本发明较佳实施例的链路数据封包的封包格式示意图4A为本发明较佳实施例的规则树示意图4B为图4A的规则树分支的示意图4C为图4A的规则树分支的示意图。
其中,附图标记
210 更新发起端
212 链路数据封包220、230Snort系统主机
222、232规则储存器
300链路数据封包
310标头文件
320规则版本
330许可码
340、342、 344入侵检测规则
410、420规则分支
411、421原有的入侵检测
412、422新增的入侵检测
具体实施例方式
本发明的目的以及提出的通过链路数据封包更新入侵检测规则的方法,在 下列较佳实施例中详细说明。然而本发明的概念也可用于其它范围。以下列举 的实施例仅用于说明本发明的目的与执行方法,并非用以限制其范围。
图1为本发明的通过链路数据封包更新入侵检测规则的方法流程图。请参 照图l,提出的更新入侵检测规则的方法,是用以动态的更新局域网络中的至
少一个Snort系统主机的规则储存器。借以将欲更新的入侵检测规则快速的写 入每一个Snort系统主机所对应的规则储存器。所谓的链路数据封包即为原始 网络封包的链路数据,也即在网络链路层对一个原始网络封包所需处理的数 据。本发明所述的通过链路数据封包更新入侵检测规则的方法,包括以下步骤 首先,步骤SllO,局域网络上的更新发起端传送包含至少一则入侵检测规则 的链路数据封包至Snort系统主机。接着,步骤S120, Snort系统主机于接收 链路数据封包后,取出链路数据封包中包含的入侵检测规则,并解析入侵检测 规则所属操作类别,例如判断接收到的链路数据封包所载的更新指令,是用以 新增一则入侵检测规则,或是用以删除一则入侵检测规则。之后,步骤S130, Snort系统主机验证链路数据封包所载的入侵检测规则是否为合法。然后,步 骤S140,再依据通过验证的入侵检测规则所属的类别,以及通过一规则树来 更新规则储存器。以下,将以一较佳实施例来说明本发明的通过链路数据封包 更新入侵检测规则的方法。图2为本发明较佳实施例的实现通过链路数据封包更新入侵检测规则的 方法的系统架构示意图。请参照图2,本较佳实施例所述的局域网络,例如包
括两个Snort系统主机220、 230,其分别读取对应的规则储存器222、 232中 存放的入侵检测规则数据,作为分析流经Snort系统主机封包的依据。所述规 则储存器可以是独立于Snort系统主机的一台远程服务器(或一般计算机主 机),例如规则储存器222;或是内建于Snort系统主机的储存装置,例如规 则储存器232。网络管理人员于更新发起端210指定对局域网络的某一台Snort 系统主机送出用以更新入侵检测规则的链路数据封包212。
在本实施例中,例如是通过更新发起端210将所欲更新的一则(或多则) 入侵检测规则包覆(Piggyback)于一个链路数据封包212并通过指定的网络地 址传送到Snort系统主机220。另外,计算机主机在接收到网络封包后,定会 解析网络封包中的链路数据封包。之后,再依据链路数据封包里的以太网络文 件头(Ethernet Header)及地址文件头(IP Header)判断是否继续解析封包内 容。基于此网络特性,更新发起端210通过广播地址传送附带有欲更新的入侵 检测规则的链路数据封包212,让局域网络内的每一台Snort系统主机都可接 收链路数据封包212,进而同步更新这些Snort系统主机对应的规则储存器所 存放的入侵检测规则。
承上,Snort系统主机每次处理更新入侵检测规则的程序时,需暂时停止
入侵检测/防护。当暂停检测/防护时,网络内部的计算机主机即可能遭受攻击。 事实上,网络入侵/攻击行为是有一定的间隔历程,因此控制每次暂停检测/ 防护的时间便可降低遭受入侵攻击的机率。在本实施例中,更新发起端210 将新的入侵检测规则以一定粒度拆分为不同的项目,再按照新增/删除进行分 组。并根据局域网络的网络规模(包含的计算机主机个数)、网络流量(每分钟 所接收的网络封包数量)、以及预设执行一次更新所需要的时间长度等因素, 设定每一个链路数据封包可以承载的入侵检测规则项目数量。如此,便可以控 制让Snort系统主机每次处理/更新入侵检测规则所需时间不致超过一默认值 (Threshold),借以降低更新入侵规则期间遭受入侵攻击的风险。
图3为本发明较佳实施例的链路数据封包的封包格式示意图。请参照图3, 在本实施例中链路数据封包300包含例如标头文件310、规则版本320、许可 码330以及入侵检测规则340、 342、 344。其中的标头档310还包括一个更新旗标(未显示)。利用此更新旗标(未显示)来标示链路数据封包300,借以让
Snort系统主机方便于接收链路数据封包300时,判断是否为用来更新入侵检 测规则的网络封包。传送链路数据封包300的目的地则记录于标头文件310。 验证链路数据封包300所载的入侵检测规则的项目新旧、入侵规则是否为合 法,则分别通过规则版本320、许可码330参数达成。当前述的更新发起端210 传送链路数据封包300前,会将与局域网络中的Snort系统主机协议采用的许 可码。本实施例中,是记录时间戳记作为规则版本320,在此不限制其范围。
前述Snort系统主机220、 230接收来自更新发起端210的链路数据封包 212后,先取出封包内包含的入侵检测规则,而加以解析其所属的操作类别。 举例而言,入侵检测规则分为规则文件头、通讯协议、网络地址、连接端口号 以及运算子(Operator)等部份,而规则文件头又包含警报(Alert)、记录(Log) 及不予动作(Pass)等三类。当Snort系统主机接收链路数据封包后,即先判断 是新增规则或删除规则。之后,再依规则文件头将入侵检测规则分为警报 (Alert)、记录(Log)及不予动作(Pass)三类。前述针对入侵规则进行分类的动 作,乃是为保证执行措施种类的可扩展性,并帮助Snort系统主机执行时,迅 速找到相应的规则分类。举例来说,如果判断为Log分类的规则,则仅需比较 Log分类内的入侵规则以找出匹配、相应的规则;系统只对该数据封包进行日 志记录,而无须予以警报。
接着,Snort系统主机依据规则版本320及许可码330来验证链路数据封 包的入侵检测规则版本是否比目前使用的版本新,以及验证"更新入侵检测规 则"的动作是由合法许可的管理者所发起。当通过验证后,Snort系统主机则 依据入侵检测规则所属的类别,通过规则树来更新规则储存器。在本实施例中, 例如由Snort系统主机联机至对应的规则储存器读取所有的入侵检测规则。再 依据规则文件头、通讯协议、网络地址、连接端口号以及运算子(Operator) 等参数,产生如图4A所示的规则树。此规则树是用以加速寻找对应于新加入 的入侵检测规则的用途。之后,再将需更新(新增或删除)的入侵检测规则回存 到对应的规则储存器中。
另夕卜,为加速Snort系统主机检测网络封包的速度,本实施例更限制每一 个规则储存器储存的入侵检测规则项目数量。当所储存的入侵检测规则项目数 量超出默认值时,规则储存器即自动删减最不常用的入侵检测规则(或规则版本最旧的入侵检测规则)。举例来说,图4B为图4A的规则树分支示意图,请 交互参照图4A及图4B, Snort系统主机先解析出"针对地址三的SMTP通讯协 议新增滤除超出IOM储存空间的信件"的入侵检测规则。接着,Snort系统主 机取出规则储存器的入侵检测规则,并发现入侵检测规则项目数量已满。之后, Snort系统主机产生如图4A所述规则树,并依据此规则树寻访到规则分支410, 并找到关于SMTP通讯协议的旧有规则。然后,Snort系统主机进一步比较新 增的入侵检测规则412与原有的入侵检测规则411的规则版本后,发现新增的 入侵检测规则412的规则版本较新,故取代原有的入侵检测规则411。同样地, 图4C为图4A的规则树分支示意图,请交互参照图4A及图4C,入侵检测规则 项目数量已满,然Snort系统主机接获针对地址三的SIP通讯协议开放允许连 接端口号25的入侵检测规则。Snort系统主机寻访规则树,当寻访到规则分 支420时,Snort系统主机将储存的最少使用的规则删去。本实施例例如为删 去"允许连接端口 23"的入侵检测规则421,并以"允许连接端口 25"的 入侵检测规则422取代入侵检测规则421。
值得一提的是,当Snort系统主机关机前或重置系统前,Snort系统主机 会传送储存规则请求,触发规则储存器储存规则版本较新的入侵检测规则。规 则版本的新旧判断可通过Snort系统主机执行,或交付由规则储存器判断更新 部分的入侵检测规则与原来的入侵检测规则的规则版本新旧,在此也不限制其 范围。
综上所述,通过传送链路数据封包,网络的更新发起端可针对指定的 Snort系统主机进行入侵检测规则的更新,网络管理人员可远程控制入侵检测 规则的更新。另外,通过本发明揭露的技术,可将新增的入侵检测规则等信息 广播到局域网络的每一个节点位置,从而同步更新局域网络内所有Snort系统 主机采用的入侵检测规则,大幅简化进行更新入侵检测规则所需的时间。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这 些相应的改变和变形都应属于本发明权利要求的保护范围。
10
权利要求
1、一种通过链路数据封包更新入侵检测规则的方法,用以动态更新局域网络的至少一Snort系统主机所采用的一规则储存器,其特征在于,该方法包括一更新发起端传送包含至少一入侵检测规则的该链路数据封包至该Snort系统主机;该Snort系统主机取出该链路数据封包中的该入侵检测规则,并解析该入侵检测规则所属操作类别;该Snort系统主机验证该链路数据封包所载的该入侵检测规则为合法的入侵检测规则;以及依据通过验证的该入侵检测规则所属类别及一规则树更新该规则储存器。
2、 根据权利要求1所述的通过链路数据封包更新入侵检测规则的方法, 其特征在于,该链路数据封包所包含的入侵检测规则项目数量是依据该局域网 络中的网络规模、网络流量以及预设更新所需时间来设定。
3、 根据权利要求1所述的通过链路数据封包更新入侵检测规则的方法, 其特征在于,该链路数据封包包括一标头文件、 一规则版本、 一验证码、 一许 可码以及该入侵检测规则。
4、 根据权利要求3所述的通过链路数据封包更新入侵检测规则的方法, 其特征在于,该标头文件包括一更新旗标用以标示该链路数据封包为用以更新 该入侵检测规则的封包。
5、 根据权利要求1所述的通过链路数据封包更新入侵检测规则的方法, 其特征在于,该更新发起端更通过一广播地址,使该Snort系统主机同步接收 该链路数据封包。
6、 根据权利要求1所述的通过链路数据封包更新入侵检测规则的方法, 其特征在于,该Snort系统主机验证该入侵检测规则为合法的步骤,包括判断该链路数据封包的该验证码及该许可码为真;以及 判断该链路数据封包的该规则版本较该规则储存器的规则版本新。
7、 根据权利要求1所述的通过链路数据封包更新入侵检测规则的方法, 其特征在于,该些Snort系统主机还包括于系统重置或断电前传送一储存规则请求,以触发该规则储存器储存规则版本较新的该入侵检测规则。
8、根据权利要求1所述的通过链路数据封包更新入侵检测规则的方法,其特征在于,该规则储存器是选自于由一远程服务器或内建于该Snort系统主 机的储存装置所形成的集合之一。
全文摘要
本发明涉及一种通过链路数据封包更新入侵检测规则的方法,用以动态更新局域网络的至少一Snort系统主机所采用的规则储存器,该方法包括更新发起端传送包含至少一入侵检测规则的该链路数据封包至该Snort系统主机;该Snort系统主机取出链路数据封包中的入侵检测规则,并解析入侵检测规则所属操作类别;该Snort系统主机验证链路数据封包所载的入侵检测规则为合法的入侵检测规则;以及依据通过验证的入侵检测规则所属类别及一规则树更新规则储存器。本发明通过链路数据封包将欲新增的入侵检测规则夹带于封包中,以同步传递并更新欲更新的入侵检测规则给网络中所有Snort系统主机。
文档编号H04L29/06GK101471933SQ20071030610
公开日2009年7月1日 申请日期2007年12月28日 优先权日2007年12月28日
发明者刘文涵, 萌 孙, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1