驱动管家:安全、高效、精准的专业驱动下载站!

IDS特征如何识别?IDS特征有什么用?

2018-03-05 16:51:35责编:llp   来源:驱动管家     人气:

IDS要有效地捕捉入侵行为,必须拥有一个强大的入侵特征数据库,这就如同一款强大的杀毒软件必须拥有强大且完善的病毒库一样。但是,IDS一般所带的特征数据库都比较滞后于新的攻击手段,入侵行为稍微改变往往便会相逢不相识。因此,管理员有必要学会如何创建满足实际需要的特征数据样板!本文将对入侵特征的概念、种类以及如何创建特征进行介绍,希望能帮助读者尽快掌握对付入侵行为的方法。

特征(Signature)的基本概念

IDS中的特征一般指用于判别通讯信息种类的特征数据,以下是一些典型情况及识别方法:

来自保留IP地址的连接企图:可通过检查IP报头(IP header)的来源地址轻易地识别。

带有非法TCP 标识的数据包:可通过对比TCP报头中的标志集与已知正确和错误标记的不同点来识别。

含有特殊病毒信息的Email:可通过对比每封Email的主题信息和病态Email的主题信息来识别,或者通过搜索特定名字的附件来识别。

查询负载中的DNS缓冲区溢出企图:可通过解析DNS域及检查每个域的长度来识别利用DNS域的缓冲区溢出企图;还有另外一个识别方法是,在负载中搜索“壳代码利用”(Exploit Shellcode)的序列代码组合。

针对POP3服务器的DoS攻击:通过跟踪记录某个命令连续发出的次数,看看是否超过了预设上限,而发出报警信息。

未登录情况下使用文件和目录命令对FTP服务器的文件访问攻击:通过创建具备状态跟踪的特征数据以监视成功登录的FTP对话、发现未经验证却发命令的入侵企图。

从以上分类可以看出特征的涵盖范围很广,有简单的报头域数值、有高度复杂的连接状态跟踪、有扩展的协议分析。笔者将从最简单的特征入手,详细讨论其功能及开发、定制方法。

IDS特征如何识别?IDS特征有什么用?

但用户需要知道的是,不同的IDS产品具有的特征功能也有所差异。如有些网络IDS系统只允许很少地定制存在的特征数据或者编写需要的特征数据,另外一些则允许在很宽的范围内定制或编写用户需求的特征数据,甚至可以是任意特征;再则一些IDS系统只能检查确定的报头或负载数值,另外一些则可以获取任何信息包的任何位置的数据。

特征有什么作用?

这似乎是一个答案很明显的问题:特征是检测数据包中的可疑内容是否存在攻击行为的对照物。IDS系统本身已经拥有了特征库,为什么还需要定制或编写特征呢?笔者以为,也许你经常看到一些熟悉的通讯信息流在网络上游荡,由于IDS系统的特征数据库滞后或者这些通讯信息本身就不是攻击或探测数据,IDS系统并不会十分关注这样的信息,但身为网络的管理员,我们必须对这样的可疑数据提高警惕,因此我们需要指定一些特征样本,捕捉它们、仔细分析它们从何而来,目的又是什么。因此唯一的办法就是对现有特征数据库进行一些定制配置或者编写新的特征数据。

特征的定制或编写程度可粗可细,完全取决于实际需求。或者是只判断是否发生了异常行为而不确定具体是什么攻击,从而节省资源和时间;或者是判断出具体的攻击手段或漏洞利用方式,从而获取更多的信息。

报头值(Header Values)

报头值的结构比较简单,而且可以很清楚地识别出异常报头信息,因此在编写特征数据时,首先想到的就是它。一个经典的例子是:明显违背RFC793中规定的TCP标准、设置了SYN和FIN标记的TCP数据包。这种数据包被许多入侵软件采用,向防火墙、路由器以及IDS系统发起攻击。异常报头值的来源有以下几种:

因为大多数操作系统和应用软件都是在假定RFC被严格遵守的情况下编写的,没有添加针对异常数据的错误处理程序,所以许多包含报头值的漏洞利用都会故意违反RFC的标准定义。许多包含错误代码的不完善软件也会产生违反RFC定义的报头值数据。并非所有的操作系统和应用程序都能全面拥护RFC定义,至少会存在一个方面与RFC不协调。当然随着时间推移,技术的不断创新,执行新功能的协议可能不被包含于现有RFC中。

