版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章网络基本安全防护
4.1网络安全防护体系4.2防火墙4.3入侵检测4.4审计日志4.5漏洞检测技术4.6网络故障管理探析4.7数据备份与恢复4.8可生存性和容忍入侵4.9系统分区隔离
4.1网络安全防护体系
作为Internet技术的核心,尽管TCP/IP协议在连通性上非常成功,但在安全性方面却暴露了很多问题。由于TCP/IP没有一个整体的安全体系,各种安全技术(如防火墙、SSL通用协议等)虽然能够在某一方面保护网络资源或保证网络通信的安全,但是各种技术相对独立,冗余性大,在可管理性和扩展性方面都存在很多局限。从安全防护体系的角度研究怎样有机地组合各种单元技术,计划出一个合理的安全体系,为各种层次不同的应用提供唯一的安全服务,满足不同强度的安全需求,这对于网络安全的设计、实现与管理都非常重要。开放式系统互连参考模型(OSI/RM)扩展部分中增加了有关安全体系结构的描述。安全体系结构(SecurityArchitecture)是指对网络安全功能的抽象描述,从整体上定义网络系统所提供的安全服务和安全机制。然而这一体系只为安全通信环境提出了一个概念性框架。事实上,安全体系结构不仅应该定义一个系统安全所需要的各种元素,还应该包括这些元素之间的关系,以构成一个有机的整体,正像Architecture这个词的本意,一堆砖瓦不能称为建筑。美国国防信息系统安全计划(DISSP)提出了一个反映网络安全需求的安全框架。该框架是一个由安全属性、OSI各协议层和系统部件组成的三维矩阵结构。但是该框架中系统部件维所包括的系统部件(端系统、接口、网络系统和安全管理)并不能反映网络工程中的实际需求,也没有给出安全属性维中个安全实行的逻辑关系。本节介绍一个针对TCP/IP网络由安全服务、协议层次和实体单元组成的三维框架结构,它是在DISSP三维安全模型基础上的改进模型,从三个不同的角度阐述不同实体、不同层次的安全需求以及它们之间的逻辑关系。4.1.1网络安全体系结构的相关概念
1.安全服务
安全服务是一个系统各功能部件所提供的安全功能总和。从协议分层的角度来看,底层协议实体为上层实体提供安全服务,而对外屏蔽安全服务的具体实现。OSI安全体系结构模型中定义了五组安全服务:认证(Authentication)服务、保密(Confidentiality)服务、数据完整性(Integrity)服务、访问控制(AccessControl)服务、抗抵赖(Non-repudiation)服务(或称作不可否认服务)。
2.安全机制
安全机制是指安全服务的实现机制。一种安全服务可以由多种安全机制来实现。一种安全机制也可以为多种安全服务所用。
3.安全管理
安全管理包括两方面的内容,一是安全的管理(ManagementofSecurity),网络和系统中各种安全服务和安全机制的管理,如认证或加密服务的激活、密钥等参数的配置、更新等;二是管理的安全(SecurityofManagement),是指各种管理活动自身的安全,如管理系统本身和管理信息的安全。4.1.2网络安全体系的三维框架结构
描述计算机网络安全防护体系结构的三维框架结构如图4-1所示。
(1)安全服务平面取自国际标准化组织制订的安全体系结构模型。我们在五类基本的安全服务以外增加了可用性(Availability)服务。不同的应用环境对安全服务需求是不同的,各种安全服务之间也不是完全独立的。后面将介绍各种安全服务之间的依赖关系。
(2)协议层次平面参照TCP/IP协议的分层模型,旨在从网络协议结构角度考察安全体系结构。图4-1网络安全防护体系的三维框架结构
(3)实体单元平面给出了计算机网络系统的基本组成单元,各种高单元安全技术或安全系统也可以划分成这几个层次。
(4)安全管理涉及所有协议层次、所有实体单元的安全服务和安全机制管理。安全管理操作不是正常的通信业务,但为正常通信所需的安全服务提供控制与管理机制,是各种安全机制有效性的重要保证。
从(X,Y,Z)三个平面各取一点,比如:取(认证服务,网络层,计算机),表示计算机系统在网络层采取的认证服务,如端到端的、基于主机地址的认证,如系统登录时的用户名/口令保护等;取(访问控制服务,网络层,计算机网络),表示网络系统在网络层采取的访问控制服务,比如防火墙系统。
4.1.3安全服务之间的关系
如图4-1中的X平面所示,一个网络系统的安全需求包括以下几个方面:主体与客体的标识与认证,主体的授权与访问控制,数据存储与传输的完整性,数据存储与传输的保密性,可用性保证,抗抵赖服务(不可否认性)。各种安全需求之间存在相互依赖关系,孤立地选取某种安全服务常常是无效的。这些安全服务之间的关系如图4-2所示。图4-2安全服务关系图在计算机系统或网络通信中,参与交互或通信的实体分别被称为主体(Subject)和客体(Object)。对主体与客体的标识与认证是计算机网络安全的前提。认证服务用来验证实体标识的合法性,不经认证的实体和通信数据都是不可信的。不过目前Internet网络中从底层协议到高层的应用许多都没有认证机制,如IPv4无法验证对方IP地址的真实性,SMTP协议也没有对收到的E-mail中源地址和数据的验证能力。没有实体之间的认证,所有的访问控制措施、数据加密手段等等都是不完备的。比如,目前绝大多数基于包过滤的防火墙由于没有地址认证能力,无法防范假冒地址类型的攻击。访问控制是许多系统安全保护机制的核心。任何访问控制措施都应该以一定的访问控制策略(Policy)为基础,并依据对应该策略的访问控制模型(AccessControlModel)。网络资源的访问控制和操作系统类似,比如需要一个参考监控器(ReferenceMonitor),控制所有主体对客体的访问。防火墙系统可以看成外部用户(主体)访问内部资源(客体)的参考监控器,然而,集中式的网络资源参考监控器很难实现,特别是在分布式应用环境中。与操作系统访问控制的另外一点不同是,信道、数据包、网络连接等都是一种实体,有些实体(如代理进程)既是主体又是客体,这都是导致传统操作系统的访问控制模型很难用于网络环境。数据存储于传输的完整性是认证和访问控制有效性的重要保证,比如,认证协议的设计一定要考虑认证信息在传输过程中不被篡改;同时,访问控制又常常是实现数据存储完整性的手段之一。与数据保密性相比,数据完整性的需求更为普遍。数据保密性一般也要和数据完整性结合才能保证保密机制的有效性。保证系统高度的可用性是网络安全的重要内容之一,许多针对网络和系统的攻击都是破坏系统的可用性,而不一定损害数据的完整性与保密性。目前,保证系统可用性的研究还不够充分,许多拒绝服务类型的攻击还很难防范。抗抵赖服务在许多应用(如电子商务)中非常关键,它和数据源认证、数据完整性紧密相关。
4.2防火墙
4.2.1防火墙概述
1.防火墙的概念
防火墙是一种用来加强网络之间访问控制的特殊网络设备,常常被安装在受保护的内部网络并被连接到Internet的点上。它对传输的数据包和连接方式按照一定的安全策略对其进行检查,来决定网络之间的通信是否被允许。防火墙能有效地控制内部网络与外部网络之间的访问及数据传输,从而达到保护内部网络的信息不受外部非授权用户的访问和对不良信息的过滤。防火墙的位置如图4-3所示。防火墙服务于如下的两个目的:
(1)限制人们从一个特别的控制点进入,防止侵入者接近内部设施;
(2)限定人们从一个特别的点离开,有效地保护内部资源。
防火墙的功能要求所有进出网络的通信流都应该通过防火墙,所有穿过防火墙的通信流都必须有安全策略和计划的确认和授权。防火墙按照规定好的配置和规则,监测并过滤所有通向外部网和从外部网传来的信息,只允许授权的数据通过,防火墙还应该能够记录有关的联接来源、服务器提供的通信量以及试图闯入者的任何企图,以方便管理员的监测和跟踪。图4-3防火墙的位置目前业界优秀的防火墙产品有CheckPoint的Firewall-1,Cisco的PIX防火墙、NetScreen防火墙等。国产防火墙主要有东软NetEye防火墙、天融信NGFW防火墙、南大苏富特Softwall防火墙等。
2.防火墙的优点和缺点
防火墙具有以下优点。
(1)防止易受攻击的服务。防火墙可以过滤不安全的服务来降低子网上主系统所冒的风险。如禁止某些易受攻击的服务(如NFS)进入或离开受保护的子网。防火墙还可以防护基于路由选择的攻击,如源路由选择和企图通过ICMP改向把发送路径转向遭致损害的网点。
(2)控制访问网点系统。防火墙还有能力控制对网点系统的访问。例如,除了邮件服务器或信息服务器等特殊情况外,网点可以防止外部对其主系统的访问。
(3)集中安全性。防火墙闭合的安全边界保证可信网络和不可信网络之间的流量只有通过防火墙才有可能实现,因此,可以在防火墙设置唯一的策略管理,而不是分散到每个主机中。
(4)增强保密性和强化私有权。使用防火墙系统,站点可以防止finger以及DNS域名服务。finger会列出当前使用者名单,他们上次登录的时间,以及是否读过邮件等等。防火墙也能封锁域名服务信息,从而使Internet外部主机无法获取站点名和IP地址。
(5)具有有关网络使用、滥用的记录和统计功能。如果对Internet的往返访问都通过防火墙,那么防火墙可以记录各次访问,并提供有关网络使用率的有价值的统计数字。如果一个防火墙能在可疑活动发生时发出音响报警,则还提供防火墙和网络是否受到试探或攻击的细节。采集网络使用率统计数字和试探的证据是很重要的,这有很多原因。最为重要的是可知道防火墙能否抵御试探和攻击,并确定防火墙上的控制措施是否得当。网络使用率统计数字也很重要的,因为它可作为网络需求研究和风险分析活动的输入。
(6)防火墙可提供实施和执行网络访问政策的工具。事实上,防火墙可向用户和服务提供访问控制。因此,网络访问政策可以由防火墙执行,如果没有防火墙,这样一种政策完全取决于用户的协作。网点也许能依赖其自己的用户进行协作,但是,它一般不可能,也不依赖Internet用户。
防火墙的缺点主要表现在以下5点。
(1)不能防范内部攻击。内部攻击是任何基于隔离的防范措施都无能为力的。
(2)不能防范不通过它的连接。防火墙能够有效地防止通过它进行传输信息,然而不能防止不通过它而传输的信息。
(3)不能防备全部的威胁。防火墙被用来防备已知的威胁,但没有一个防火墙能自动防御所有的新的威胁。
(4)防火墙不能防范病毒。防火墙不能防止感染了病毒的软件或文件的传输。
(5)防火墙不能防止数据驱动式攻击。如果用户抓来一个程序在本地运行,则那个程序很可能就包含一段恶意的代码。随着Java、JavaScript和ActiveX控件的大量使用,这一问题变得更加突出和尖锐。4.2.2网络政策
有两级网络政策会直接影响防火墙系统的设计、安装和使用。高级政策是网络访问政策,它用来定义那些受限制的网络许可或明确拒绝的服务,如何使用这些服务以及这种政策的例外条件。低级政策描述防火墙实际上如何尽力限制访问,并过滤在高层政策所定义的服务。
1.服务访问政策
Internet防火墙是机构总体安全策略的一部分。机构总体安全策略定义了安全防御的方方面面。为确保成功,机构必须知道其所有保护的是什么。安全策略必须建立在精心设计的安全分析、风险评估以及商业需求分析基础之上。如果机构没有详尽的安全策略,则无论如何精心构建的防火墙都会被绕过去。
服务访问政策应当是整个机构有关保护机构信息资源政策的延伸。要使防火墙取得成功,服务访问政策必须既切合实际,又稳妥可靠,而且应当在实施防火墙前草拟出来。切合实际的政策是一个平衡的政策,既能防护网络免受已知风险,又能使用户利用网络资源。防火墙可以实施各种不同的服务访问政策。一个典型的政策可以不允许从Internet访问内部网点,但要允许从内部网点访问Internet。另一个典型政策是允许从Internet进行某些访问,但是或许只许可访问经过选择的系统,如Web服务器和电子邮件服务器。防火墙常常实施允许某些用户从Internet访问经过选择的内部主系统的服务访问政策,但是这种访问只是在必要时,而且只能与认证措施组合时才允许进行。
2.防火墙设计政策
防火墙设计政策是防火墙专用的。它定义用来实施服务访问政策的规则,阐述了一个机构对安全的看法。Internet防火墙可能会具有两种截然相反的姿态:
(1)拒绝除明确许可以外的任何一种服务,即拒绝一切未予特许的东西。需要确定所有可以被提供的服务以及它们的安全特性,然后,开放这些服务,并将所有其它未被列入的服务排斥在外,禁止访问。
(2)允许除明确拒绝以外的任何一种服务,即允许一切未被特别拒绝的东西。需要确定那些认为是不安全的服务,禁止其访问,而其它服务则被认为是安全的,允许访问。第一种姿态比较保守,这是一个受推荐的方案。遵循“我们所不知道的都会伤害我们”的观点,因此能提供一个非常安全的环境。但是,能穿过防火墙的服务,无论在数量上还是类型上,都受到很大的限制。
第二种姿态则较灵活,可以提供较多的服务。由于将易使用这个特点放在了安全性的前面,所以存在的风险较大。当受保护网络的规模增大时,很难保证网络的安全。例如有一用户,他有权不从标准的Telnet端口(port23)来提供Telnet服务,而是从另一个Port来提供此服务,由于标准的Telnet端口已被防火墙所禁止,而另一Port没有被禁止。这样,虽然防火墙主观上想禁止提供Telnet服务,但实际上却没有达到这种效果。
4.2.3防火墙体系结构
目前,防火墙的体系结构一般有以下3种:双重宿主主机体系结构、屏蔽主机体系结构、屏蔽子网体系结构。
1.双重宿主主机体系结构
双重宿主主机体系结构是围绕具有双重宿主的主机计算机而构筑的,如图4-4所示该计算机至少有两个网络接口。这样的主机可以充当与这些接口相连的网络之间的路由器;它能够从一个网络到另一个网络发送IP数据包。然而,实现双重宿主主机的防火墙体系结构禁止这种发送功能。因而,IP数据包从一个网络(例如外部网)并不是直接发送到其它网络(例如内部的被保护的网络)。防火墙内部的系统能与双重宿主主机通信,同时防火墙外部的系统能与双重宿主主机通信,但是这些系统不能直接互相通信。它们之间的IP通信被完全阻止。
双重宿主主机的防火墙体系结构是相当简单的:双重宿主主机位于两者之间,并且被连接到外部网和内部网。图4-4双重宿主主机体系结构
2.屏蔽主机体系结构
双重宿主主机体系结构提供来自与多个网络相连的主机的服务(但是路由关闭),而被屏蔽主机体系结构使用一个单独的路由器提供来自仅仅与内部的网络相连的主机的服务。如图4-5所示,在这种体系结构中,主要的安全由数据包过滤提供(例如,数据包过滤用于防止人们绕过代理服务器直接相连)。图4-5屏蔽主机体系结构在屏蔽的路由器上的数据包过滤是按这样一种方法设置的:堡垒主机是Internet上的主机能连接到内部网络上的系统的桥梁(例如,传送进来的电子邮件)。即使这样,也仅有某些确定类型的连接被允许。任何外部的系统试图访问内部的系统或者服务将必须连接到这台堡垒主机上。因此,堡垒主机需要拥有高等级的安全。
数据包过滤也允许堡垒主机开放可允许的连接(什么是“可允许”将由用户的站点的安全策略决定)到外部世界。因为这种体系结构允许数据包从Internet向内部网的移动,所以,它的设计比没有外部数据包能到达内部网络的双重宿主主机体系结构似乎是更冒风险。实际上双重宿主主机体系结构在防备数据包从外部网络穿过内部的网络也容易产生失败(因为这种失败类型是完全出乎预料的,不大可能防备黑客侵袭)。进而言之,保卫路由器比保卫主机较易实现,因为它提供非常有限的服务组。多数情况下,被屏蔽的主机体系结构提供比双重宿主主机体系结构具有更好的安全性和可用性。
3.屏蔽子网体系结构
屏蔽子网体系结构通过添加额外的安全层到被屏蔽主机体系结构,即通过添加周边网络更进一步地把内部网络与Internet隔离开。如图4-6所示,在这种结构下,即使攻破了堡垒主机,也不能直接侵入内部网络(它将仍然必须通过内部路由器)。图4-6屏蔽子网体系结构堡垒主机是用户的网络上最容易受侵袭的机器。任凭用户尽最大的力气去保护它,它仍是最有可能被侵袭的机器,因为它本质上是能够被侵袭的机器。如果在屏蔽主机体系结构中,用户的内部网络对来自用户的堡垒主机的侵袭门户洞开,那么用户的堡垒主机是非常诱人的攻击目标。在它与用户的其它内部机器之间没有其它的防御手段时(除了它们可能有的主机安全之外,这通常是非常少的),如果有人成功地侵入屏蔽主机体系结构中的堡垒主机,那就毫无阻挡地进入了内部系统。通过在周边网络上隔离堡垒主机,能减少在堡垒主机上侵入的影响。可以说,它只给入侵者一些访问的机会,但不是全部。屏蔽子网体系结构的最简单的形式为,两个屏蔽路由器,每一个都连接到周边网。一个位于周边网与内部的网络之间,另一个位于周边网与外部网络之间(通常为Internet)。为了侵入用这种类型的体系结构构筑的内部网络,侵袭者必须要通过两个路由器。即使侵袭者设法侵入堡垒主机,他将仍然必须通过内部路由器。在此情况下,没有损害内部网络的单一的易受侵袭点。作为入侵者,只是进行了一次访问。
1)周边网络
周边网络是另一个安全层,是在外部网络与用户的被保护的内部网络之间附加的网络。如果侵袭者成功地侵入用户的防火墙的外层领域,则周边网络在那个侵袭者与用户的内部系统之间提供一个附加的保护层。
在许多网络结构中,用给定网络上的任何机器来查看这个网络上的每一台机器的通信是可能的,如以太网、令牌环和FDDI。探听者可以监听Telnet、FTP以及rlogin会话期间使用过的口令,偷看敏感信息等;探听者能完全监视何人在使用网络。
对于周边网络,如果攻击者侵入周边网络上的堡垒主机,则他也仅能探听到周边网上的通信,内部网络的通信仍是安全的。
2)堡垒主机
在屏蔽的子网体系结构中,用户把堡垒主机连接到周边网;这台主机便是接受来自外界连接的主要入口。例如:对于进来的电子邮件(SMTP)会话,传送电子邮件到站点;对于进来的FTP连接,转接到站点的匿名FTP服务器;对于进来的域名服务(DNS)站点查询,等等。
从内部的客户端到在Internet上的服务器的出站服务按如下任一方法处理:在外部和内部的路由器上设置数据包过滤来允许内部的客户端直接访问外部的服务器;设置代理服务器在堡垒主机上运行来允许内部的客户端间接地访问外部的服务器。用户也可以设置数据包过滤来允许内部的客户端在堡垒主机上同代理服务器交谈,反之亦然。但是禁止内部的客户端与外部世界之间直接通信(即拨号入网方式)。
3)内部路由器
内部路由器有时被称为阻塞路由器,它保护内部的网络,使之免受Internet和周边网的侵犯。
内部路由器为用户的防火墙执行大部分的数据包过滤工作。它允许从内部网到Internet的有选择的出站服务。
内部路由器所允许的在堡垒主机和用户的内部网之间服务可以不同于内部路由器所允许的在Internet和用户的内部网之间的服务。限制堡垒主机和内部网之间服务的理由是减少了堡垒主机被攻破时对内部网的危害。
4)外部路由器
外部路由器有时被称为访问路由器,保护周边网和内部网,使之免受来自Internet的侵犯。实际上,外部路由器倾向于允许几乎任何东西从周边网出站,并且它们通常只执行非常少的数据包过滤。保护内部机器的数据包过滤规则在内部路由器和外部路由器上基本上应该是一样的;如果在规则中有允许侵袭者访问的错误,则错误就可能出现在两个路由器上。
一般地,外部路由器由外部群组提供(例如用户的Internet供应商),同时用户对它的访问被限制。外部群组可能愿意放入一些通用型数据包过滤规则来维护路由器,但是不愿意使用维护复杂或者频繁变化的规则组。外部路由器能有效地执行的安全任务之一是:阻止从Internet上伪造源地址进来的任何数据包。这样的数据包自称来自内部的网络,但实际上是来自Internet。
建造防火墙时,一般很少采用单一的技术,通常是多种解决不同问题的技术的组合。这种组合主要取决于网管中心向用户提供什么样的服务,以及网管中心能接受什么等级风险。采用哪种技术主要取决于经费,投资的大小或技术人员的技术、时间等因素。一般有以下几种形式:
(1)使用多堡垒主机;
(2)合并内部路由器与外部路由器;
(3)合并堡垒主机与外部路由器;
(4)合并堡垒主机与内部路由器;
(5)使用多台内部路由器;
(6)使用多台外部路由器;
(7)使用多个周边网络;
(8)使用双重宿主主机与屏蔽子网。通常建立防火墙的目的在于保护内部网免受外部网的侵扰,但内部网络中每个用户所需要的服务和信息经常是不一样的,它们对安全保障的要求也不一样。例如,财务部分与其它部分分开,人事档案部分与办公管理分开等。我们还需要对内部网的部分站点再加以保护,以免受内部的其它站点的侵袭,即在同一结构的两个部分之间,或者在同一内部网的两个不同组织结构之间再建立防火墙,也就是内部防火墙。许多用于建立外部防火墙的工具与技术也可用于建立内部防火墙。
4.2.4代理服务技术
1.代理服务概述
代理服务是运行在防火墙主机上的一些特定的应用程序或者服务器程序。它是基于软件的,和过滤数据包的防火墙、以路由器为基础的防火墙的工作方式稍有不同。
代理服务具有网络地址转换(NAT)的功能。NAT对所有内部地址作转换,使外部网络无法了解内部网络的内部结构,同时使用NAT的网络,与外部网络的连接只能由内部网络发起,极大地提高了内部网络的安全性。NAT的另一用途是解决IP地址匮乏问题。防火墙利用NAT技术,不同的内部主机向外连接时可以使用相同的IP地址;而内部网络内的计算机互相通信时则使用内部IP地址。两个IP地址不会发生冲突,内部网络对外部网络来说是透明的,防火墙能详尽记录每一个主机的通信,确保每个分组送往正确的地址。
代理防火墙对互联网暴露,又是内部网络用户的主要连接点。代理程序将用户对互联网络的服务请求依据已制定的安全规则向外提交。代理服务替代了用户与互联网络的连接。在代理服务中,内外各个站点之间的连接被切断了,都必须经过代理方才能相互连通。代理服务在幕后操纵着各站点间的连接。目前Internet上最常使用的代理服务器产品多为软件形式,如国内的中网代理服务器系统和曙光信息产业公司推出的“天联”Web服务器/Proxy服务器,国外的Apache、NetscapeProxyServer、MicrosoftProxy、WinGate、Sock5服务器等。这些产品都包括了以下功能:收集缓存Web页面,防止黑客侵入网络,允许IPX节点访问IP功能,允许按IP地址过滤访问,允许共享一个IP地址,URL过滤,病毒过滤和SOCKS客户机等。有的代理服务器还支持二级代理。代理服务器是客户端/服务器的中转站,代理服务器必须完成以下功能:
(1)能够接收和解释客户端的请求;
(2)能够创建到服务器的新连接;
(3)能够接收服务器发来的响应;
(4)能够发出或解释服务器的响应并将该响应传回给客户端。
代理服务器工作模型如图4-7所示。图4-7代理服务器工作模型以下以最常用的HTTP代理、SOCKS代理为例,比较不使用代理、使用一级代理、使用二级代理时客户端与服务器的工作流程。
(1)不使用代理,正常上网的流程。
浏览WEB:HTTP客户端(IE)HTTP服务器。
使用QQ:QQ客户端QQ服务器。
(2)仅使用一级代理。
浏览WEB:HTTP客户端(IE)代理服务器(HTTPProxy)HTTP服务器。
使用QQ:QQ客户端代理服务器(SOCKS5Proxy)QQ服务器。
(3)使用二级代理。
浏览WEB:HTTP客户端(IE)代理服务器(HTTPProxy)二级代理服务器(HTTPProxy或SOCKS5Proxy)HTTP服务器。
使用QQ:QQ客户端代理服务器(SOCKS5Proxy)二级代理服务器(SOCKS5Proxy)QQ服务器。
代理技术的优点如下:
(1)代理易于配置。代理因为是一个软件,所以它较过滤路由器更易配置,配置界面十分友好。如果代理实现得好,则可以对配置协议要求较低,从而避免了配置错误。
(2)代理能生成各项记录。因代理工作在应用层,它检查各项数据,所以可以按一定准则,让代理生成各项日志、记录。这些日志、记录对于流量分析、安全检验是十分重要和宝贵的。当然,也可以用于记费等应用。
(3)代理能灵活、完全地控制进出流量、内容。通过采取一定的措施,按照一定的规则,我们可以借助代理实现一整套的安全策略,比如可说控制“谁”和“什么”,还有“时间”和“地点”。
(4)代理能过滤数据内容。我们可以把一些过滤规则应用于代理,让它在高层实现过滤功能,例如文本过滤、图像过滤、预防病毒或扫描病毒等。
(5)代理能为用户提供透明的加密机制。用户通过代理进出数据,可以让代理完成加解密的功能,从而方便用户,确保数据的机密性。这点在虚拟专用网中特别重要。代理可以广泛地用于企业外部网中,提供较高安全性的数据通信。
(6)代理可以方便地与其它安全手段集成。目前的安全问题解决方案很多,如认证(Authentication)、授权(Authorization)、账号(Accouting)、数据加密、安全协议(SSL)等。如果把代理与这些手段联合使用,则将大大增加网络安全性。这也是近期网络安全的发展方向。代理技术的缺点如下:
(1)代理速度较路由器慢。路由器只是简单察看TCP/IP报头,检查特定的几个域,不作详细分析、记录。而代理工作于应用层,要检查数据包的内容,按特定的应用协议(如HTTP)进行审查、扫描数据包内容,并进行代理(转发请求或响应),故其速度较慢。
(2)代理对用户不透明许多代理要求客户端作相应改动或安装定制客户端软件,这给用户增加了不透明度。为庞大的互异网络的每一台内部主机安装和配置特定的应用程序既耗费时间,又容易出错,原因是硬件平台和操作系统都存在差异。
(3)对于每项服务代理可能要求不同的服务器。可能需要为每项协议设置一个不同的代理服务器,因为代理服务器不得不理解协议以便判断什么是允许的和不允许的,并且还装扮一个对真实服务器来说是客户、对代理客户来说是服务器的角色。挑选、安装和配置所有这些不同的服务器也可能是一项较大的工作。
(4)代理服务通常要求对客户、过程之一或两者进行限制。除了一些为代理而设的服务,代理服务器要求对客户与/或过程进行限制,每一种限制都有不足之处,人们无法经常按他们自己的步骤使用快捷可用的工作。由于这些限制,代理应用就不能像非代理应用运行得那样好,它们往往可能曲解协议的说明,并且一些客户和服务器比其他的要缺少一些灵活性。
(5)代理服务不能保证免受所有协议弱点的限制。作为一个安全问题的解决方法,代理取决于对协议中哪些是安全操作的判断能力。每个应用层协议,都或多或少存在一些安全问题,对于一个代理服务器来说,要彻底避免这些安全隐患几乎是不可能的,除非关掉这些服务。
代理取决于在客户端和真实服务器之间插入代理服务器的能力,这要求两者之间交流的相对直接性。而且有些服务的代理是相当复杂的。
(6)代理不能改进底层协议的安全性。因为代理工作于TCP/IP之上,属于应用层,所以它并不能改善底层通信协议的能力。如IP欺骗、SYN泛滥、伪造ICMP消息和一些拒绝服务的攻击。而这些方面,对于一个网络的健壮性是相当重要的。
许多防火墙产品软件混合使用包过滤与代理服务这两种技术。对于某些协议如Telnet和SMTP用包过滤技术比较有效,而其他的一些协议如FTP、Archie、Gopher、WWW则用代理服务比较有效。
2.应用层网关及HTTP代理
代理防火墙分为应用层网关、电路层网关。
应用层网关代理防火墙工作于应用层,且针对特定的应用层协议,如超文本传输(HTTP)、文件传输(FTP),等等。它提供的控制最多,但是不灵活,必须要有相应的协议支持。如果协议不支持代理(如SMTP和POP),那么就只能在应用层以下代理。代理防火墙通过编程来弄清用户应用层的流量,并能在用户层和应用协议层提供访问控制。而且,还可用来保持一个所有应用程序使用的记录。记录和控制所有进出流量的能力是应用层网关的主要优点之一。应用层网关代理防火墙工作原理如图4-8所示。图4-8应用层网关对每种不同的应用层(如E-mail、FTP、Telnet、WWW等)都应用一个相应的代理,所有的代理服务都需要客户软件的支持。
在TCP/IP网络中,传统的通信过程是这样的:客户端向服务器请求数据,服务器响应该请求,将数据传送给客户端。在引入了代理服务器以后,这一过程变成了这样:在客户端,代理服务给用户的假象是:用户是直接与真正的服务器相连的;而在服务器端代理服务给出的假象是:服务器是直接面对连在代理服务器上的用户。当某用户(不管是远程的还是本地的)想和一个运行代理的网络建立联系时,此代理(应用层网关)会阻塞这个连接,然后对连接请求的各个域进行检查。代理服务器并非将用户的全部网络服务请求提交给互联网络上的真正的服务器,因为代理服务器能依据安全规则和用户的请求做出判断是否代理执行该请求,所以它能控制用户的请求。有些请求可能会被否决,比如:FTP代理就可能拒绝用户把文件往远程主机上送。或者它只允许用户将某些特定的外部站点的文件下载。还有的代理服务可能对于不同的主机执行不同的安全规则,而不对所有主机执行同一标准。最常用的应用层网关是HTTP代理服务器,端口通常为80或8080。如:浏览器IE可以使用HTTP代理浏览网页,下载工具NetAnts、CuteFTP可以使用HTTP代理下载文件,网络寻呼工具QQ可以使用HTTP代理进行通信。
例如,在Web浏览器中设置了一个HTTP代理服务器后,访问Internet上任何站点时所发出的请求,都不会直接发给远程的WWW服务器,而是被送到了代理服务器上。代理服务器分析该请求,先查看自己缓存中是否有请求数据,如果有,就直接传送给客户端,如果没有,就代替客户端向远程的WWW服务器提出申请。服务器响应以后,代理服务器将响应的数据传送给客户端,同时在自己的缓存中保留一份该数据的拷贝。如果下一次有人再访问该站点,这些内容便会直接从代理服务器中获取,而不必再连接相应的网站了。代理服务器在此过程中充当了网络缓冲的作用,可以节约网络带宽,提高访问速度。
3.电路层网关及SOCKS代理
另一种类型的代理技术称为电路层网关(CircuitGateway)。电路层网关在网络的传输层上实施访问策略,在内、外网络主机之间建立一个虚拟电路,进行通信,相当于在防火墙上直接开了个口子进行传输,不像应用层防火墙那样能严密地控制应用层的信息。如图4-9所示。图4-9电路层网关电路层网关只依赖于TCP连接,并不进行任何附加的包处理或过滤。电路层网关就像电线一样,只是在内部连接和外部连接之间来回拷贝字节。但由于连接似乎是起源于防火墙,从而隐藏了受保护网络的有关信息。
电路层网关常用于向外连接,这时网络管理员对内部用户是信任的。其优点是堡垒主机可以被设置成混合网关,对于内连接支持应用层或代理服务,而对于外连接支持电路层功能。这使防火墙系统对于要访问Internet服务的内部用户来说使用起来很方便,同时又能提供保护内部网络免于外部攻击的防火墙功能。在电路层网关中,特殊的客户机软件可能要安装,用户可能需要一个可变用户接口来相互作用或改变他们的工作习惯。
电路层网关实现的一个例子是SOCKS软件包。SOCKSV5在RFC1928中定义。
SOCKSV5不仅支持基于TCP连接的应用协议的代理,而且支持基于UDP传输的应用协议代理。它提供了一个标准的安全验证方式和对请求响应的方式。这个协议从概念上来讲是介于应用层和传输层之间的“薄层(shim-layer)”,因而不提供如传递ICMP信息之类由网络层网关所提供的服务。
SOCKSV4为TELNET、FTP、HTTP、WAIS和GOPHER等基于TCP协议的客户/服务器程序提供了一个不安全的防火墙。SOCKSV5扩展了SOCKSV4以使其支持UDP,扩展了框架以包含一般的强安全认证方案,扩展了寻址方案以包括域名和IPv6地址。SOCKSV5可根据规则过滤数据流,包括JavaApplet和ActiveX控件。缺点是SOCKSV5通过代理服务器来增加一层安全性,因此其性能往往比低层协议的差。当基于TCP的客户要与防火墙外的一个目标建立连接时,它必须先建立一个与SOCKS服务器上SOCKS端口的TCP连接。通常这个TCP端口是1080。当连接建立后,客户端进入协议的协商过程:首先进行认证方式的选择,根据选中的方式进行认证,然后发送转发(relay)的要求。SOCKS服务器评估这个要求,根据结果,或建立合适的连接,或拒绝。
一旦建立了一个到SOCKS服务器的连接,客户端就发送详细的请求信息。请求包括协议版本、命令(CONNECT、BIND、UDPASSOCIATE)、地址类型(可以是基于IPV4的IP地址、基于域名的地址或基于IPv6的IP地址)、目的地址DST.ADDR、目的端口号DST.PORT。
SOCKS服务器会根据源地址和目的地址来分析请求,然后根据请求类型返回一个或多个应答。应答包括协议版本、应答(成功、普通的SOCKS服务器请求失败、现有的规则不允许的连接、网络不可达、主机不可达、连接被拒、TTL超时、不支持的命令、不支持的地址类型等)、地址类型、服务器绑定的地址BND.ADDR、服务器绑定的端口号BND.PORT等。
在对一个CONNECT命令的应答中,由于SOCKS服务器通常有多个IP,应答中的BND.ADDR常与客户端连到SOCKS服务器的IP不同。
BIND请求通常被用在那些要求客户端接受来自服务器的连接的协议上。如FTP,它建立一个从客户端到服务器端的连接来执行命令以及接受状态的报告,而使用另一个从服务器到客户端的连接来接受传输数据的要求(如LS,GET,PUT)。只有在一个应用协议的客户端在使用CONNECT命令建立主连接后,才可以使用BIND命令建立第二个连接。在一个BIND请求的操作过程中,SOCKS服务器要发送两个应答给客户端。当服务器建立并绑定一个新的套接口时发送第一个应答。BND.PORT字段包含SOCKS服务器,用来监听进入的连接的端口号。BAND.ADDR字段包含了对应的IP地址。客户端通常使用这些信息来告诉(通过主连接或控制连接)应用服务器连接的汇接点。第二个应答仅发生在所期望到来的连接成功或失败之后。在第二个应答中,BND.PORT和BND.ADDR字段包含了连上来的主机的IP地址和端口号。
UDPASSOCIATE请求通常是要求建立一个UDP转发进程来控制到来的UDP数据报。DST.ADDR和DST.PORT字段包含客户端所希望的用来发送UDP数据报的IP地址和端口号。
对基于UDP的客户来说,一般都是在建立TCP的主连接后再发送UDP报文,在UDPASSOCIATE应答中由BND.PORT指明了服务器所使用的UDP端口,一个基于UDP协议的客户必须发送数据报至UDP转发服务器的端口上。
SOCKS代理服务器的端口为1080,支持SOCKS代理服务器的网络工具常见的有Web浏览器(如IE)、下载工具(如NetAnts、CuteFTP)、网络寻呼工具(如QQ)、电子邮件客户端软件(如Foxmail)、网络游戏软件(如联众、边锋)等。
SOCKS代理服务器并不像HTTP代理服务器那么普及。有些局域网网管因为安全或其他原因,往往只开通了HTTP代理而关闭了SOCKS代理。在这种情况下,像浏览器、下载工具等可以使用HTTP代理服务器的软件是没有任何问题的,可是那些必须依靠SOCKS代理服务器的网络工具软件就不能直接使用了。例如QQ支持HTTP代理,但只提供给会员使用,普通用户只可以使用SOCKS代理,Foxmail只支持SOCKS代理。有没有一个简单的方法在内部网也可以使用这些软件呢?这就需要用到协议转换软件SOCKS2HTTP,它的作用可以将HTTP代理变成客户端的SOCKS代理,把对客户端SOCKS代理的请求转换成对HTTP代理的请求。常用的协议转换软件有国产的SocksOnline()、国外的Socks2HTTP(/)。
具体的操作流程如下:在SOCKS2HTTP客户端代理服务器软件的网络设置中填上使用的HTTP代理服务器的地址和端口,启动依靠SOCKS代理服务器的客户端软件。在客户端软件中设置SOCKS代理服务器的地址和端口为:localhost:1080,即本地地址。客户端软件的SOCKS请求将通过SOCKS2HTTP客户端代理服务器转化成HTTP请求。SOCKS2HTTP的工作流程如下:客户端(SOCKS5请求)SOCKS2HTTP客户端代理服务器HTTP代理服务器SOCKS2HTTP服务端服务器服务器
在上面的流程中,HTTP代理服务器也是二级代理服务器,但关键的地方是Sock2HTTP服务端服务器。SOCKS2HTTP的软件在本地首先开始SOCKS5服务,然后将客户端发来的SOCKS5数据包变成HTTP的请求包,通过HTTP代理服务器再发送到SOCKS2HTTP服务端,接着由SOCKS2HTTP服务端将收到的HTTP数据包还原成SOCKS5数据包,再将数据发送到目的地址。数据的回复过程正好相反。下面具体分析一个实例。该网络的配置如下:内部网络可以自由访问内部网络开放的资源,防火墙为HTTP代理,用户可以通过HTTP代理访问国内的WWW,但不能访问国外的WWW。我国境内的计算机信息网络进行国际联网,必须使用(前)邮电部国家公用电信网提供的国际出入口信道。在出入口处安装的防火墙屏蔽了国外的某些Web网站。
使用协议转换代理实际上是通过国内的SOCKS2HTTP服务端服务器访问远端服务器的,所以能够通过协议转换代理使用国外的资源。如Web浏览器的使用流程如下:
Web浏览器(SOCKS5请求)SOCKS2HTTP客户端代理服务器(本机)本地HTTP代理服务器SOCKS2HTTP服务端服务器(国内)Web服务器(国外)由于出入口防火墙具有包过滤、应用层过滤等功能,访问国外被屏蔽的Internet资源就必须使用具有加密功能的代理,如基于CGI的SSL代理。目前,国内还没有人提供基于CGI的SSL代理服务,使用国外的基于CGI的SSL代理(如/)还需要配合使用国内的代理。Web浏览器可以使用以下多级方式访问国外被屏蔽的站点C:
Web浏览器(SOCKS5请求)SOCKS2HTTP客户端代理服务器(本机)本地HTTP代理服务器SOCKS2HTTP服务端服务器(国内)基于CGI的SSL代理服务器(国外)Web服务器(国外)
4.3入侵检测
4.3.1入侵检测概述
1.入侵检测的概念
安全领域的一句名言是:“预防是理想的,但检测是必需的”。入侵是任何企图破坏资源的完整性、保密性和可用性的行为集合。只要允许内部网络与Internet相连,攻击者入侵的危险就是存在的。新的漏洞每周都会发现,而保护网络不被攻击者攻击的方法很少。如何识别那些未经授权而使用计算机系统的非法用户和那些对系统有访问权限但滥用其特权的用户,就需要进行入侵检测。入侵检测(IntrusionDetection)是对入侵行为的发觉,是一种试图通过观察行为、安全日志或审计数据来检测入侵的技术。入侵者进入系统主要有三种方式:
(1)物理入侵:入侵者以物理方式访问一个机器进行破坏活动。例如,趁人不备进入机房并试图闯入操作系统,拿着钳子改锥卸掉硬盘装在另一台机器上进行研究。
(2)系统入侵:入侵者在拥有系统的一个低级账号权限下进行的破坏活动。通常,如果系统没有及时打补丁,那么拥有低级权限的用户就可能利用系统漏洞获取更高的管理特权。
(3)远程入侵:入侵者通过网络渗透到一个系统中。这种情况下,入侵者通常不具备任何特殊权限,他们要通过漏洞扫描或端口扫描等技术发现攻击目标,再利用相关技术执行破坏活动。入侵检测的内容包括试图闯入、成功闯入、冒充其他用户、违反安全策略、合法用户的泄露、独占资源以及恶意使用。进行入侵检测的软件与硬件的组合便是入侵检测系统(IntrusionDetectionSystem,IDS)。它通过从计算机网络或计算机系统的关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象并且对其做出反应。有些反应是自动的,它包括通知网络安全管理员(通过控制台、电子邮件)来中止入侵进程、关闭系统以及断开与互联网的连接,使该用户无效,或者执行一个准备好的命令等。入侵检测技术是动态安全技术的最核心技术之一。传统的操作系统加固技术和防火墙隔离技术等都是静态安全防御技术,对网络环境下日新月异的攻击手段缺乏主动的反应。入侵检测技术通过对入侵行为的过程与特征的研究,使安全系统对入侵事件和入侵过程能做出实时响应。
利用防火墙,通常能够在内外网之间提供安全的网络保护,降低了网络安全风险。但是,仅仅使用防火墙、网络安全还远远不够:入侵者可寻找防火墙背后可能敞开的后门;入侵者可能就在防火墙内;由于性能的限制,防火墙通常不能提供实时的入侵检测能力。入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。入侵检测被认为是防火墙之后的第二道安全闸门,提供对内部攻击、外部攻击和误操作的实时保护。这些都通过它执行以下任务来实现:
(1)监视、分析用户及系统活动,查找非法用户和合法用户的越权操作;
(2)系统构造和弱点的审计,并提示管理员修补漏洞;
(3)识别反映已知进攻的活动模式并向相关人士报警,能够实时对检测到的入侵行为进行反应;
(4)异常行为模式的统计分析,发现入侵行为的规律;
(5)评估重要系统和数据文件的完整性,如计算和比较文件系统的校验和;
(6)操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
对一个成功的入侵检测系统来讲,它应该能够使系统管理员时刻了解网络系统(包括程序、文件和硬件设备等)的任何变更;为网络安全策略的制订提供指南;它应该管理、配置简单,从而使非专业人员非常容易地获得网络安全;入侵检测的规模应根据网络威胁、系统构造和安全需求的改变而改变;入侵检测系统在发现入侵后,会及时作出响应,包括切断网络连接、记录事件和报警等。最早的通用入侵检测模型由D.Denning于1987年提出,如图4-10所示。该模型由以下6个主要部分构成:
(1)主体(Subjects):在目标系统上活动的实体,如用户。
(2)对象(Objets):系统资源,如文件、设备、命令等。
(3)审计记录(Auditrecords):由如下的一个六元组构成 <Subject,Action,Object,Exception-Condition,Resource-Usage,Time-Stamp>。活动(Action)是主体对目标的操作,对操作系统而言,这些操作包括读、写、登录、退出等;异常条件(Exception-Condition)是指系统对主体的该活动的异常报告,如违反系统读写权限;资源使用状况(Resource-Usage)是系统的资源消耗情况,如CPU、内存使用率等;时间戳(Time-Stamp)是活动发生时间。
(4)活动简档(ActivityProfile):用以保存主体正常活动的有关信息。具体实现依赖于检测方法,在统计方法中从事件数量、频度、资源消耗等方面度量;可以使用方差、马尔可夫模型等方法实现。
(5)异常记录(AnomalyRecord):由 <Event,Time-stamp,Profile> 组成。用以表示异常事件的发生情况。
(6)活动规则:规则集是检查入侵是否发生的处理引擎,结合活动简档,用专家系统或统计方法等分析接收到的审计记录,调整内部规则或统计信息,在判断有入侵发生时采取相应的措施。图4-10
Denning的通用入侵检测模型
Denning模型基于这样一个假设:由于袭击者使用系统的模式不同于正常用户的使用模式,通过监控系统的跟踪记录,可以识别袭击者异常使用系统的模式,从而检测出袭击者违反系统安全性的情况。
Denning模型独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。
1988年,SRI/CSL的TeresaLunt等人改进了Denning的入侵检测模型,并开发出了一个IDES,如图4-11所示。该系统包括一个异常检测器和一个专家系统,分别用于统计异常模型的建立和基于规则的特征分析检测。图4-11
SRI/CSL的IDES
1990年加州大学戴维斯分校的L.T.Heberlein等人开发出了NSM(NetworkSecurityMonitor)。该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成唯一格式的情况下监控异种主机。从此之后,入侵检测系统两大阵营正式形成:基于网络的IDS(NetworkIDS,NIDS)和基于主机的IDS(HostIDS,HIDS)。
2.入侵检测系统的分类
1)按采用技术分类
根据其采用的技术可以分为异常检测和特征检测。
(1)异常检测:假设入侵者活动异常于正常主体的活动,建立正常活动的“活动简档”。当前主体的活动违反其统计规律时,认为可能是“入侵”行为。通过检测系统的行为或使用情况的变化来完成。
(2)特征检测:假设入侵者活动可以用一种模式来表示,然后将观察对象与之进行比较,判别是否符合这些模式。
2)按监测的对象分类
根据其监测的对象是主机还是网络分为基于主机的入侵检测系统和基于网络的入侵检测系统。
(1)基于主机的入侵检测系统:通过监视与分析主机的审计记录检测入侵。能否及时采集到审计是这些系统的弱点之一,入侵者会将主机审计子系统作为攻击目标以避开入侵检测系统。
(2)基于网络的入侵检测系统:通过在共享网段上对通信数据的侦听采集数据,分析可疑现象。这类系统不需要主机提供严格的审计,对主机资源消耗少,并可以提供对网络通用的保护而无需顾及异构主机的不同架构。
3)按工作方式分类
根据工作方式分为离线检测系统与在线检测系统。
(1)离线检测系统:非实时工作的系统,它在事后分析审计事件,从中检查入侵活动。事后入侵检测由网络管理人员进行,他们具有网络安全的专业知识,根据计算机系统对用户操作所做的历史审计记录判断是否存在入侵行为,如果有就断开连接,并记录入侵证据和进行数据恢复。事后入侵检测是管理员定期或不定期进行的,不具有实时性。
(2)在线检测系统:在线检测系统是实时联机的检测系统,它包含对实时网络数据包分析,实时主机审计分析。其工作过程是:实时入侵检测在网络连接过程中进行,系统根据用户的历史行为模型、存储在计算机中的专家知识以及神经网络模型对用户当前的操作进行判断,一旦发现入侵迹象便立即断开入侵者与主机的连接,并收集证据和实施数据恢复。这个检测过程是不断循环进行的。4.3.2入侵检测技术分析
1.入侵检测的过程
1)入侵信息的收集
入侵检测的第一步是信息收集。收集的内容包括系统、网络、数据及用户活动的状态和行为。通常需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息,这除了尽可能扩大检测范围的因素外,还有一个重要的因素就是从一个源来的信息有可能看不出疑点,但从几个源来的信息的不一致性却是可疑行为或入侵的最好标识。入侵检测很大程度上依赖于收集信息的可靠性和正确性,因此,有必要利用所知道的真正的和精确的软件来报告这些信息。因为入侵者经常替换软件以搞混和移走这些信息,例如替换被程序调用的子程序、库和其它工具。入侵者对系统的修改可能使系统功能失常而看起来却跟正常的一样。这需要保证用来检测网络系统的软件的完整性,特别是入侵检测系统软件本身应具有相当强的坚固性,防止被篡改而收集到错误的信息。入侵检测利用的信息一般来自以下四个方面:
(1)系统和网络日志。如果不知道入侵者在系统上都做了什么,那是不可能发现入侵的。日志提供了当前系统的细节,哪些系统被攻击了,哪些系统被攻破了。因此,充分利用系统和网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文件的访问、授权和认证信息等内容。很显然,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件,等等。由于日志的重要性,所有重要的系统都应定期做日志,而且日志应被定期保存和备份,因为不知何时会需要它。许多专家建议定期向一个中央日志服务器上发送所有日志,而这个服务器使用一次性写入的介质来保存数据,这样就避免了攻击者篡改日志。系统本地日志与发到一个远端系统保存的日志提供了冗余和一个额外的安全保护层。现在两个日志可以互相比较,任何的不同显示了系统的异常。
(2)目录和文件中的不期望的改变。网络环境中的文件系统包含很多软件和数据文件。包含重要信息的文件和私有数据文件经常是攻击者修改或破坏的目标。目录和文件中的不期望的改变(包括修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。攻击者经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件。
(3)程序执行中的不期望行为。网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由一到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程的执行行为由它运行时执行的操作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、文件传输、设备和其它进程,以及与网络间其它进程的通信。一个进程出现了不期望的行为可能表明攻击者正在入侵系统。攻击者可能会将程序或服务的运行分解,从而导致它失败,或者是以非用户或管理员意图的方式操作。
(4)物理形式的入侵信息。这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源的未授权访问。入侵者会想方设法去突破网络的周边防卫,如果他们能够在物理上访问内部网,就能安装他们自己的设备和软件。依此,入侵者就可以知道网上的由用户加上去的不安全(未授权)设备,然后利用这些设备访问网络。
2)信号分析
对上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,一般通过三种技术手段进行分析:模式匹配、统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
(1)模式匹配。模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。
(2)统计分析。统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点从不登录的账户却在凌晨两点试图登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。
(3)完整性分析。完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。完整性分析使用消息摘要函数(例如MD5),它能识别哪怕是微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。尽管如此,完整性检测方法还应该是网络安全产品的必要手段之一。例如,可以在每一天的某个特定时间内开启完整性分析模块,对网络系统进行全面的扫描检查。
3)入侵检测响应方式
入侵检测响应方式分为主动响应和被动响应。
(1)被动响应型系统只会发出告警通知,将发生的不正常情况报告给管理员,本身并不试图降低所造成的破坏,更不会主动地对攻击者采取反击行动。
(2)主动响应系统可以分为对被攻击系统实施控制和对攻击系统实施控制的系统。
①对被攻击系统实施控制(防护)。它通过调整被攻击系统的状态,阻止或减轻攻击影响,例如断开网络连接、增加安全日志、杀死可疑进程等。②对攻击系统实施控制(反击)。这种系统多被军方所重视和采用。
目前,主动响应系统还比较少,即使做出主动响应,一般也都是断开可疑攻击的网络连接,或是阻塞可疑的系统调用,若失败,则终止该进程。但由于系统暴露于拒绝服务攻击下,这种防御一般也难以实施。
2.常用检测方法
入侵检测系统常用的检测方法有特征检测、统计检测与专家系统。目前入侵检测系统中绝大多数属于使用入侵模板进行模式匹配的特征检测系统,其他少量是采用概率统计的统计检测系统与基于日志的专家知识库系统。
1)特征检测
特征检测对已知的攻击或入侵的方式作出确定性的描述,形成相应的事件模式。当被审计的事件与已知的入侵事件模式相匹配时,即报警。原理上与专家系统相仿。其检测方法上与计算机病毒的检测方式类似。目前基于对包特征描述的模式匹配应用较为广泛。
该方法预报检测的准确率较高,但对于无经验知识的入侵与攻击行为无能为力。
2)统计检测
统计模型常用异常检测,在统计模型中常用的测量参数包括审计事件的数量、间隔时间、资源消耗情况等。常用的入侵检测5种统计模型如下:
(1)操作模型:该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到。举例来说,在短时间内的多次失败的登录很有可能是口令尝试攻击。
(2)方差模型:计算参数的方差,设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常。
(3)多元模型:操作模型的扩展,通过同时分析多个参数实现检测。
(4)马尔柯夫过程模型:将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化;当一个事件发生时,或状态矩阵应转移的概率较小时,则可能是异常事件。
(5)时间序列分析模型:将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。这种入侵检测方法是基于对用户历史行为建模以及在早期的证据或模型的基础上,审计系统实时地检测用户对系统的使用情况,根据系统内部保存的用户行为概率统计模型进行检测;当发现有可疑的用户行为发生时保持跟踪并监测、记录该用户的行为。系统要根据每个用户以前的历史行为,生成每个用户的历史行为记录库,当用户改变他们的行为习惯时,这种异常就会被检测出来。
统计方法的最大优点是它可以“学习”用户的使用习惯,从而具有较高检出率与可用性。但是它的“学习”能力也给入侵者以机会通过逐步“训练”使入侵事件符合正常操作的统计规律,从而透过入侵检测系统。
3)专家系统
用专家系统对入侵进行检测,经常是针对有特征入侵行为时。所谓的规则,即是知识,不同的系统与设置具有不同的规则,且规则之间往往无通用性。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性。入侵的特征抽取与表达,是入侵检测专家系统的关键。在系统实现中,将有关入侵的知识转化为if-then结构(也可以是复合结构),条件部分为入侵特征,then部分是系统防范措施。运用专家系统防范有特征入侵行为的有效性完全取决于专家系统知识库的完备性。该技术根据安全专家对可疑行为的分析经验来形成一套推理规则,然后在此基础上建立相应的专家系统,由此专家系统自动进行对所涉及的入侵行为的分析工作。该系统应当能够随着经验的积累而利用其自学习能力进行规则的扩充和修正。4.3.3入侵检测系统
1.基于网络的入侵检测系统
基于网络的入侵检测系统(NIDS)放置在比较重要的网段内,不停地监视网段中的各种数据包。对每一个数据包进行特征分析。如果数据包与系统内置的某些规则吻合,入侵检测系统就会发出警报甚至直接切断网络连接。目前,大部分入侵检测系统是基于网络的。
下面展示一个典型NIDS,如图4-12所示。一个传感器被安装在防火墙外以探查来自Internet的攻击。另一个传感器安装在网络内部以探查那些已穿透防火墙的入侵和内部网络入侵与威胁。图4-12基于网络的入侵检测系统基于网络的入侵检测系统使用原始网络包作为数据源。基于网络的IDS通常利用一个运行在随机模式下的网络适配器来实时监视并分析通过网络的所有通信业务。它的攻击辨识模块通常使用四种常用技术来识别攻击标志:模式、表达式或字节匹配,频率或穿越阈值,低级事件的相关性,统计学意义上的非常规现象检测。
一旦检测到了攻击行为,IDS的响应模块就提供多种选项以通知、报警并对攻击采取相应的反应。反应因系统而异,但通常都包括通知管理员、中断连接并且/或为法庭分析和证据收集而做的会话记录。基于网络的IDS已经广泛成为安全策略的实施中的重要组件,它有许多仅靠基于主机的入侵检测法无法提供的优点。
(1)拥有成本较低。基于网络的IDS可在几个关键访问点上进行策略配置,以观察发往多个系统的网络通信。所以它不要求在许多主机上装载并管理软件。由于需监测的点较少,因此对于一个公司的环境来说,拥有成本很低。
(2)检测基于主机的系统漏洞的攻击。基于网络的IDS检查所有包的头部从而发现恶意的和可疑的行动迹象。基于主机的IDS无法查看包的头部,所以它无法检测到这一类型的攻击。例如,许多来自于IP地址的拒绝服务型和碎片型攻击只能在它们经过网络时,都可以在基于网络的IDS中通过实时监测包流而被发现。
基于网络的IDS可以检查有效负载的内容,查找用于特定攻击的指令或语法。例如,通过检查数据包有效负载可以查到黑客软件,而使正在寻找系统漏洞的攻击者毫无察觉。由于基于主机的系统不检查有效负载,所以不能辨认有效负载中所包含的攻击信息。
(3)攻击者不易转移证据。基于网络的IDS使用正在发生的网络通信进行实时攻击的检测。所以攻击者无法转移证据。被捕获的数据不仅包括攻击的方法,而且还包括可识别的入侵者身份及对其进行起诉的信息。许多入侵者都熟知审计记录,他们知道如何操纵这些文件掩盖他们的入侵痕迹,来阻止需要这些信息的基于主机的IDS去检测入侵。
(4)实时检测和响应。基于网络的IDS可以在恶意及可疑的攻击发生的同时将其检测出来,并做出更快的通知和响应。例如,一个基于TCP的对网络进行的拒绝服务攻击,可以通过将基于网络的IDS发出TCP复位信号,在该攻击对目标主机造成破坏前,将其中断。而基于主机的系统只有在可疑的登录信息被记录下来以后才能识别攻击并做出反应。而这时关键系统可能早就遭到了破坏,或是运行基于主机的IDS的系统已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 女用背心产业链招商引资的调研报告
- 引擎用排气消音器产业规划专项研究报告
- 植物保护学习通超星期末考试答案章节答案2024年
- 化学与生活2023-2024-2学习通超星期末考试答案章节答案2024年
- 抛光铁器抛光工具产业规划专项研究报告
- 2023春心理学(限选)学习通超星期末考试答案章节答案2024年
- 雨水收集系统退水闸建设方案
- 火腿冷链物流方案
- 提供在线计算机游戏行业市场调研分析报告
- 2024年大学生法律知识竞赛题库及答案(共100题)
- RSlogix500编程PPT课件
- 培训讲义电子版yunsdr相关02提高部分ver
- (完整word版)SOFA评分表
- 研究生学术英语写作教程Unit-7-Concluding-Research
- 仪器柜明细卡
- 矿业企业投资法律尽职调查清单
- BAND-IN-A-BOX 2004 快速入门教程(上)
- 檐口检验批质量验收记录
- 睡眠呼吸暂停综合征PPT课件
- 鉴定附件1关于组织2018年甘肃省教育科学规划课题集中鉴定结题的通知
- 石方机械破除施工方案
评论
0/150
提交评论