论文部分内容阅读
摘要:在分析了Web服务器的安全性问题后,根据入侵检测技术的原理,提出应用基于误用的检测技术检测针对Web服务器的攻击,针对基于误用检测技术的不足,简述了决策树技术的原理,提出了应用决策树技术改进原来的规则分类,并通过实例验证了其可行性。
关键词:决策树;入侵检测;Web服务器;ID3
中图分类号:TP393.02文献标识码:A文章编号:1007-9599 (2010) 01-0000-03
一、引言
越来越多的公司、政府部门和个人都使用Web站点作为信息发布和资源共享的平台,Web应用日趋广泛,安全性也日益突出,因此对入侵攻击的检测与防范、保障计算机系统、网络系统的安全已经成为刻不容缓的重要课题,尤其是保护Web服务器的安全问题更加紧迫。
Web服务的安全问题可分为两部分:一部分是传输中的安全问题,包括数据防窃听和数据完整性等;另一部分是Web服务器端和客户端本身的安全性问题。前者可以通过各种安全协议来加强其安全性;而后者,就需要通过防火墙和入侵检测(Intrusion Detection)技术来进行防范。
一般来说,防火墙的抗攻击性很强,但仅依靠防火墙作为对Web服务器的保护是不充分的,需要通过入侵检测技术来对其进行防范。
入侵检测通常分为异常检测和误用检测。误用检测模型是收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是非法入侵。该方法类似于病毒检测系统,其检测的准确率和效率都比较高。
异常检测模型首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。异常检测系统的效率取决于用户轮廓的完备性和监控的频率。因为不需要对每种入侵行为进行定义,因此能有效检测未知的入侵,但是异常检测的假设是入侵者活动异常于正常主体的活动(如用户行为和系统资源使用情况等),建立正常活动的“活动模式”,当主体的活动违反其统计规律时,认为可能是“入侵”行为。这种方法虽然能检测未知攻击,但较难建立合理的“活动模式”,有时异常并不意味着入侵,所以该方法一直存在误警率高的问题。此外,确定“正常”行为特征轮廓和选取特征量都很困难,又由于需要实时地建立和更新系统或用户的特征轮廓,所以所需的计算量很大,异常检测会消耗更多的系统资源。
研究表明,一个能检测网络应用层攻击的有效的入侵检测系统至少应该具备以下两个条件:
(一)检测的准确性。高误警率将会使入侵检测系统失去使用价值。
(二)检测的实时性。快速检测到攻击,能进行及时响应。
为了满足保护Web服务器的要求,采用误用检测技术设计基于Web的入侵检测系统效果最佳。
二、现有检测方法的不足
从本质上来说,现有入侵检测系统对于检测针对Web服务器的攻击,都是采用基于规则检测的入侵检测方法,如著名的入侵检测系统Snort2.0,针对每一种入侵行为,都提炼出它的特征并按照规范写成检验规则,从而形成一个规则数据库。然后将捕获的数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。
下面通过一个实例来说明现有入侵检测系统针对Web服务器攻击的检测方法:NT IIS Showcode ASP攻击是一种以获取非法访问权限为目的的,该攻击通过构造特定的URL请求,达到可以非法阅读服务器上的其他文件的目的。对于这个入侵实例,检测的关键是判断端口号和数据段内容,而IP地址、协议类型和TCP标志位只是辅助的特征码。
NT IIS Showcode ASP攻击所构造的URL请求内容为:http://attackhost/msadc/Samples/SELECTOR/showcode.asp?当开始分析原始数据包时,就直接匹配端口和数据段的内容,无疑针对该入侵行为上述做法的匹配效率是最高的,但是实际上这样做会降低整体检测的效率,因为入侵检测系统要对庞大的网络数据逐一进行检测,应该遵循先检测所有入侵行为的共同特征,其次才是个体特征的原则,例如如果首先检测IP地址,一旦发现其不属于检测范围之内,就立即检测下一个数据包而并非继续检测该包的其他字段。这样既保证了检测的快速性,又提高了报警的实时性。
Snort规则的基本内容为:规则动作、协议类型、源IP地址、源端口号、目的IP地址、目的端口号、特征数据段等。对于上述攻击的检测,Snort的规则内容为:alert tcp !$HOME_NET any->$HOME_NET 80(msg:"CAN-1999-0736-IIS-showcode";flagsA; uricontent:"/selector/showcode.asp";nocase。
该规则显示:攻击发起的IP地址是被保护网段以外的IP地址;协议类型是TCP;攻击的目的端口是80端口;TCP标志位是PUS,ACK;攻击特征数据段内容为/selector/showcode.asp。Snort按照上述原则来定义规则,将检测规则划分成两个部分:规则头和规则选项。前者是所有规则共有的包括IP地址、协议类型、端口号,后者根据不同规则包括相应的字段关键字,例如TCP的标志位或者窗口大小等。
现有系统将规则头和规则选项创建成一个两维的链表结构,包括规则树节点(Rule Tree Nodes,RTN)和选择树节点(Option Tree Nodes,OTN)。规则树记录了每个规则的一般的属性,这包括源地址和目的地址,源端口和目的端口,还有各种协议类型,如TCP,ICMP。OTN则包含了可以加入每个规则中的信息选项,这些选项包括TCP标记,ICMP编码和类型,数据包载荷大小,主要的效率瓶颈,还有数据包的内容。这些结构将采用链的形式,RTN从左到右作为链表的头,而OTN则自上而下的紧跟在RTN后面。
当数据包被用来和规则库做比较时,数据包先在RTN列中从左到右比较,直到匹配其中的一个RTN值为止。对于匹配的数据包在匹配的RTN上由上而下的再对OTN进行匹配,不断地在链表中寻找OTN直到找到相匹配的值为止。
由于规则集会越来越庞大,OTN数量随着增加,那么对于每个RTN上OTN的匹配次数越多,这种链表结构的优势会越来越降低。所以寻找另一种规则的分类来加快匹配速度是必然趋势。
三、应用决策树提高规则匹配速度
提高规则匹配的速度是改善误用检测性能的关键,链表结构的目的是对规则集进行划分,使每次匹配的规则数尽可能少。决策树技术就是对大规则集进行划分的理想技术,因此,本文提出应用决策树技术对规则集进行划分。
(一)决策树技术分析
决策树是采用树状分叉的架构来产生规则,通过在属性集的基础上做出一系列的决策,将数据分类,适用于所有分类的问题。
构造决策树的方法是采用自上而下的递归构造。以多叉树为例,它的构造思路是:如果训练例子集合中的所有例子是同类的,则将之作为叶子节点,节点内容即是该类别标记。否则,根据某种策略选择一个属性,按照属性的各个取值,把例子集合划分为若干个子集合,使得每个子集上的所有例子均在该属性上具有同样的属性值。然后再依次递归处理各个子集。
构造好的决策树的关键在于如何选择好的属性。对于同样的一组例子,可以有很多个决策树能符合这组例子。通过人们研究得出,一般情况下,决策树越小,则该树的预测能力就越强。而要构造尽可能小的决策树,其关键在于如何选择恰当的属性。由于构造最小的树是NP-难度的问题,因此只能采取用启发式策略,来选择好的属性。而属性的选择依赖于各种对例子子集的不纯度(impurity)的度量方法。不纯度度量方法包括信息增益(informatin gain)、信息增益比(gain ratio)、Gini-index、距离度量(distance measure)、J-measure、G统计、χ2统计、证据权重(weight of evidence)、最小描述长(MLP)、正交法(ortogonality measure)、相关度(relevance)和 Relief。不同的度量有不同的效果,特别是对于多值属性。目前研究中,比较常用的决策树生成算法有:ID3、C4、C4.5、C5、CART、CHAID、QUEST算法。
(二)应用决策树技术处理规则
ID3算法是决策树技术中应用最广、最成熟的算法,本文采用ID3算法。作为ID3算法的启发式标准,只跟本身与其子树所包含的决策的信息量有关,故采取信息增益来度量比其他启发式条件更合适。熵是选择事件时选择自由度的量度,其计算方法如下:
定义1:任意样本分类的熵为:
其中,数据集为S,Pi为任意样本的概率,Smax为规则集中样本数。
熵的值越小说明数据的分布越均匀。例如,如果所有的数据项都属于同一个类,那么熵等于0;熵越大说明数据分布越不均匀。对于误用检测来说,熵可以作为衡量规则集中均匀程度的一个度量。
定义2:属性F在数据集合S中的信息增益为
其中,F为属性,具有V个不同的取值,Esv是当属性F具有值V时的S的一个子集。S对属性F的所有可能值求和,Sv是S中的属性F值为v的子数据集Sv,|Sv|是Sv中的元素个数,|S|是S中的元素个数。
本文的规则集中的属性特征包括:源端口、目的端口、源IP地址、目的IP地址、TCP旗标、URI特征码。下面举例说明决策树的生成过程:为了计算方便,假设规则集中包括4条规则,具有目的端口、源IP地址、目的IP地址和规则号4个特征属性,选取目的端口、源IP地址、目的IP地址3个特征为分类属性,规则号为结论属性。规则集如表1所示。
表1 规则集
源IP地址 目的IP地址 目的端口 规则号
192.168.220.117 192.168.0.1 21 1
192.168.220.117 192.168.0.2 21 2
192.168.220.117 192.168.0.2 23 3
192.168.220.118 192.168.0.5 80 4
根据公式1和公式2分别计算熵和以目的端口、源IP地址、目的IP地址为分类属性的信息增益。结果如下表2所示。
表2 熵和信息增益结果
特征属性 源IP地址 目的IP地址 目的端口
熵 2
信息增益 0.8 1 1
取信息增益最大的目的IP地址属性作为第一次分类依据,然后对划分之后的子集采用同样的方式计算信息增益,进行进一步的划分,即第一次选取目的IP地址,然后按照同样的方法选取目的端口作为分类标准,决策树构造完成的标准是将结论属性全部划到叶子节点。结果如图1所示。
图1 ID3算法生成的决策树
分析可知:规则集通过决策树的划分,匹配最多2次就能完成,而用传统的规则集分类在极端的情况下最多需要匹配4次,匹配的次数减少了,速度也相应的提高了,随着规则集中规则数量的不断增加,效果还要更加明显,因此,应用决策树技术对规则集进行分类,在检测速度上明显优于传统的方式。
五、结论
为了保护Web服务器,入侵检测系统作为必要的安全检测工具是必不可少的。为了改善传统的规则分类技术,减少匹配的次数,提高检测效率,本文通过对决策树技术进行分析,提出了应用决策树技术对规则集进行分类,减少规则匹配次数,从而提高检测效率的方法。
参考文献:
[1]S.A Axelsson.The base-rate fallacy and its implications for the difficulty of intrusion detection. ACM Conference on Computer and Communications Security,Brecken,1999:1-7
[2]R.Kemmerer,G. Vigna.Intrusion detection:a brief history and overview.Computer,2002,35,4:27-30
[3]C.Ko,Execution Monitoring of Security-Critical Programs in a Distributed System:A Specification-Based Approach.[PhD.Thesis of Dept.Computer Science,University of California at Davis].1996:66-130
[4]Johannes Gehrke,Venkatesh Ganti.BOAT-optimistic Decision Tree Construction. in Proceedings of 1999 SIGMOD Conference,Piscataway,1999:76-85
关键词:决策树;入侵检测;Web服务器;ID3
中图分类号:TP393.02文献标识码:A文章编号:1007-9599 (2010) 01-0000-03
一、引言
越来越多的公司、政府部门和个人都使用Web站点作为信息发布和资源共享的平台,Web应用日趋广泛,安全性也日益突出,因此对入侵攻击的检测与防范、保障计算机系统、网络系统的安全已经成为刻不容缓的重要课题,尤其是保护Web服务器的安全问题更加紧迫。
Web服务的安全问题可分为两部分:一部分是传输中的安全问题,包括数据防窃听和数据完整性等;另一部分是Web服务器端和客户端本身的安全性问题。前者可以通过各种安全协议来加强其安全性;而后者,就需要通过防火墙和入侵检测(Intrusion Detection)技术来进行防范。
一般来说,防火墙的抗攻击性很强,但仅依靠防火墙作为对Web服务器的保护是不充分的,需要通过入侵检测技术来对其进行防范。
入侵检测通常分为异常检测和误用检测。误用检测模型是收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是非法入侵。该方法类似于病毒检测系统,其检测的准确率和效率都比较高。
异常检测模型首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。异常检测系统的效率取决于用户轮廓的完备性和监控的频率。因为不需要对每种入侵行为进行定义,因此能有效检测未知的入侵,但是异常检测的假设是入侵者活动异常于正常主体的活动(如用户行为和系统资源使用情况等),建立正常活动的“活动模式”,当主体的活动违反其统计规律时,认为可能是“入侵”行为。这种方法虽然能检测未知攻击,但较难建立合理的“活动模式”,有时异常并不意味着入侵,所以该方法一直存在误警率高的问题。此外,确定“正常”行为特征轮廓和选取特征量都很困难,又由于需要实时地建立和更新系统或用户的特征轮廓,所以所需的计算量很大,异常检测会消耗更多的系统资源。
研究表明,一个能检测网络应用层攻击的有效的入侵检测系统至少应该具备以下两个条件:
(一)检测的准确性。高误警率将会使入侵检测系统失去使用价值。
(二)检测的实时性。快速检测到攻击,能进行及时响应。
为了满足保护Web服务器的要求,采用误用检测技术设计基于Web的入侵检测系统效果最佳。
二、现有检测方法的不足
从本质上来说,现有入侵检测系统对于检测针对Web服务器的攻击,都是采用基于规则检测的入侵检测方法,如著名的入侵检测系统Snort2.0,针对每一种入侵行为,都提炼出它的特征并按照规范写成检验规则,从而形成一个规则数据库。然后将捕获的数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。
下面通过一个实例来说明现有入侵检测系统针对Web服务器攻击的检测方法:NT IIS Showcode ASP攻击是一种以获取非法访问权限为目的的,该攻击通过构造特定的URL请求,达到可以非法阅读服务器上的其他文件的目的。对于这个入侵实例,检测的关键是判断端口号和数据段内容,而IP地址、协议类型和TCP标志位只是辅助的特征码。
NT IIS Showcode ASP攻击所构造的URL请求内容为:http://attackhost/msadc/Samples/SELECTOR/showcode.asp?当开始分析原始数据包时,就直接匹配端口和数据段的内容,无疑针对该入侵行为上述做法的匹配效率是最高的,但是实际上这样做会降低整体检测的效率,因为入侵检测系统要对庞大的网络数据逐一进行检测,应该遵循先检测所有入侵行为的共同特征,其次才是个体特征的原则,例如如果首先检测IP地址,一旦发现其不属于检测范围之内,就立即检测下一个数据包而并非继续检测该包的其他字段。这样既保证了检测的快速性,又提高了报警的实时性。
Snort规则的基本内容为:规则动作、协议类型、源IP地址、源端口号、目的IP地址、目的端口号、特征数据段等。对于上述攻击的检测,Snort的规则内容为:alert tcp !$HOME_NET any->$HOME_NET 80(msg:"CAN-1999-0736-IIS-showcode";flagsA; uricontent:"/selector/showcode.asp";nocase。
该规则显示:攻击发起的IP地址是被保护网段以外的IP地址;协议类型是TCP;攻击的目的端口是80端口;TCP标志位是PUS,ACK;攻击特征数据段内容为/selector/showcode.asp。Snort按照上述原则来定义规则,将检测规则划分成两个部分:规则头和规则选项。前者是所有规则共有的包括IP地址、协议类型、端口号,后者根据不同规则包括相应的字段关键字,例如TCP的标志位或者窗口大小等。
现有系统将规则头和规则选项创建成一个两维的链表结构,包括规则树节点(Rule Tree Nodes,RTN)和选择树节点(Option Tree Nodes,OTN)。规则树记录了每个规则的一般的属性,这包括源地址和目的地址,源端口和目的端口,还有各种协议类型,如TCP,ICMP。OTN则包含了可以加入每个规则中的信息选项,这些选项包括TCP标记,ICMP编码和类型,数据包载荷大小,主要的效率瓶颈,还有数据包的内容。这些结构将采用链的形式,RTN从左到右作为链表的头,而OTN则自上而下的紧跟在RTN后面。
当数据包被用来和规则库做比较时,数据包先在RTN列中从左到右比较,直到匹配其中的一个RTN值为止。对于匹配的数据包在匹配的RTN上由上而下的再对OTN进行匹配,不断地在链表中寻找OTN直到找到相匹配的值为止。
由于规则集会越来越庞大,OTN数量随着增加,那么对于每个RTN上OTN的匹配次数越多,这种链表结构的优势会越来越降低。所以寻找另一种规则的分类来加快匹配速度是必然趋势。
三、应用决策树提高规则匹配速度
提高规则匹配的速度是改善误用检测性能的关键,链表结构的目的是对规则集进行划分,使每次匹配的规则数尽可能少。决策树技术就是对大规则集进行划分的理想技术,因此,本文提出应用决策树技术对规则集进行划分。
(一)决策树技术分析
决策树是采用树状分叉的架构来产生规则,通过在属性集的基础上做出一系列的决策,将数据分类,适用于所有分类的问题。
构造决策树的方法是采用自上而下的递归构造。以多叉树为例,它的构造思路是:如果训练例子集合中的所有例子是同类的,则将之作为叶子节点,节点内容即是该类别标记。否则,根据某种策略选择一个属性,按照属性的各个取值,把例子集合划分为若干个子集合,使得每个子集上的所有例子均在该属性上具有同样的属性值。然后再依次递归处理各个子集。
构造好的决策树的关键在于如何选择好的属性。对于同样的一组例子,可以有很多个决策树能符合这组例子。通过人们研究得出,一般情况下,决策树越小,则该树的预测能力就越强。而要构造尽可能小的决策树,其关键在于如何选择恰当的属性。由于构造最小的树是NP-难度的问题,因此只能采取用启发式策略,来选择好的属性。而属性的选择依赖于各种对例子子集的不纯度(impurity)的度量方法。不纯度度量方法包括信息增益(informatin gain)、信息增益比(gain ratio)、Gini-index、距离度量(distance measure)、J-measure、G统计、χ2统计、证据权重(weight of evidence)、最小描述长(MLP)、正交法(ortogonality measure)、相关度(relevance)和 Relief。不同的度量有不同的效果,特别是对于多值属性。目前研究中,比较常用的决策树生成算法有:ID3、C4、C4.5、C5、CART、CHAID、QUEST算法。
(二)应用决策树技术处理规则
ID3算法是决策树技术中应用最广、最成熟的算法,本文采用ID3算法。作为ID3算法的启发式标准,只跟本身与其子树所包含的决策的信息量有关,故采取信息增益来度量比其他启发式条件更合适。熵是选择事件时选择自由度的量度,其计算方法如下:
定义1:任意样本分类的熵为:
其中,数据集为S,Pi为任意样本的概率,Smax为规则集中样本数。
熵的值越小说明数据的分布越均匀。例如,如果所有的数据项都属于同一个类,那么熵等于0;熵越大说明数据分布越不均匀。对于误用检测来说,熵可以作为衡量规则集中均匀程度的一个度量。
定义2:属性F在数据集合S中的信息增益为
其中,F为属性,具有V个不同的取值,Esv是当属性F具有值V时的S的一个子集。S对属性F的所有可能值求和,Sv是S中的属性F值为v的子数据集Sv,|Sv|是Sv中的元素个数,|S|是S中的元素个数。
本文的规则集中的属性特征包括:源端口、目的端口、源IP地址、目的IP地址、TCP旗标、URI特征码。下面举例说明决策树的生成过程:为了计算方便,假设规则集中包括4条规则,具有目的端口、源IP地址、目的IP地址和规则号4个特征属性,选取目的端口、源IP地址、目的IP地址3个特征为分类属性,规则号为结论属性。规则集如表1所示。
表1 规则集
源IP地址 目的IP地址 目的端口 规则号
192.168.220.117 192.168.0.1 21 1
192.168.220.117 192.168.0.2 21 2
192.168.220.117 192.168.0.2 23 3
192.168.220.118 192.168.0.5 80 4
根据公式1和公式2分别计算熵和以目的端口、源IP地址、目的IP地址为分类属性的信息增益。结果如下表2所示。
表2 熵和信息增益结果
特征属性 源IP地址 目的IP地址 目的端口
熵 2
信息增益 0.8 1 1
取信息增益最大的目的IP地址属性作为第一次分类依据,然后对划分之后的子集采用同样的方式计算信息增益,进行进一步的划分,即第一次选取目的IP地址,然后按照同样的方法选取目的端口作为分类标准,决策树构造完成的标准是将结论属性全部划到叶子节点。结果如图1所示。
图1 ID3算法生成的决策树
分析可知:规则集通过决策树的划分,匹配最多2次就能完成,而用传统的规则集分类在极端的情况下最多需要匹配4次,匹配的次数减少了,速度也相应的提高了,随着规则集中规则数量的不断增加,效果还要更加明显,因此,应用决策树技术对规则集进行分类,在检测速度上明显优于传统的方式。
五、结论
为了保护Web服务器,入侵检测系统作为必要的安全检测工具是必不可少的。为了改善传统的规则分类技术,减少匹配的次数,提高检测效率,本文通过对决策树技术进行分析,提出了应用决策树技术对规则集进行分类,减少规则匹配次数,从而提高检测效率的方法。
参考文献:
[1]S.A Axelsson.The base-rate fallacy and its implications for the difficulty of intrusion detection. ACM Conference on Computer and Communications Security,Brecken,1999:1-7
[2]R.Kemmerer,G. Vigna.Intrusion detection:a brief history and overview.Computer,2002,35,4:27-30
[3]C.Ko,Execution Monitoring of Security-Critical Programs in a Distributed System:A Specification-Based Approach.[PhD.Thesis of Dept.Computer Science,University of California at Davis].1996:66-130
[4]Johannes Gehrke,Venkatesh Ganti.BOAT-optimistic Decision Tree Construction. in Proceedings of 1999 SIGMOD Conference,Piscataway,1999:76-85