由于以上几种情况,严格基于RFC的IDS特征数据就有可能产生漏报或误报效果。对此,RFC也随着新出现的违反信息而不断进行着更新,这就需要我们有必要定期地回顾或更新存在的特征数据定义,及时发现不足。

非法报头值是特征数据的一个非常基础的部分,合法但可疑的报头值也同等重要。例如,如果存在到端口31337或27374的可疑连接,就可能存在木马活动;再附加上其他更详细地探测信息,就能够进一步地判断是否真的存在木马。

确定特征数据的候选对象

为了更好地理解如何开发基于报头值的特殊数据,下面通过分析一个实例的进行详细阐述。

Synscan是一个流行的用于扫描和探测系统的工具,由于它的代码被用于创建蠕虫Ramen的头部片断而在2001年早期大出风头。Synscan的执行行为很具典型性,它发出的信息包具有多种可分辨的特性,包括:

不同的来源IP地址信息

TCP来源端口21,目标端口21

服务类型0

IP鉴定号码39426(IP identification number)

设置SYN和FIN标志位

不同的序列号集合(sequence numbers set)

不同的确认号码集合(acknowledgment numbers set)

TCP窗口尺寸1028

下面我们对以上这些数据进行筛选,看看哪个比较合适做特征数据。我们要寻找的是非法、异常或可疑数据,大多数情况下,这都反映出攻击者利用的漏洞或者他们使用的特殊技术。以下是特征数据的候选对象:

只具有SYN和FIN标志集的数据包,这是公认的恶意行为迹象。

没有设置ACK标志,但却具有不同确认号码数值的数据包,而正常情况应该是0。

来源端口和目标端口都被设置为21的数据包,经常与FTP服务器关联。这种端口相同的情况一般被称为reflexive,除了个别时候如进行一些特别NetBIOS通讯外,正常情况下不应该出现这种现象。reflexive端口本身并不违反TCP标准,但大多数情况下它们并非预期数值。例如在一个正常的FTP对话中,目标端口一般是21,而来源端口通常都高于1023。

TCP窗口尺寸为1028,IP鉴定号码在所有数据包中为39426。根据IP RFC的定义,这2类数值应在数据包间有所不同,因此,如果持续不变,就表明可疑。

如何正确使用特征

从以上4个候选特征对象中,我们可以单独选出一项作为基于报头的特征数据,也可以选出多项组合作为特征数据。

选择一项数据作为特征有很大的局限性。例如一个简单的特征可以是只具有SYN和FIN标志的数据包,虽然这可以很好地提示我们可能有一个可疑的行为发生,但却不能给出为什么会发生的更多信息。SYN和FIN通常联合在一起攻击防护墙和其他设备,只要有它们出现,就预示着扫描正在发生、信息正在收集、攻击将要开始。但仅仅这些而已,我们需要的是更多的细节资料。

选择以上4项数据联合作为特征也不现实,因为这显得有些太特殊了,而且可能占有太多的系统资源。尽管能够精确地提供行为信息,但是比仅仅使用一个数据作为特征而言,会显得远远缺乏效率。实际上,特征定义永远要在效率和精确度间取得折中。大多数情况下,简单特征比复杂特征更倾向于误报(false positives),因为前者很普遍;复杂特征比简单特征更倾向于漏报(false negatives),因为前者太过全面,攻击软件的某个特征会随着时间的推进而变化。

多也不行,少亦不可,完全应由实际情况决定。例如,我们想判断攻击可能采用的工具是什么,那么除了SYN和FIN标志以外,还需要什么其他属性?“反身”端口虽然可疑,但是许多工具都使用到它,而且一些正常通讯也有此现象,因此不适宜选为特征。TCP窗口尺寸1028尽管有一点可疑,但也会自然的发生。IP鉴定号码39426也一样。没有ACK标志的ACK数值很明显是非法的,因此非常适于选为特征数据。当然,根据环境的不同,及时地调整或组合特征数据,才是达到最优效果的不二法门。

接下来我们创建一个特征,用于寻找并确定synscan发出的每个TCP信息包中的以下属性:

只设置了SYN和FIN标志

IP鉴定号码为39426

TCP窗口尺寸为1028

第一个项目已经十分普遍,第二个和第三个项目联合出现在同一数据包的情况不很多,因此,将这三个项目组合起来就可以定义一个详细的特征了。再加上其他的synscan属性不会显著地提高特征的精确度,只能增加资源的耗费。到此,判别synscan软件的特征如此就创建完毕了。

