入侵检测术语全解
附录
入侵检测就是对计算机网络和计算机系统的关键结点的信息进行收集分析,检测其中是否有违反安全策略的事件发生或攻击迹象,并通知系统管理员。随着黑客应用技术的不断“傻瓜化”,入侵检测系统(Intrusion Detection System,IDS)的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!
本文以字母为序,介绍IDS的常见技术术语,希望在具体的网络安全管理中,给予你帮助。
●Alerts(警报)
当一个入侵正在发生或者试图发生时,IDS系统将发布一个Alert信息通知系统管理员。如果控制台与IDS系统同在一台机器,Alert信息将显示在监视器上,也可能伴随着声音提示。如果是远程控制台,那么Alert将通过IDS系统内置方法(通常是加密的)、SNMP(简单网络管理协议,通常不加密)、E-mail、SMS(短信息)或以上几种方法的混合方式传递给管理员。
●Anomaly(异常)
当有某个事件与一个已知攻击的信号相匹配时,多数IDS都会报警。一个基于Anomaly的IDS会构造一个当时活动的主机或网络的大致轮廓,当有一个在这个轮廓以外的事件发生时,IDS就会报警。例如一个用户突然获取了管理员或根目录的权限。有些IDS厂商将此方法看做启发式功能,但一个启发式的IDS应该在其推理判断方面具有更多的智能。
●Appliance(IDS硬件)
除了要安装到现有系统上去的IDS软件外,在市场还可以买到一些现成的IDS硬件,只需将它们接入网络中就可以应用。一些可用IDS硬件包括CaptIO、Cisco Secure IDS、OpenSnort、Dragon以及SecureNetPro。
●ArachNIDS(攻击特征数据库)
ArachNIDS是由Max Visi开发的攻击特征数据库,它是动态更新的,适用于多种基于网络的入侵检测系统。你可以到http://www.whitehats.com/ids/查看更新。
●ARIS(攻击事件注册及智能服务)
即Attack Registry & Intelligence Service。它是SecurityFocus(http://aris.securityfocus.com/)公司提供的一个附加服务,它允许用户以网络匿名方式连接到Internet上向SecurityFocus报送网络安全事件,随后SecurityFocus会将这些数据与许多其他参与者的数据结合起来,最终形成详细的网络安全统计分析及趋势预测,发布在网络上。
●Attacks(攻击)
Attacks可以理解为试图渗透系统或绕过系统的安全策略,以获取信息、修改信息以及破坏目标网络或系统功能的行为。以下列出IDS能够检测出的最常见的Internet攻击类型:
(1)DoS(Denial of Service attack,拒绝服务攻击):DoS攻击不是通过黑客手段破坏一个系统的安全,它只是使系统瘫痪,使系统拒绝向其用户提供服务。其种类包括缓冲区溢出、通过洪流(Flooding)耗尽系统资源等。
(2)DDoS(Distributed Denial of Service,分布式拒绝服务攻击):一个标准的DoS攻击使用大量来自一个主机的数据向一个远程主机发动攻击,却无法发出足够的信息包来达到理想的结果,因此就产生了DDoS,即从多个分散的主机一个目标发动攻击,耗尽远程系统的资源,或者使其连接失效。
(3)Smurf:这是一种古老的攻击方式,攻击者使用攻击目标的伪装源地址向一个Smurf广播地址执行ping操作,然后所有活动主机都会向该目标应答,从而中断网络连接。
(4)Trojans(特洛伊木马):Trojan这个术语来源于古代希腊人攻击特洛伊人使用的木马。在计算机术语中,它原本是指那些以合法程序的形式出现,其实包藏了恶意软件的软件。这样,当用户运行合法程序时,在不知情的情况下,恶意软件就被安装了。但是由于多数以这种形式安装的恶意程序都是远程控制工具,Trojan这个术语很快就演变为专指这类工具。
●Automated Response(自动响应)
除了对攻击发出警报,有些IDS还能自动抵御这些攻击:首先,可以通过重新配置路由器和防火墙,拒绝那些来自同一地址的信息流;其次,通过在网络上发送Reset包切断连接。
但是这两种方式都有问题,攻击者可以反过来利用重新配置的设备:通过伪装成一个友方的地址来发动攻击,然后IDS就会配置路由器和防火墙来拒绝这些地址,这样实际上就是对“自己人”拒绝服务了。发送Reset包的方法要求有一个活动的网络接口,这样它将置于攻击之下,一个补救的办法是:使活动网络接口位于防火墙内,或者使用专门的发包程序,从而避开标准IP栈需求。
●CIDF(通用入侵检测框架)
即Common Intrusion Detection Framework。CIDF力图在某种程度上将入侵检测标准化,开发一些协议和应用程序接口,以使入侵检测的研究项目之间能够共享信息和资源,并且入侵检测组件也能够在其他系统中再利用。其网址是:http://www.isi.edu/gost/cidf/。
●CISL(通用入侵规范语言)
即Common Intrusion Specification Language。CISL是CIDF组件间彼此通信的语言。由于CIDF就是对协议和接口标准化的尝试,因此CISL就是对入侵检测研究的语言进行标准化的尝试。
●CVE(通用漏洞披露)
即Common Vulnerabilities and Exposures。关于漏洞的一个老问题就是在设计扫描程序或应对策略时,不同的厂商对漏洞的称谓也会完全不同。还有,一些厂商会对一个漏洞定义多种特征并应用到他们的IDS系统中,这样就给人一种错觉,好像他们的产品更加有效。MITRE创建了CVE(http://cve.mitre.org/),将漏洞名称进行标准化,参与的厂商也就顺理成章按照这个标准开发IDS产品。
●Crafting Packets(自定义数据包)
建立自定义数据包,就可以避开一些惯用规定的数据包结构,从而制造数据包欺骗,或者使得收到它的计算机不知该如何处理它。制作自定义数据包的一个可用程序Nemesis,它的网址是:http://jeff.chi.wwti.com/nemesis/。
●Desynchronization(同步失效)
它本来是指用序列数逃避IDS的方法。有些IDS可能会对它本来期望得到的序列数感到迷惑,从而导致无法重新构建数据。有些文章把Desynchronization代指其他IDS逃避方法。
●Eleet(精英)
当黑客编写漏洞开发程序时,他们通常会留下一个签名,其中最声名狼藉的一个就是elite。如果将eleet转换成数字,它就是31337,而当它是指他们的能力时,elite=eleet,表示精英。31337通常被用做一个端口号或序列号。
●Enumeration(列举)
经过被动研究和社会工程学工作后,攻击者就会开始对网络资源进行列举。列举是指攻击者主动探查一个网络以发现其中有什么以及哪些可以被他利用。由于现在的行动不再是被动的,它就有可能被检测出来。当然为了避免被检测到,他们会尽可能地悄悄进行。
●Evasion(躲避)
Evasion是指发动一次攻击,而又不被IDS成功地检测到。其中的窍门就是让IDS只看到一个方面,而实际攻击的却是另一个目标,所谓明修栈道,暗渡陈仓。Evasion的一种形式是为不同的信息包设置不同的TTL(有效时间)值,这样,经过IDS的信息看起来好像是无害的,而在无害信息位上的TTL比要到达目标主机所需要的TTL要短。一旦经过了IDS并接近目标,无害的部分就会被丢掉,只剩下有害的。
●Exploits(漏洞利用)
对于每一个漏洞,都有利用此漏洞进行攻击的机制。为了攻击系统,攻击者编写出漏洞利用代码或教本。
对每个漏洞都会存在利用这个漏洞执行攻击的方式,这个方式就是Exploit。为了攻击系统,黑客会编写出漏洞利用程序。
●Zero Day Exploit(零时间漏洞利用)
零时间漏洞利用是指还未被了解且仍在肆意横行的漏洞利用,也就是说这种类型的漏洞利用当前还没有被发现。一旦一个漏洞利用被网络安全界发现,很快就会出现针对它的补丁程序,并在IDS中写入其特征标识信息,使这个漏洞利用无效,有效地捕获它。
●False Negatives(漏报)
漏报是指一个攻击事件未被IDS检测到或被分析人员认为是无害的。
●False Positives(误报)
误报是指实际无害的事件却被IDS检测为攻击事件。
●Firewalls(防火墙)
防火墙是网络安全的第一道关卡,虽然它不是IDS,但是防火墙日志可以为IDS提供宝贵信息。防火墙工作的原理是根据规则或标准,如源地址、端口等,将危险连接阻挡在外。
●FIRST(事件响应和安全团队论坛)
即Forum of Incident Response and Security Teams。FIRST是由国际性政府和私人组织联合起来交换信息并协调响应行动的联盟,一年一度的FIRST受到高度的重视,其网址是:http://www.first.org/。
●Fragmentation(分片)
如果一个信息包太大而无法装载,它就不得不被分成片断。分片的依据是网络的MTU(Maximum Transmission Units,最大传输单元)。例如,令牌环网(Token Ring)的MTU是4464,以太网(Ethernet)的MTU是1500,因此,如果一个信息包要从令牌环网传输到以太网,它就要被分裂成一些小的片断,然后再在目的地重建。虽然这样处理会造成效率降低,但是分片的效果还是很好的。黑客将分片视为躲避IDS的方法,另外还有一些DoS攻击也使用分片技术。
●Heuristics(启发)
Heuristics就是指在入侵检测中使用AI(Artificial Intelligence,人工智能)思想。真正使用启发理论的IDS已经出现多年,但他们还不够“聪明”,攻击者可以通过训练它而使它忽视那些恶意的信息流。有些IDS使用异常模式去检测入侵,这样的IDS必须要不断地学习什么是正常事件。一些厂商认为这已经是相当“聪明”的IDS了,所以就将它们看作是启发式IDS。但实际上,真正应用AI技术对输入数据进行分析的IDS还很少。
●Honeynet Project(Honeynet工程)
Honeynet是一种学习工具,是一个包含安全缺陷的网络系统。当它受到安全威胁时,入侵信息就会被捕获并接受分析,这样就可以了解黑客的一些情况。Honeynet是一个由30余名安全专业组织成员组成、专门致力于了解黑客团体使用的工具、策略和动机以及共享他们所掌握的知识的项目。他们已经建立了一系列的Honeypots,提供了看似易受攻击的Honeynet网络,观察入侵到这些系统中的黑客,研究黑客的战术、动机及行为。
●Honeypot(蜜罐)
蜜罐是一个包含漏洞的系统,它模拟一个或多个易受攻击的主机,给黑客提供一个容易攻击的目标。由于蜜罐没有其他任务需要完成,因此所有连接的尝试都应被视为是可疑的。蜜罐的另一个用途是拖延攻击者对其真正目标的攻击,让攻击者在蜜罐上浪费时间。与此同时,最初的攻击目标受到了保护,真正有价值的内容将不受侵犯。
蜜罐最初的目的之一是为起诉恶意黑客搜集证据,这看起来有“诱捕”的感觉。但是在一些国家中,是不能利用蜜罐收集证据起诉黑客的。
●IDS Categories(IDS分类)
有许多不同类型的IDS,以下分别列出:
(1)Application IDS(应用程序IDS):应用程序IDS为一些特殊的应用程序发现入侵信号,这些应用程序通常是指那些比较易受攻击的应用程序,如Web服务器、数据库等。有许多原本着眼于操作系统的基于主机的IDS,虽然在默认状态下并不针对应用程序,但也可以经过训练,应用于应用程序。例如,KSE(一个基于主机的IDS)可以告诉我们在事件日志中正在进行的一切,包括事件日志报告中有关应用程序的输出内容。
(2)Consoles IDS(控制台IDS):为了使IDS适用于协同环境,分布式IDS代理需要向中心控制台报告信息。现在的许多中心控制台还可以接收其他来源的数据,如其他厂商的IDS、防火墙、路由器等。将这些信息综合在一起就可以呈现出一幅更完整的攻击图景。有些控制台还将它们自己的攻击特征添加到代理级别的控制台,并提供远程管理功能。
(3)File Integrity Checkers(文件完整性检查器):当一个系统受到攻击者的威胁时,它经常会改变某些关键文件来提供持续的访问和预防检测。通过为关键文件附加信息摘要(加密的杂乱信号),就可以定时地检查文件,查看它们是否被改变,这样就在某种程度上提供了保证。一旦检测到了这样一个变化,完整性检查器就会发出一个警报。而且,当一个系统已经受到攻击后,系统管理员也可以使用同样的方法来确定系统受到危害的程度。以前的文件检查器在事件发生好久之后才能将入侵检测出来,最近出现的许多产品能在文件被访问的同时就进行检查,可以看作是实时IDS产品了。
(4)Honeypots(蜜罐):关于蜜罐,前面已经介绍过。
(5)Host based IDS(基于主机的IDS):这类IDS对多种来源的系统和事件日志进行监控,发现可疑活动。基于主机的IDS也叫做主机IDS,最适合于检测那些可以信赖的内部人员的误用,以及已经避开了传统的检测方法而渗透到网络中的活动。除了完成类似事件日志阅读器的功能,主机IDS还对“事件/日志/时间”进行签名分析。许多产品中还包含了启发式功能。因为主机IDS几乎是实时工作的,系统的错误就可以很快地检测出来,技术人员和安全人士都非常喜欢它。现在,基于主机的IDS就是指基于服务器/工作站主机的所有类型的入侵检测系统。
(6)Hybrid IDS(混合IDS):现代交换网络的结构给入侵检测操作带来了一些问题。首先,默认状态下的交换网络不允许网卡以混杂模式工作,这使传统网络IDS的安装非常困难。其次,很高的网络速度意味着很多信息包都会被NIDS所丢弃。Hybrid IDS(混合IDS)正是解决这些问题的一个方案,它将IDS提升了一个层次,组合了网络节点IDS和Host IDS(主机IDS)。虽然这种解决方案覆盖面极大,但同时要考虑到由此引起的巨大数据量和费用。许多网络只为非常关键的服务器保留混合IDS。有些厂商把完成一种以上任务的IDS都叫做Hybrid IDS,实际上这只是为了广告的效应。
(7)Network IDS(NIDS,网络IDS):NIDS对所有流经监测代理的网络通信量进行监控,对可疑的异常活动和包含攻击特征的活动做出反应。NIDS原本就是带有IDS过滤器的混合信息包嗅探器,但是近来它们变得更加智能化,可以破译协议并维护状态。NIDS存在基于应用程序的产品,只需要安装到主机上就可应用。NIDS对每个信息包进行攻击特征的分析,但是在网络高负载下,还是要丢弃些信息包。
(8)Network Node IDS(NNIDS,网络节点IDS):有些网络IDS在高速下是不可靠的,装载之后它们会丢弃很高比例的网络信息包,而且交换网络经常会防碍网络IDS看到混合传送的信息包。NNIDS将NIDS的功能委托给单独的主机,从而缓解了高速和交换的问题。虽然NNIDS与个人防火墙功能相似,但它们之间还有区别。对于被归类为NNIDS的个人防火墙,应该对企图的连接做分析。例如,不像在许多个人防火墙上发现的“试图连接到端口xxx”,一个NNIDS会对任何的探测都做特征分析。另外,NNIDS还会将主机接收到的事件发送到一个中心控制台。
(9)Personal Firewall(个人防火墙):个人防火墙安装在单独的系统中,防止不受欢迎的连接,无论是进来的还是出去的,从而保护主机系统。注意不要将它与NNIDS混淆。
(10)Target-Based IDS(基于目标的IDS):这是不明确的IDS术语中的一个,对不同的人有不同的意义。可能的一个定义是文件完整性检查器,而另一个定义则是网络IDS,后者所寻找的只是对那些由于易受攻击而受到保护的网络所进行的攻击特征。后面这个定义的目的是为了提高IDS的速度,因为它不搜寻那些不必要的攻击。
●IDWG(入侵检测工作组)
即Intrusion Detection Working Group。入侵检测工作组的目标是定义数据格式和交换信息的程序步骤,这些信息是对于入侵检测系统、响应系统以及那些需要与它们交互作用的管理系统都有重要的意义。入侵检测工作组与其他IETF组织协同工作。
IDWG的URL地址是:http://www.ietf.org/html.charters/idwg-charter.html。
IETF的URL地址是:http://www.ietf.org/。
●Incident Handling(事件处理)
检测到一个入侵只是开始。更普遍的情况是,控制台操作员会不断地收到警报,由于根本无法分出时间来亲自追踪每个潜在事件,操作员会在感兴趣的事件上做出标志以备将来由事件处理团队来调查研究。在最初的反应之后,就需要对事件进行处理,也就是诸如调查、辩论和起诉之类的事宜。
●Incident Response(事件响应)
对检测出的潜在事件的最初反应,随后对这些事件要根据事件处理的程序进行处理。
●Islanding(孤岛)
孤岛就是把网络从Internet上完全切断,这几乎是最后一招了,没有办法的办法。一个组织只有在大规模的病毒爆发或受到非常明显的安全攻击时才使用这一手段。
●Promiscuous(混杂模式)
默认状态下,IDS网络接口只能看到进出主机的信息,也就是所谓的Non-promiscuous(非混杂模式)。如果网络接口是混杂模式,就可以看到网段中所有的网络通信量,不管其来源或目的地。这对于网络IDS是必要的,但同时可能被信息包嗅探器所利用来监控网络通信量。交换型HUB可以解决这个问题,在能看到全面通信量的地方,会都许多跨越(Span)端口。
●Routers(路由器)
路由器是用来连接不同子网的中枢,它们工作于OSI 7层模型的传输层和网络层。路由器的基本功能就是将网络信息包传输到它们的目的地。一些路由器还有访问控制列表(ACLs),允许将不想要的信息包过滤出去。许多路由器都可以将它们的日志信息注入到IDS系统中,提供有关被阻挡的访问网络企图的宝贵信息。
●Scanners(扫描器)
扫描器是自动化的工具,它扫描网络和主机的漏洞。同入侵检测系统一样,它们也分为很多种,以下分别描述:
(1)Network Scanners(网络扫描器):网络扫描器在网络上搜索以找到网络上所有的主机。传统上它们使用的是ICMP Ping技术,但是这种方法很容易被检测出来。为了变得隐蔽,出现了一些新技术,例如Ack扫描和Fin扫描。使用这些更为隐蔽扫描器的另一个好处是:不同的操作系统对这些扫描会有不同的反应,从而为攻击者提供了更多有价值的信息。这种工具的一个例子是nmap。
(2)Network Vulnerability Scanners(网络漏洞扫描器):网络漏洞扫描器将网络扫描器向前发展了一步,它能检测目标主机,并突出一切可以为黑客利用的漏洞。网络漏洞扫描器可以为攻击者和安全专家使用,但会经常让IDS系统“紧张”。该类产品有Retina和CyberCop。
(3)Host Vulnerability Scanners(主机漏洞扫描器):这类工具就像个有特权的用户,从内部扫描主机,检测口令强度、安全策略以及文件许可等内容。网络IDS,特别是主机IDS可以将它检测出来。该类产品有Security Expressions,它是一个远程Windows漏洞扫描器,并且能自动修复漏洞。还有如ISS数据库扫描器,会扫描数据库中的漏洞。
●Script Kiddies(脚本小子)
有些受到大肆宣扬的Internet安全破坏,如2000年2月份对Yahoo的拒绝服务攻击,是一些十来岁的中学生干的,他们干这些坏事的目的好像是为了扬名。安全专家通常把这些人称为脚本小子(Script Kiddies)。脚本小子通常都是一些自发的、不太熟练的Cracker,他们使用从Internet上下载的信息、软件或脚本对目标站点进行破坏。黑客组织或法律实施权威机构都对这些脚本小孩表示轻蔑,因为他们通常都技术不熟练,手上有大把时间可以来搞破坏,他们的目的一般是为了给他们的朋友留下印象。脚本小子就像是拿着枪的小孩,他们不需要懂得弹道理论,也不必能够制造枪支,就能成为强大的敌人。因此,无论何时都不能低估他们的实力。
●Shunning(躲避)
躲避是指配置边界设备以拒绝所有不受欢迎的信息包,有些躲避甚至会拒绝来自某些国家所有IP地址的信息包。
●Signatures(特征)
IDS的核心是攻击特征,它使IDS在事件发生时触发。特征信息过短会经常触发IDS,导致误报或错报,过长则会减慢IDS的工作速度。有人将IDS所支持的特征数视为IDS好坏的标准,但是有的厂商用一个特征涵盖许多攻击,而有些厂商则会将这些特征单独列出,这就会给人一种印象,好像它包含了更多的特征,是更好的IDS。
●Stealth(隐藏)
隐藏是指IDS在检测攻击时不为外界所见,它们经常在DMZ以外使用,没有被防火墙保护。它有些缺点,如自动响应。