|
IDS入侵特征库创建实例解析(1)(2) 2. 许多包含错误代码的不完善软件也会产生违反RFC定义的报头值数据。 3. 并非所有的操作系统和应用程序都能全面拥护RFC定义,至少会存在一个方面与RFC不协调。 4. 随着时间推移,执行新功能的协议可能不被包含于现有RFC中。
由于以上几种情况,严格基于RFC的IDS特征数据就有可能产生漏报或误报效果。对此,RFC也随着新出现的违反信息而不断进行着更新,我们也有必要定期地回顾或更新存在的特征数据定义。
非法报头值是特征数据的一个非常基础的部分,合法但可疑的报头值也同等重要。例如,如果存在到端口31337或27374的可疑连接,就可报警说可能有特洛伊木马在活动;再附加上其他更详细地探测信息,就能够进一步地判断是真马还是假马。
四、确定特征“候选人” 为了更好地理解如何开发基于报头值的特殊数据,下面通过分析一个实例的整个过程进行详细阐述。
Synscan是一个流行的用于扫描和探测系统的工具,由于它的代码被用于创建蠕虫Ramen的开始片断而在2001年早期大出风头。Synscan的执行行为很具典型性,它发出的信息包具有多种可分辨的特性,包括:
1. 不同的来源IP地址信息 2. TCP来源端口21,目标端口21 3. 服务类型0 4. IP鉴定号码39426(IP identification number) 5. 设置SYN和FIN标志位 6. 不同的序列号集合(sequence numbers set) 7. 不同的确认号码集合(acknowledgment numbers set) 8. TCP窗口尺寸1028
下面我们对以上这些数据进行筛选,看看哪个比较合适做特征数据。我们要寻找的是非法、异常或可疑数据,大多数情况下,这都反映出攻击者利用的漏洞或者他们使用的特殊技术。以下是特征数据的候选对象:
1. 只具有SYN和FIN标志集的数据包,这是公认的恶意行为迹象。 2. 没有设置ACK标志,但却具有不同确认号码数值的数据包,而正常情况应该是0。 3. 来源端口和目标端口都被设置为21的数据包,经常与FTP服务器关联。这种端口相同的情况一般被称为“反身”(reflexive),除了个别时候如进行一些特别NetBIOS通讯外,正常情况下不应该出现这种现象。“反身”端口本身并不违反TCP标准,但大多数情况下它们并非预期数值。例如在一个正常的 FTP对话中,目标端口一般是21,而来源端口通常都高于1023。 4. TCP窗口尺寸为1028,IP鉴定号码在所有数据包中为39426。根据IP RFC的定义,这2类数值应在数据包间有所不同,因此,如果持续不变,就表明可疑。
|