扩展,创建识别更多异常通讯的特征

以上创建的特征可以满足对标准synscan软件的探测了。但synscan可能存在多种变化,而其它工具也可能是随时改变的,这样上述建立的特征必然不能将它们一一识别。这时就需要结合使用特殊特征和通用特征,才能创建一个更好、更全面的解决方案。如果一个入侵检测特征既能揭示已知威胁,还能预测潜在威胁,这样会大大提供IDS的性能。

首先看一个“变脸”synscan所发出的数据信息特征:

只设置了SYN标志,纯属正常的TCP数据包特征。

TCP窗口尺寸总是40而不是1028。40是初始SYN信息包中一个罕见的小窗口尺寸,比正常的数值1028少见得多。

“反身”端口数值为53而不是21。老版本的BIND使用“反身”端口用于特殊操作,新版本BIND则不再使用它,因此,经常看到这个信息会让我们睁大怀疑的眼睛。

以上3种数据与标准synscan产生的数据有很多相似出,因此可以初步推断产生它的工具或者是synscan的不同版本,或者是其他基于synscan代码的工具。显然,前面定义的特征已经不能将这个“变脸”识别出来,因为3个特征子项已经面目全非。这时,我们可以采取三种方法:

再单独创建一个匹配这些内容的特殊特征。

调整我们的探测目标,只关注普通的异常行为,而不是特殊的异常行为,创建识别普通异常行为的通用特征。

1和2都创建,既全面撒网,也重点垂钓,真实的罪犯必抓,可疑的分子也别跑。

通用特征可以创建如下:

没有设置确认标志,但是确认数值却非0的TCP数据包。

只设置了SYN和FIN标志的TCP数据包。

初始TCP窗口尺寸低于一定数值的TCP数据包。

使用以上的通用特征,上面提到过的两种异常数据包都可以有效地识别出来。看来,网大好捞鱼啊。

当然,如果需要更加详细地探测,再在这些通用特征的基础上添加一些个性数据就可以创建出一个特殊特征来。还是那个观点,创建什么样的特征、创建哪些特征,取决于实际需求,实践是检测创建何种特征的唯一标准吗!

报头值关键元素小结,信息包种类检查分析

从上面讨论的例子中,我们看到了可用于创建IDS特征的多种报头值信息。通常,最有可能用于生成报头相关特征的元素为以下几种:

IP地址,特别保留地址、非路由地址、广播地址。

不应被使用的端口号,特别是众所周知的协议端口号和木马端口号。

异常信息包片断。

特殊TCP标志组合值。

不应该经常出现的ICMP字节或代码。

知道了如何使用基于报头的特征数据,接下来要确定的是检查何种信息包。确定的标准依然是根据实际需求而定。因为ICMP和UDP信息包是无状态的,所以大多数情况下,需要对它们的每一个属性都进行检查。而TCP信息包是有连接状态的,因此有时候可以只检查连接中的第一个信息包。例如,象IP地址和端口这样的特征将在连接的所有数据包中保持不变,只对它们检查一次就可放心。其他特征如TCP标志会在对话过程的不同数据包中有所不同,如果要查找特殊的标志组合值,就需要对每一个数据包进行检查。检查的数量越多,消耗的资源和时间也就越多。

另外我们还要了解一点:关注TCP、UDP或者ICMP的报头信息要比关注DNS报头信息更方便。因为TCP、UDP以及ICMP都属于IP协议,它们的报头信息和载荷信息都位于IP数据包的payload部分,比如要获取TCP报头数值,首先解析IP报头,然后就可以判断出这个载荷的父类是TCP。而象DNS这样的协议,它又包含在UDP和TCP数据包的载荷中,如果要获取DNS的信息,就必须深入2层才能看到真面目。而且,解析此类协议还需要更多更复杂的编程代码,完全不如TCP等简单。实际上,这个解析操作也正是区分不同协议的关键所在,评价IDS系统的好坏也体现在是否能够很好地分析更多的协议。

结语

本文对如何定制IDS的关键部件特征数据库做了详细地介绍,相信你已经对此有了进一步的认识。入侵者总是狡猾多变的,我们不能让手中的钢刀有刃无光,要经常地磨砺它、改装它,才可能以万变应万变,让入侵者胆战心惊!

  • 默认安装的sniffer软件:snoop攻击实例

    默认安装的sniffer软件:snoop攻击实例

    假设我们已经通过某种方法成功的攻人了 Solaris 主机 202 11 22 33(本文隐藏了实际 IP地址,下同)并且获得这台主机上的最高root权限。那么,现在我们就可以在这台主机上使用Sniffer来嗅探此网段上传输的密

    详情2018-01-29 16:44:06责编:llp   来源:驱动管家     
  • ibm db2中有哪些加密函数?这些加密函数怎么用?

    ibm db2中有哪些加密函数?这些加密函数怎么用?

    多年来,数据库已经能够阻止未经授权的人看到其中的数据,这通常是通过数据库管理器中的特权和权限来实现的。在当前的环境下,对存储数据的保密的需求日益增长。这意味着即使 DBA 对表中的数据有完全的访问权限

    详情2018-02-25 09:48:31责编:llp   来源:驱动管家     
  • 尝试用后台漏洞入侵phpwind论坛

    尝试用后台漏洞入侵phpwind论坛

    事发一星期前,在入侵一个PHPWIND论坛时的成果,适用于PHPWIND不能上传,而网上盛传的三种拿SEHLL方法都无效,可以一试,应该算是PHPWIND后台的漏洞准备工具:winsock专家 v0 6 betan1 一只;UE-32 EXE一只;NC EXE一

    详情2018-03-05 11:29:41责编:llp   来源:驱动管家     
  • autorun.inf病毒有什么现象?删除autorun.inf如何做?

    autorun.inf病毒有什么现象?删除autorun.inf如何做?

    病毒现象1) 安全模式无法进入。2) 注册表HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Image File Execution Options下多出了许多劫持项,导致一些安全类软件和工具无法打开。图1:

    详情2018-01-28 09:33:56责编:llp   来源:驱动管家     
  • 什么是ip欺骗?ip欺骗的原理

    什么是ip欺骗?ip欺骗的原理

    即使是很好的实现了TCP IP协议,由于它本身有着一些不安全的地方,从而可以对TCP IP网络进行攻击。这些攻击包括序列号欺骗,路由攻击,源地址欺骗和授权欺骗。本文除了介绍IP欺骗攻击方法外,还介绍怎样防止这个

    详情2018-01-06 18:36:30责编:llp   来源:驱动管家     
  • 为什么会产生盗链?iis如何防盗链?

    为什么会产生盗链?iis如何防盗链?

    “盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站

    详情2018-02-02 20:38:28责编:llp   来源:驱动管家     
  • 入侵信息监控系统,获取信息监控系统的权限

    入侵信息监控系统,获取信息监控系统的权限

    今天终于GK完了无聊闲逛在网上,意识催魂试的找我要文章 哈~发现一迷信网站,不爽 (入侵需要理由吗?不需要吗?需要吗? )用telnet www xxx com 80get enterHTTP 1 1 400 Bad RequestServer: Mic

    详情2018-02-02 08:53:18责编:llp   来源:驱动管家     
  • 思科系统:cisco ios12.2的漏洞介绍以及解决方法

    思科系统:cisco ios12.2的漏洞介绍以及解决方法

    Cisco IOS是思科网络设备中所使用的互联网操作系统。 如果有漏洞的Cisco设备配置了开放最短路径优先(OSPF)Sham-Link和多协议标签交换(MPLS)虚拟专用网(VPN)的话,就可能受阻断队列、内存泄露和 或设备重

    详情2018-01-26 08:52:31责编:llp   来源:驱动管家     
  • x-scan是什么?x-scan怎么安装与使用?

    x-scan是什么?x-scan怎么安装与使用?

    X-Scan简介X-Scan是中国著名的综合扫描器之一,它是免费的而且不需要安装的绿色软件、界面支持中文和英文两种语言、包括图形界面和命令行方式(X-Scan 3 3以后取消命令行方式)。X-Scan主要由国内著名的民间黑客

    详情2018-01-26 16:25:23责编:llp   来源:驱动管家     
  • 反arp攻击:局域网怎么隔离感染arp病毒的电脑?

    反arp攻击:局域网怎么隔离感染arp病毒的电脑?

    局域网如何隔离感染ARP病毒的电脑呢?以下就是具体的实现方法。方法 步骤局域网电脑是否存在ARP攻击的查看方法:点击“开始”-“程序”-“附件”-“运行”项来打开“运行“窗口,或者按”Windows+R“来打开,输入

    详情2018-01-23 10:24:04责编:llp   来源:驱动管家