(三)获得初始的访问,获得特权...24
(四)清除痕迹、留下后门...24
(五)攻击其他系统...26
(六)安装嗅侦器...26
第四章安全技术防御体系....26
一、身份认证技术...27
二、访问控制技术...32
三、系统漏洞扫描技术...44
安全的定义是:远离危险的状态或特性,为防范间谍活动或蓄意破坏、犯罪、攻击或逃跑而采取的措施。在涉及到“安全”词汇时,通常会与网络、计算机、信息和数据相联系,而且具有不同的侧重和含义。
国际标准化组织(ISO)将“计算机安全”定义为:“为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄露。”此概念偏重取的措施。于静态信息保护。也有人将“计算机安全”定义为:“计算机的硬件、软件和数据受到保护,不因偶然和恶意的原因而遭到破坏、更改和泄露,系统连续正常运行。”该定义着重于动态意义描述。
网络安全较全面地对计算机和计算机之间相连接的传输线路这个全过程进行管理,特别是对网络的组成方式、拓扑结构和网络应用的重点研究。它包括了各种类型的局域网、通信与计算机相结合的广域网,以及更为广泛的计算机互联网络。因此保护网络系统中的硬件、软件及其数据不受偶然或者恶意原因而遭到破坏、更改、泄露,系统连续可靠地正常运行,网络服务不中断,成为网络安全的主要内容。例如,电子邮件系统不能因为安全原因使用户的数据丢失,等等。
计算机系统要防止资源和数据被独占,防止数据和程序被非法修改、删除及泄露,在一定程度上,封闭性有利于保证信息的安全性。如何在保持网络开放灵活性的同时保证安全性。成为研究的热点。目前使用TCP/IP技术构成的网络上的安全措施及其相应的网络安全产品主要有两大类:开放型(如数据加密)及被动防卫型(如防火墙)。他们主要是根据以下四个方面的安全需求而设计和应用的:
(一)数据的保密性
(二)数据的完整性
(三)数据的可用性
(四)数据的可控性
我国的Internet网(国际互联网)从科技网、教育网起步,现已发展到商业网、政务网,这标志着我国已跨入Internet网的新时代。我国的信息安全保密技术,在20多年中经历了两次大的变革(70年代完成了手工到电子的变革,80年代完成了电子到计算机作业的变革),目前正酝酿着第三次变革,迎接着互联网时代的到来。
互联网也是计算机网,从这个意义上讲,它具有与计算机网相同的特点。但互联网是开放网,不提供保密服务,这一点使互联网具有与计算机网不同的新特点。
(一)互联网是无中心网,再生能力很强。
一个局部的破坏,不影响整个系统的运行。因此,互联网特别能适应战争环境。这也许是美国军方重新重视互联网的原因之一。
(二)互联网可实现移动通信、多媒体通信等多种服务。
互联网提供电子邮件(E-mail)、文件传输(FTP)、全球浏览(WWW),以及多媒体、移动通信等服务,正在实现一次通信(信息)革命,在社会生活中起着非常重要的作用。尽管国际互联网存在一些问题,但仍受到各国政府的高度重视,发展异常迅猛。
(三)互联网一般分为外部网和内部网。
从安全保密的角度来看,互联网的安全主要指内部网(Intranet)的安全,因此其安全保密系统要靠内部网的安全保密技术来实现,并在内部网与外部网的联接处用防火墙(firewall)技术隔离,以确保内部网的安全。
(四)互联网的用户主体是个人。
(五)互联网将成为信息战的战略目标。
互联网作为开放的信息系统,越来越成为各国信息战的战略目标。窃密和反窃密、破坏和反破坏的斗争将是全方位的,不只是个人、集团的行为,而且是国家级的行为。在这样的斗争中,要立于不败之地、掌握主动权,就必须对作为信息系统最核心的芯片和操作系统有足够的了解,构造出自己的安全内核。
随着计算机技术的飞速发展,信息网络已经成为社会发展的重要保证。信息网络已涉及到国家的政府、军事、科技、文教等各个领域。其中存储、传输和加工处理的信息有许多涉及政府宏观调控决策、商业经济信息、银行资金转账、股票证券、能源资源数据、科研数据等重要内容,难免会受到来自世界各地的各种人为的信息攻击。同时,网络实体还要经受诸如水灾、火灾、地震、电磁辐射等自然灾难的考验。近年来,计算机犯罪案件急剧上升,各国的计算机系统特别是网络系统面临着很大的威胁,并成为严重的社会问题之一。据美国联邦调查局的报告,计算机犯罪是商业犯罪中最大的犯罪类型之一,每笔犯罪的平均金额为45000美元,每年计算机犯罪造成的经济损失高达50亿美元。加之国际互联网络的广域性和可扩展性,计算机犯罪也已成为具有普遍性的国际问题。
从社会教育和意识形态角度来讲,网络上不健康的内容,会对社会的稳定和人类的发展造成阻碍,必须对其进行控制。计算机犯罪大都具有瞬时性、广域性、专业性、时空分离性等特点。通常计算机罪犯很难留下犯罪证据,这大大刺激了计算机高技术犯罪案件的发生。安全教育的目的不仅是提高防范意识,同时还要自觉抵制利用计算机进行各类犯罪活动的诱惑。重视信息化的安全教育,还在于尽快培养出一批信息化安全的专门人才是网络安全之本。提高全民的信息化的安全意识,使网络安全建立在法律约束之下的自律行为是实现网络安全的重要因素。
安全的问题归根结底是人的问题,安全的最终解决也在于提高人的道德素质。虽然防火墙是一种好的防范措施,但只是一种整体安全防范政策的一部分。这种安全政策必须包括公开的用户知道自身责任的安全准则、职员培训计划以及与网络访问、当地和远程用户认证、拨出拨入呼叫、磁盘和数据加密以及病毒防护的有关政策。网络易受攻击的各个点必须以相同程度的安全防护措施加以保护。
计算机及其网络系统的安全管理是计算机安全的重要组成部分,安全管理贯穿于网络系统设计和运行的各个阶段。它既包括了行政手段,也含有技术措施。在系统设计阶段,在硬、软件设计的同时,应规划出系统安全策略;在工程设计中,应按安全策略的要求确定系统的安全机制;在系统运行中,应强制执行安全机制所要求的各项安全措施和安全管理原则,并经风险分析和安全审计来检查、评估,不断补充、改进、完善安全措施。
安全策略是指在一个特定的环境里,为保证提供一定级别的安全保护所必须遵守的规则。实现网络安全,不但靠先进的技术,而且也得靠严格的安全管理,法律约束和安全教育。
(一)基于身份的安全策略
基于身份的安全策略目的是对数据或资源的访问进行筛选。即用户可访问他们的资源的一部分(访问控制表),或由系统授予用户特权标记或权力。两种情况下,数据项的多少会有很大变化。
(二)基于规则的安全策略
基于规则的安全策略是系统给主体(用户、进程)和客体(数据)分别标注相应的安全标记,制定出访问权限,此标记作为数据项的一部分。
两种安全策略都使用了标记。标记的概念在数据通信中是重要的,身份鉴别、管理、访问控制等都需要对主体和客体做出相应的标记并以此进行控制。在通信时,数据项、通信的进程与实体、通信信道和资源都可用它们的属性做出标记。安全策略必须指明属性如何被使用,以提供必要的安全。
根据系统的实际情况和安全要求,合理地确定安全策略是复杂而重要的。因为安全是相对的,安全技术也是不断发展的,安全应有一个合理和明确的要求,这主要体现在安全策略中。网络系统的安全要求主要是完整性、可用性和机密性。其中完整性、可用性是由网络的开放和共享所决定的。按照用户的要求,提供相应的服务,是网络最基本的目的。机密性则对不同的网络有不同的要求,即网络不一定都是保密网。因此,每个内部网要根据自身的要求确定安全策略。现在的问题是硬、软件大多很先进,大而全,而在安全保密方面没有明确的安全策略,一旦投入使用,安全漏洞很多。而在总体设计时,按照安全要求制定出网络的安全策略并逐步实施,则系统的漏洞少、运行效果好。
安全策略确定后,需要有不同的安全机制来实施。安全机制可单独实施,也可组合使用,通常包括三类:预防、检测、恢复。
典型的安全机制有以下几种:
(一)数据保密变换
数据保密变换,即密码技术,是许多安全机制和安全服务的基础。通过加/解密来实现身份鉴别、数据完整性、不可否认等,从而保证信息的安全。采用密码技术,可有效地防止:
2、抵赖;
3、仿造;
4、通信业务流分析。
(二)数字签名机制
数字签名机制用于实现抗抵赖、鉴别等特殊安全服务的场合。数字签名机制的主要特征是:不使用秘密密钥就不能建立签名数据单元,这说明:
1、除了掌握秘密密钥的人以外,任何人都不能建立签名数据单元;
2、接收者不能建立签名数据单元;
3、发送者不能否认曾经发送过签名的数据单元。
(三)访问控制机制
(四)数据完整性机制
数据完整性机制保护单个数据单元和整个数据单元流的完整性。它包括各种信息流错误检测、校验等技术。
(五)鉴别交换机制
鉴别交换机制指信息交换双方(如内部网和互连网)之间的相互鉴别。当交换信息的双方和通信手段均可信任时,可通过口令来鉴别;当交换信息双方可信,而通信手段不可信时,可由密码技术加以保护;交换信息双方互不信任时,可使用数字签名等技术来实现抗抵赖服务。
(六)抗通信流分析机制
该机制通过产生伪通信业务,将每日数据单元通信量填充到预定的数量,来防止通过通信业务流分析获取情报。在具体实施时,应注意加密和伪装,避免区别出伪通信业务和真正的通信业务。
(七)路由选择控制机制
通过路由选择控制保证数据只在物理上安全的路由上传输,保证机密信息只在具有适当保护措施的路由上传输。
(八)公证机制
(九)物理环境的安全机制
物理环境的安全是保证信息安全的重要措施。硬件、软件和通信安全的第一道屏障就是物理环境的保护,必须有适应不同策略要求的防护措施。
(十)人员审查与控制机制
种种形式的防护措施均离不开人的掌握和实施,系统安全最终是由人来控制的。因此,安全离不开人员的审查、控制、培训和管理等,要通过制定、执行各项管理制度等来实现。
信息安全主要有三条基本的管理原则:从不单独、限制使用期限和责任分散。
从不单独
从不单独原则的含义是在人员条件允许的情况下,由最高领导人指定两个或更多的、可靠且能胜任工作的专业人员,共同参与每项与安全有关的活动,并通过签字、记录、注册等方式证明。
与安全有关的活动主要有:
(1)发送或回收访问控制项。证书及系统信息媒体(磁带、盘等);
(2)系统的初始化或关闭;
(3)处理保密信息;
(4)硬件和软件日常维护;
(5)硬件测试、修改和验收;
(6)系统重新配置;
(7)设计、实现和修改数据库;
(8)设计、实现和修改应用程序;
(9)设计、实现和修改操作系统;
(10)设计、实现和修改安全软件;
(11)更改重要文档;
(12)更改紧急情况和偶然事件处置计划;
(13)进入紧急状态;
(14)重要的程序或数据删除、销毁;
(15)更改系统操作过程;
(16)接收、发送或传输重要的材料。
限制使用期限
责任分散原则
责任分散是一个重要的管理原则。在工作人员数量和素质允许的情况下,不集中于一人实施全部与安全有关的功能。为安全起见,下列系统功能须由不同的人或小组来执行(这也称为责任分散):
(1)计算机操作和计算机编程:
(2)应用编程和系统编程;
(3)应用编程和数据库管理;
(4)数据准备和数据处理;
(5)数据处理和系统安全控制;
(6)计算机操作和系统媒体保护;
(7)计算机操作和设计、实现、修改各个软件。
责任分散的实现主要采取两种措施:建立物理屏障和制定规则。
主要的物理屏障有:
(1)系统媒体库必须选择安全的位置,一般应靠近机房但又与计算机房隔开;
(2)数据准备必须在靠近机房但又与机房隔开的安全区域进行;
(3)程序员办公室须与计算机房在物理上分开;
(4)安全办公室必须是一个对全体人员(除直接与安全有关的人员外)受限的区域;
(6)等待销毁的敏感材料必须存在计算机房以外的安全区域。
大型系统中,实现责任分离的管理规则有:
(1)编程员与操作员工作分离,编程员一般不参与日常操作,操作员不进行编程;
(2)安全特性的运行和维护(如修改计算机操作系统,以提高系统安全性)应单独进行,有不同的责任;
(3)质量控制和审计应具有与系统操作不同的功能。
机密信息的保护原则
在具有机密信息需要保护的系统中,有下述主要的保护原则:
(二)简单安全原则:任何人或人的进程活动,不应超越他拥有的密级所对应的信息。
(三)“*”号原则:任何人或进程不能向低于它的密级的信息写。该原则可避免高密级信息客体向低密级信息客体泄漏信息。
(四)第一完整性原则:计算机程序不得从低特权级程序接收信息。特权的意思是对计算机系统所做的事授予的权限。该原则的目标是避免操作系统(管理程序、监视程序或主控程序)受到恶意用户的攻击。
(五)第二完整性原则:不允许计算机程序向高特权级程序写。该原则的目标是防止用户程序影响操作系统的运行。
(六)标号原则:每个信息客体都应用人或机器可识别的形式清楚地标识其密级。
(七)平稳原则:任何人或进程不可改变信息客体或主体的密级,除非是已定义的过程。
(八)不可访问原则:不存在任何人或进程均可获得的信息客体,除非是已定义的过程。
(九)可审计原则:所有在信息客体上执行的与安全有关的活动(如打开文件、删除信息、降低密级等)应有不可擦除的记录,以供审计使用。
(十)可信软件原则:任何计算机系统都不可完全满足上述全部原则并执行全部工作,必要时,允许可信软件超越这些规则。
机密信息的存储和处理
计算机信息媒体有磁带、磁盘、微缩胶卷、CD—ROM等,信息存储在媒体上,必要时它们可将信息在屏幕上显示或在纸上打印。
1.标记
2.保存
3.数据备份
4.销毁
5.剩磁处理
6.机密信息的有效管理
7.安全数据管理
风险分析是了解计算机系统安全状况和辨别系统脆弱性并提出对策的科学方法。
在进行风险分析时,应首先明确分析的对象。如对象应是整个系统明确范围和安全敏感区,确定分析的内容,找出安全上的脆弱点,并确定重点分析方向。接着仔细分析重点保护目标,分析风险的原因、影响、潜在的威胁、造成的后果等,应有一定的定量评估数据。最后根据分析的结果,提出有效的安全措施和这些措施可能带来的风险,确认资金投入的合理性。
例如,为保护公司财产,实现网络安全需要一些开支。然而,这些开支应与被保护的财产价值相一致。假设有价值为A的财产需保护,而攻破网络,使财产遭受损失的价值为P,则风险为A/P。对一个具有安全防护功能的网络来说,P值应大于A。即攻破网络,偷盗或损失财产的价值比财产本身的价值要高。
假设实现保护财产的安全策略需开支N,在一个安全防护措施较完善的网络上,投资N应与财产本身的价值A有关,比值K—N/A称为投资因子。实现安全策略的开支N显然应比财产本身价值低,即N<A。对许多网络来说,评估投资因子K是十分重要的。
人员管理
对人员的控制和管理是安全防护的重要环节。除加强法制建设,通过法律制裁形成一种威慑,并通过伦理道德教育,提高整体素质外,还应采取科学的管理措施,减少作案的机会,减少犯罪,以获得安全的环境。
(二)安全审查
在工作人员获准接触、保管机密信息前,必须对他们进行安全审查。对新职工按照本人申请表中的个人历史逐一审查,必要时要亲自会见证明人,对以前的经历和人品进行确认。除新职工外,对在职人员也要定期审查。当某工作人员婚姻状况发生变化,或被怀疑违反了安全规则,或是对其可靠性产生怀疑时,都要重新审查。
(三)调离交接
调离人员办理手续前,应交回所有的证章、通行证、钥匙、手册、资料等。调离人员走后,所有他接触过、使用过的访问控制物品必须更换或处理。
(四)安全教育
必须定期对工作人员进行安全教育,包括听讲座,观看影片、录相资料,学习信息安全材料带。以此提高工作人员的信息安全防护意识。
要求工作人员随时注意计算机网络安全运行情况。一旦发现从直接上级处接受到违反网络安全规定的指示或观察到其它工作人员违反安全规定的可疑行为时,应立即向安全负责人报告。同时要求任何工作人员不得将网络机房的保密资料带回家中,确有必要带出,必须经负责人批准并备案。
机构和部门的安全管理原则
机构和部门的信息安全管理是保障信息安全的重要环节,为了实现安全管理应该具备以下”四有”:
(1)有专门的安全管理机构。
(2)有专门的安全管理人员。
(3)有逐步完善的安全管理制度。
(4)有逐步提高的安全技术设施。
信息安全管理涉及如下基本方面:
(1)人事管理。
(2)设备管理。
(3)场地管理。
(4)存储媒体管理。
(5)软件管理。
(6)网络管理。
(7)密码和密钥管理等。
信息安全管理要遵循如下基本原则:
(1)规范原则。
(2)预防原则。
(3)立足国内原则。
(4)选用成熟技术原则。
(5)注重实效原则。
(6)系统化原则。
(7)均衡防护原则。
(8)分权制衡原则。
(9)应急原则。
(10)灾难恢复原则。
从技术的角度看,Internet的不安全因素,一方面由于它是面向所有用户的,所有资源通过网络共享,另一方面就是它的技术是开放和标准的。因此,尽管已从过去用于科研和学术目的的阶段进入了商用阶段,但是它的技术基础仍是不安全的。从一般意义上讲,我们还可以认为,网络安全所面临的威胁主要可分为两大类:一是对网络中信息的威胁;二是对网络中设备的威胁。从形式上,自然灾害、意外事故、计算机犯罪、人为行为、“黑客”行为、内部泄露、外部泄密、信息丢失、电子谍报、信息战、网络协议中的缺陷等等,都是威胁网络安全的重要因素。从人的因素考虑,影响网络安全的因素还存在着人为和非人为的两种情况。
被动攻击:被动攻击包括分析通信流,监视未被保护的通讯,解密弱加密通讯,获取鉴别信息(比如口令)。被动攻击可能造成在没有得到用户同意或告知用户的情况下,将信息或文件泄露给攻击者。这样的例子如泄露个人的敏感信息。
内部人员攻击:内部人员攻击可以分为恶意或无恶意攻击。前者指内部人员对信息的恶意破坏或不当使用,或使他人的访问遭到拒绝;后者指由于粗心、无知以及其它非恶意的原因而造成的破坏。
软硬件装配分发攻击:指在工厂生产或分销过程中对硬件和软件进行的恶意修改。这种攻击可能是在产品里引入恶意代码,比如后门。
攻击者一般会采用以下策略来隐藏自己的真实IP地址:
-从已经取得控制权的主机上通过telnet或rsh跳跃;
-从windows主机上通过wingates等服务进行跳跃;
-利用配置不当的代理服务器进行跳跃;
-先通过拨号找寻并连入某台主机,然后通过这台主机再联入internet来跳跃。
攻击者的主要任务是收集有关要攻击目标的有用的信息。这些信息包括目标计算机的硬件信息,运行的操作系统信息,运行的应用程序(服务)的信息,目标计算机所在网络的信息,目标计算机的用户信息,存在的漏洞等等。
通常是从已攻入的系统中的.rhosts和.netrc文件中所列的机器中挑选出来,从系统的/etc/hosts文件中可以得到一个很全的主机列表。但大多数情况下,选定一个攻击目标是一个比较盲目的过程,除非攻击者有明确的目的和动机。攻击者也可能找到DNS(域名系统)表,通过DNS可以知道机器名、Internet地址、机器类型,甚至还可知道机器的属主和单位。
UNIX中三个重要的LOG文件:
UTMP-在线用户记录
这依赖于不同的Unix版本.
UTMP:/etc或/var/adm或/usr/adm或/usr/var/adm或/var/log
WTMP:/etc或/var/adm或/usr/adm或/usr/var/adm或/var/log
LASTLOG:/usr/var/adm或/usr/adm或/var/adm或/var/log
在一些旧unix版本中lastlog数据被写到$HOME/.lastlog
清除其它痕迹
历史记录文件:
sh:.sh_history
csh:.history
ksh:.sh_history
bash:.bash_history
zsh:.history
攻击者一个十分快速和有效地获得大量内部网络主机的用户名机器密码的方法是使用“以太网嗅侦器”(ethernetsniffer)程序。但由于这些嗅侦器只有当攻击者和被攻击者在同一个以太网段内才有效,所以在充当网桥的外网主机上运行嗅侦器不会有用。
一个全方位的计算机网络安全体系结构应包含网络的物理安全、访问控制安全、系统安全、用户安全、信息加密、安全传输和管理安全等,每一层次上的安全都要依赖一定的技术。
文化安全
法律、法规
信息安全
信息传输安全(动态安全)
数据加密
数据完整性鉴别
防抵赖
信息存储安全(静态安全)
数据库安全
终端安全
信息的防泄密
信息内容审计
用户
鉴别
网络安全
访问控制
网络安全检测
入侵检测
IPSEC
审计分析……
系统安全
主机安全……
链路安全
链路加密……
物理安全
环境安全
设备安全
媒体安全
身份认证
身份认证是对网络中的主体进行验证的过程,用户必须提供他是谁的证明,他是某个雇员,某个组织的代理、某个软件过程,如股票交易系统或Web订货系统的软件过程。认证的标准方法就是弄清楚他是谁,他具有什么特征,他知道什么可用于识别他的东西。比如说,系统中存储了他的指纹,他接入网络时,就必须在连接到网络的电子指纹机上提供他的指纹,这就防止他以假的指纹或其他电子信息欺骗系统,只有指纹相符才允许他访问系统。更普通的是通过视网膜血管分布图来识别,原理与指纹识别相同,声波纹识别也是商业系统采用的一种识别方式。
通常有下列三种方法验证身份:
一是只有该主体了解的秘密,如口令、密钥;
二是主体携带的物品,如智能卡和令牌卡;
三是只有该主体具有的独一无二的特征或能力,如指纹、声音、视网膜或签字等。
网络通过用户拥有什么东西来识别的方法,一般是用智能卡或其他特殊形式的标志,这类标志可以从连接到计算机上的读出器读出来。至于说到”他知道什么”,最普通的就是口令具有共享秘密的属性。例如,要使服务器操作系统识别要人网的用户,那么用户必须把他的用户名和口令送服务器。服务器就将它仍与数据库里的用户名和口令进行比较,如果相符,就通过了认证,可以上网访问。这个口令就由服务器和用户共享。更保密的认证可以是几种方法组合而成。例如用ATM卡和PIN卡。在安全方面最薄弱的一环是规程分析仪的窃听,如果口令以未加密的明码进行传输,接入到网上的规程分析仪就会在用户输人账户和口令时将它记录下来,任何人只要获得这些信息就可以上网工作。用于身份认证的其他办法:
●主体特征认证:利用个人特征进行认证的方式具有很高的安全性。目前已有的设备包括:视网膜扫描仪、声音验证设备、手型识别器。这些识别系统能够检测如指印,签名,声音,零售图案这样的物理特征。但大多数这样的系统极具实验性,价格昂贵而且不是百分之百的可靠。任何一个送数据到远程系统去核实的系统有被搭线窃听的危险,非法入侵者只须记录下送去系统的校验信息,以后再重显示这些信息,就能窃密。当然这同样也是标记识别系统的一个问题。
●智能卡:访问不但需要口令,也需要使用物理智能卡。在允许其进人系统之前检查是否允许其接触系统。智能卡大小形如信用卡,一般由微处理器、存储器及输入、输出设施构成。微处理器可计算该卡的一个惟一数(ID)和其他数据的加密形式。ID保证卡的真实性,持卡人就可访问系统。为防止智能卡遗失或被窃,许多系统需要卡和身份识别码(PIN)同时使用。若仅有卡而不知PIN码,则不能进人系统。智能卡比传统的口令方法进行认证更好,但其携带不方便,且开户费用较高。
远程用户访问资格确认
防止非法侵人企业/组织机构网络的第一步便是识别进网用户,并确认只有合法用户以进人受保护的系统。在ISDN网络系统中识别进网用户可通过ISDNCLI(CallingLineIdentification)及Subaddress来实现。当远程用户通过拨号方式(DialUp)进人网络时,其访问资格可通过TACACS(TerminalAccessControllerAccessControlSystem)来鉴定。很多机构转向采用两因素认证和利用一次性口令的新软件标识技术。这些方法改安全性,精简了安全管理并降低了在快速扩大远程接入基础设施的造价。
一次性口令和两因素认证的安全方案通过实现对远程认证至关紧要的两件事来消除法,只有用户拥有的东西(如硬件或软件安全标识)和只有用户知道的东西(如个人身份号码PIN)。个人身份号码打开标识,但不通过网络发送,这就降低了安全性的风险。该标识开始与安全服务器进行对话。如PIN的物理保护失败,或私钥丢失与用户的口信令被窃同时发生时,用户应及时挂失。因此,要严格管理、保存好自己的PINIC卡。
用户独特的密钥暗藏在标识中,或嵌入用户PC机中的软件(软件标识)或是单独持式处理器(硬件标识)。这个密钥受到保护,“黑客”是得不到的。经广泛测试、并成为工业界标准的数据加密标准(DES)是远程访问认证产品中最强的加密算法之一。DES支持72万亿种可能的钥匙,我们这个星球上每个男人、女人和孩子都可以分到100多万种可能的钥匙。
一次性口令技术最强的实现方式采用了一种叫口令发问/应答的技术。认证服务器通过发送一个随机的数字(即发问口令)给用户来开始认证的过程。发问口令对特定的认证请求是唯一的,不会事先被猜出。软件标识用此发问口令,计算出应答口令或者用手持式(硬件)标识算出应答口令。认证服务器也计算应答口令。如果用户提供的应答口令与认证服务器算出的应答口令相一致,用户就被授予访问应用程序或系统的权利。
站在最终用户的角度,软件标识工作起来像静态口令,但在软件标识之下实现了两因素认证和真正的一次性口令功能。最终用户必须做到全部事情只是拥有其计算机和记住他们的个人身份号码。最好的软件标识还可以采用附加的安全技术,确保有效的软件标志只在一个地方工作,即保证复制的软件不能工作,不管是在安装前还是安装后复制均无效。
PPP协议访问资格确认
在使用PPP协议的网络(如ISDN)上,对远程非法存取网络信息的控制可通过符
OC1334的PM协议(PaSSwordAuhenticatboProtOCO)及CHAP协议(ChallengeHandshakeAuthenticationProtocol)来实现。
保密字鉴定协议(PAP)在初始PPP链路建立时,通过2way握手方式为访问方(callingParty)标明其身份,提供了一个最简单的方法。PAP协议的主要问题在于:用户保密字是以未加密的“清晰”方式在网络上传送的,这为窃听网络者提供了可乘之机。
挑战握手鉴定协议(CHAP)解决了PAP协议所具有的非保密弱点。CHAP协议在PPP链路建立后,被访问路由器向请求访问的路由器发送一含有随机值的“挑战”信息。接到挑战信息后,请求访问的路由器运用双方预定的算法及所收到的随机值生成一校正值并将该值传回被访问路由器。被访问路由器运用同样算法及同样随机值等信息产生另一校正值,若两值相同,则接受连接要求,否则即终止该连接。通过此种办法,CHAP可以有效地阻止非法侵入者接入受保护部门的网络。由于CHAP协议不在网络上传送保密字信息,CHAP比PAP具有更强的保密性。
麻省理工学院设计的Kerberos安全方法是面向应用层的加密技术,它具有一套完善的加加密认证保护措施。目前FTP等公司的网络应用软件Telnet,rlogin等支持Kerberos服务。
主体:是一个主动的实体,它包括用户、用户组、终端、主机或一个应用,主体可以访问客体。
客体:是一个被动的实体,对客体的访问要受控。它可以是一个字节、字段、记录、程序、文件,或者是一个处理器、存贮器、网络接点等。
(二)访问控制策略
访问控制通常有三种策略:
自主访问控制(DiscretionaryAccessControl);
强制访问控制(MandatoryAccessControl);
基于角色的访问控制(Ro1e-BasedAccessControl)。
各种访问控制策略之间并不相互排斥,现存计算机系统中通常都是多种访问控制策略并存,系统管理员能够对安全策略进行配置使其达到安全政策的要求。
1、自主访问控制(DAC)
自主访问控制,又称为随意访问控制,根据用户的身份及允许访问权限决定其访问操作,只要用户身份被确认后,即可根据访问控制表上赋予该用户的权限进行限制性用户访问。使用这种控制方法,用户或应用可任意在系统中规定谁可以访问它们的资源,这样,用户或用户进程就可有选择地与其他用户共享资源。它是一种对单独用户执行访问控制的过程和措施。
由于DAC对用户提供灵活和易行的数据访问方式,能够适用于许多的系统环境,所以DAC被大量采用、尤其在商业和工业环境的应用上。然而,DAC提供的安全保护容易被非法用户绕过而获得访问。例如,若某用户A有权访问文件F,而用户B无权访问F,则一旦A获取F后再传送给B,则B也可访问F,其原因是在自由访问策略中,用户在获得文件的访问后,并没有限制对该文件信息的操作,即并没有控制数据信息的分发。所以DAC提供的安全性还相对较低,不能够对系统资源提供充分的保护,不能抵御特洛伊木马的攻击。
2、强制访问控制(MAC)
与DAC相比,强制访问控制提供的访问控制机制无法绕过。在强制访问控制中,每个用户及文件都被赋予一定的安全级别,用户不能改变自身或任何客体的安全级别,即不允许单个用户确定访问权限,只有系统管理员可以确定用户和组的访问权限。系统通过比较用户和访问的文件的安全级别来决定用户是否可以访问该文件。此外,强制访问控制不允许一个进程生成共享文件,从而访止进程通过共享文件将信息从一个进程传到另一进程。MAC可通过使用敏感标签对所有用户和资源强制执行安全策略,即实行强制访问控制。安全级别一般有四级:绝密级(TopSecret),秘密级(Secret),机密级(Confidential)反无级别级(Unclassified),其中T>S>C>U。
则用户与访问的信息的读写关系将有四种,即:
下读(readdown):用户级别人于文件级别的读操作。
上写(writeup):用户级别低于文件级别的写操作。
下写(writedown):用户级别大于文件级别的写操作。
上读(readup):用户级别低于文件级别的读操作。
上述读写方式都保证了信息流的单向性,显然上读—下写方式保证了数据的完整性(integrity),上写—下读方式则保证了信息的秘密性。
3、角色访问控制(RBAC)
角色访问策略是根据用户在系统里表现的活动性质而定的,活动性质表明用户充当一定的角色,用户访问系统时,系统必须先检查用户的角色。一个用户可以充当多个角色、一个角色也可以由多个用户担任。角色访问策略具有以下优点:
便于根据工作需要分级,如企业财务部门与非财力部门的员工对企业财务的访问权就可由财务人员这个角色来区分;
便于赋予最小特权,如即使用户被赋予高级身份时也未必一定要使用,以便减少损失。只有必要时方能拥有特权;
便于任务分担,不同的角色完成不同的任务;
便于文件分级管理,文件本身也可分为个同的角色,如信件、账单等,由不同角色的用户拥有。
角色访问策略是一种有效而灵活的安全措施。通过定义模型各个部分,可以实现DAC和MAC所要求的控制策略,目前这方面的研究及应用还处在实验探索阶段。GeorgeMason大学在这方面处于领先地位,现在已经设计出了没有root的UNIX系统管理、没有集中控制的Web服务器管理等机制。
File1
File2
File3
John
OwnRW
Alice
R
W
Bob
RW
图3访问控制矩阵
在较大的系统中,访问控制矩阵将变得非常巨大,而且矩阵中的许多格可能都为空,造成很大的存储空间浪费,因此在实际应用小,访问控制很少利用矩阵方式实现。下面,我们将讨论在实际应用中访问控制的几种常用方法。
1、访问控制表(AccessControlLists,ACLs)
出于访问控制表的简单、实用,虽然在查询特定卞体能够访问的客体时,需要遍历查询所有客体的访问控制表,它仍然是一种成熟且有效的访问控制实现方法,许多通用的操作系统使用访问控制表来提供访问控制服务。例如Unix和VMS系统利用访问控制表的简略方式,允许以少量工作组的形式实现访问控制表,而不允许单个的个体出现,这样可以便访问控制表很小而能够用几位就可以和文件存储在一起。另一种复杂的访问控制表应用是利用一些访问控制包,通过它制定复杂的访问规则限制何时和如何进行访问,而且这些规则根据用户名和其他用户属性的定义进行单个用户的匹配应用。
图4访问控制表
2、能力关系表(CapabilitiesLists)
能力关系表与ACL相反,是以用户为中心建立访问权限表,表中规定了该用户可访问的文件名及访问权限,如图5。
密码技术
在计算机上实现的数据加密,其加密或解密变换是由密钥控制实现的。密钥(Keyword)是用户按照一种密码体制随机选取,它通常是一随机字符串,是控制明文和密文变换的唯一参数。
数字签名
数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。
加密体制及比较
根据密钥类型不同将现代密码技术分为两类:一类是对称加密(秘密钥匙加密)系统,另一类是公开密钥加密(非对称加密)系统。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
对称密码系统的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性,因此,我们没有必要确保算法的秘密性,而需要保证密钥的秘密性。对称加密系统的算法实现速度极快,从AES候选算法的测试结果看,软件实现的速度都达到了每秒数兆或数十兆比特。对称密码系统的这些特点使其有着广泛的应用。因为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。这些芯片有着广泛的应用,适合于大规模生产。
对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。比如对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了大问题。对称加密算法另一个缺点是不能实现数字签名。
公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,比如对于具有n个用户的网络,仅需要2n个密钥。公开密钥加密系统还能够很容易地实现数字签名。因此,最适合于电子商务应用需要。在实际应用中,公开密钥加密系统并没有完全取代对称密钥加密系统,这是因为公开密钥加密系统是基于尖端的数学难题,计算非常复杂,它的安全性更高,但它实现速度却远赶不上对称密钥加密系统。在实际应用中可利用二者的各自优点,采用对称加密系统加密文件,采用公开密钥加密系统加密“加密文件”的密钥(会话密钥),这就是混合加密系统,它较好地解决了运算速度问题和密钥分配管理问题。因此,公钥密码体制通常被用来加密关键性的、核心的机密数据,而对称密码体制通常被用来加密大量的数据。
对称密码加密系统
对称加密系统最著名的是美国数据加密标准DES、AES(高级加密标准)和欧洲数据加密标准IDEA。1977年美国国家标准局正式公布实施了美国的数据加密标准DES,公开它的加密算法,并批准用于非机密单位和商业上的保密通信。随后DES成为全世界使用最广泛的加密标准。加密与解密的密钥和流程是完全相同的,区别仅仅是加密与解密使用的子密钥序列的施加顺序刚好相反。但是,经过20多年的使用,已经发现DES很多不足之处,对DES的破解方法也日趋有效。AES将会替代DES成为新一代加密标准。
公钥密码加密系统
自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、椭园曲线离散对数系统(ECC)和离散对数系统(代表性的有DSA)。当前最著名、应用最广泛的公钥系统RSA是由Rivet、Shamir、Adelman提出的(简称为RSA系统),它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。
RSA方法的优点主要在于原理简单,易于使用。但是,随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展(可以使用成千上万台机器同时进行大整数分解),作为RSA加解密安全保障的大整数要求越来越大。为了保证RSA使用的安全性,其密钥的位数一直在增加,比如,目前一般认为RSA需要1024位以上的字长才有安全保障。但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。
DSA(DataSignatureAlgorithm)是基于离散对数问题的数字签名标准,它仅提供数字签名,不提供数据加密功能。安全性更高、算法实现性能更好的公钥系统椭圆曲线加密算法ECC(EllipticCurveCryptography)基于离散对数的计算困难性。
椭圆曲线加密算法ECC技术优势
椭圆曲线加密方法与RSA方法相比,有以下优点:
●安全性能更高
加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他几种公钥系统相比,其抗攻击性具有绝对的优势。如160位ECC与1024位RSA、DSA有相同的安全强度。而210位ECC则与2048bitRSA、DSA具有相同的安全强度。
●计算量小,处理速度快
虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因此ECC总的速度比RSA、DSA要快得多。
●存储空间占用小
ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
●带宽要求低
当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。而公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽要求低使ECC在无线网络领域具有广泛的应用前景。ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。
防火墙技术
1、防火墙概念
防火墙所采取的主要技术有包过滤技术、代理技术、状态监视技术等。
(1)包过滤(PacketFilter)技术
依据系统事先设定的过滤规则,检查数据流中每个数据包,根据数据包的源地址、目的地址、TCP端口、路径状态等来确定是否允许数据包通过。包过滤器可在路由器之外单独设置,也可与路由器做成一体,在路由设备上实现包过滤,还可在工作站上用软件进行包过滤。
(2)代理(Proxy)技术
代理服务是在网络中专门设置的代理服务器上的专用程序。代理服务可按安全管理员的设置,允许或拒绝特定的数据或功能。一般和包过滤器、应用网关等共同使用,将外部信息流阻挡在内部网的结构和运行之外,使内部网与外部网的数据交换只在代理服务器上进行,从而实现内部网与外部网的隔离。此外,代理服务还可完成数据流监控、过滤、记录、报告等功能。
(3)状态监视技术
2.防火墙的作用
(1)取消或拒绝任何未被明确允许的软件包通过;
(2)将外部用户保持在内部网之外,即对外部用户访问内部网做出限制,如互连网用户确实需要访问某些文件(如公司的公共文件),则这些文件可置于防火墙之外的互连网一侧;
(3)强制执行注册、审计和报警等。即对通过防火墙的信息注册、审计,在发现某人试图闯过防火墙时,及时发出警报。
3.防火墙的设计
防火墙一般由5部分组成,如图4.5-1所示。
4、防火墙的优点和缺陷
除了连接控制和安全日志,防火墙还有许多其它优点,尽管有许多优点,但也要意识到防火墙有许多缺陷。防火墙无能为力的是:访问限制、后门威胁(Modem或RAS服务器)和对于内部的黑客攻击。
5、分布式防火墙
分布式防火墙是一种主机驻留式的安全软件应用。用以保护企业网络中的关键结点服务器及工作站免受非法入侵的破坏。集中式管理及日志记录是其所具有的基本特性。
传统的边界防火墙及包过滤路由器是放置在彼此“不友好”的两个网络之间,比如放置在Internet和“友好的”企业网络之间。这种传统的解决方案在两个环境之间提供了一个安全网关。这个网关在一个单检查点对所有进出的数据流进行检查和过滤。
路由器
客户和服务器软件
操作系统
防火墙
漏洞的危害可以简单的用木桶原则加以说明:一个木桶能盛多少水,不在于组成它的最长的那根木料,而取决于它身上最短的那一根。同样对于一个系统来说,它的安全性不在于它是否采用了最新的加密算法,最先进的设备,而是由系统本身最薄弱之处,即漏洞决定,只要这个漏洞被发现,系统就有可能成为网络攻击的牺牲品。
作为一个网络管理者的主要工作就是要知道这些漏洞如何产生?它们将会对系统产生什么影响?如何修补这些漏洞从而加固系统?
漏洞如何出现
一个漏洞并不是自己突然出现的,必须有人发现它。而这个工作主要是由以下三个组织之一来完成的:
黑客
破译者
安全服务商组织
漏洞对系统的威胁从上图表中可以看出。
早期的扫描程序是专门为UNIX系统编写的,随着越来越多的操作系统开始支持TCP/IP,所以每一种平台上都出现了扫描工具(Scanner),例如基于WindowsNT/Windows2000平台。扫描常用技术包括ping扫射、端口扫描、操作系统识别、穿透防火墙的扫描。
扫描之所以重要是因为它能揭示一个网络的脆弱点。在负责任的人手里,扫描工具可以使一些繁琐的安全评估工作得到简化;但在不负责任的人手中,扫描工具就会对网络安全造成威胁。
网络反病毒技术
病毒的肆虐,使偌大的微机世界沸沸扬扬,难找一块净土。不懂病毒,不采取反病毒措施已不能正常工作。在与病毒斗争的过程中,产生了许多反病毒技术,它们在与病毒的斗争中,发挥了重要作用。随着病毒技术的进步,面对大数量、高品质病毒大潮,某些反病毒技术捉襟见肘。在病毒与反病毒技术对抗中,病毒技术是主动的、进攻的一方;反病毒技术处于被动、防卫的地化,而且总体上反病毒技术总是滞后干病毒技术的发展。病毒技术的进步,对反病毒技术提出了更高的要求,它必须能对病毒技术进步造成的禁区和死角找出对策。
反病毒技术大体分为:
·病毒检测
·病毒清除
·病毒免疫
·病毒预防
对计算机病毒应以预防为主,研制出高品质预防技术,才是上策。
一般预防对策
要根绝病毒必须摒弃冯·诺依曼体系和信息共享。事实上,这两者都不可能丢弃,一般用户对机器中采用的冯·诺依曼体系,无能为力。但是,对机器的使用上加强管理,可以取得防病毒效果。早期美国军方计算机系统的主要安全防御措施是与外界隔绝。但是,较新型的系统允许多层次应用,系统拥有不同可靠程度的众多用户,他们在同一系统中相互通信。在许多此类系统中,具与很低安全特权的用户是病毒攻击的受害者。因为,具有最高安全特权的用户能运行程序对很低安全特权用户的文件做写入动作,使之被感染。
病毒的攻击使计算机安全专家重新怀念这一古老方法。他们指出:防御计算机病毒最完美的唯一方法是使计算机与外界先全隔离。但是,这样做将毁坏多数办公计算机系统的功能。
良好的管理和安全措施,可以大大减少病毒攻击的危险和有效地防御大多数病毒。
管理对策的核心是控制外部的介入,要使自己的系统与外界完全隔离,是不可能的,控制外部介入是必要的、可能的。可采取的对策如下:
绝对不许外部人员操纵自己的机器
不许将外来磁盘插入机器
不使用来路不明的软盘
不要将自己的软盘插入别人的机器用
不要使用网络通信
病毒征兆
怎样才能知道你的系统中有病毒?虽然有许多反病毒工具可以报警,告诉你发现非法操作或计算机病毒的可能的感染征兆。但是,不是所有的报警都是病毒攻击引起的。有许多发现病毒的报告事后被证明是虚假报警,它们多是由操作者的疏忽或操作失误引起的。
人们所发现的征兆中,有些是程序不兼容,有些是操作失误,有些是机器故障,有些则确实是病毒攻击的征兆。下面列举一些应该注意的病毒征兆:
磁盘文件数目增多
系统的RAM空间变小
可执行程序长度增加
磁盘上出现坏簇
硬盘启动系统失败
在与病毒的对抗中,及早发现病毒很重要。早发现,早处置,可以减少损失。广泛使用的主要检测病毒方法有:
特征代码法
校验和法
行为监测法
软件模拟法
感染实验法
这些方法依据的原理不同,实现时所需开销不同,检测范围不同。它们各有所长,亦各有短处。
安全审计技术
安全审计是一个安全的网络必须支持的功能特性,审计是记录用户使用计算机网络系统进行所有活动的过程,它是提高安全性的重要工具。它不仅能够识别谁访问了系统,还能指出系统正被怎样地使用。对于确定是否有网络攻击的情况,审计信息对于确定问题和攻击源很重要。同时,系统事件的记录能够更迅速和系统地识别问题,并且它是后面阶段事故处理的重要依据,为网络犯罪行为及泄密行为提供取证基础。另外,通过对安全事件的不断收集与积累并且加以分析,有选择性地对其中的某些站点或用户进行审计跟踪,以便对发现或可能产生的破坏性行为提供有力的证据。
网络系统作为政府部门网络信息系统也应具备安全审计措施。并通过多层次的审计手段,形成一个功能较完备的安全审计系统。
具体而言,网络的审计系统应该由三个层次组成,分别是:
网络层层次的安全审计:主要利用防火墙的审计功能、网络监控与入侵检测系统来实现。
对信息内容的安全审计,属高层审计。
采用各层次的安全审计措施是网络安全系统的重要组成部分。而对审计数据的维护是其重要内容之一,建议网络系统建立安全审计中心或审计小组,对所有各层次的审计数据进行统一处理与管理。
入侵检测技术
(一)什么是IDS
IDS(IntrusionDetectionSystem)就是入侵检测系统,它通过抓取网络上的所有报文,分析处理后,报告异常和重要的数据模式和行为模式,使网络安全管理员清楚地了解网络上发生的事件,并能够采取行动阻止可能的破坏。形象地说,它就是网络摄象机,能够捕获并记录网络上的所有数据,同时它也是智能摄象机,能够分析网络数据并提炼出可疑的、异常的网络数据,它还是X光摄象机,能够穿透一些巧妙的伪装,抓住实际的内容。它还不仅仅只是摄象机,还包括保安员的摄象机,能够对入侵行为自动地进行反击:阻断连接、关闭道路(与防火墙联动)。
(二)IDS的作用
在安全体系中,IDS是唯一一个通过数据和行为模式判断其是否有效的系统,如下图所示,防火墙就象一道门,它可以阻止一类人群的进入,但无法阻止同一类人群中的破坏分子,也不能阻止内部的破坏分子;访问控制系统可以不让低级权限的人做越权工作,但无法保证高级权限的做破坏工作,也无法保证低级权限的人通过非法行为获得高级权限;漏洞扫描系统可以发现系统存在的漏洞,但无法对系统进行实时扫描。
(三)IDS的安全职责
IDS系统主要2大职责:实时检测和安全审计。实时监测实时地监视、分析网络中所有的数据报文,发现并实时处理所捕获的数据报文;安全审计通过对IDS系统记录的网络事件进行统计分析,发现其中的异常现象,得出系统的安全状态,找出所需要的证据。
(四)IDS的优点和缺陷
IDS系统的优点是:
1、实时检测网络系统的非法行为;
2、网络IDS系统不占用系统的任何资源;
3、网络IDS系统是一个独立的网络设备,可以做到对黑客透明,因此其本身的安全性高;
4、它既是实时监测系统,也是记录审计系统,可以做到实时保护,事后分析取证。
5、主机IDS系统运行于保护系统之上,可以直接保护、恢复系统。
6、通过与防火墙的联动,可以更有效地阻止非法入侵和破坏。
IDS系统的缺点是:
1、交换器的大量使用,使网络IDS失去对全部网络的控制;
2、网络IDS会因为处理速度慢而丢失重要的网络数据;
3、主机IDS会占用主机系统的资源。
(五)IDS的实现技术
1、网络IDS
网络IDS是网络上的一个监听设备(或一个专用主机),通过监听网络上的所有报文,根据协议进行分析,并报告网络中的非法使用者信息。根据判断方法的不同,基本分为2大类:基于知识的数据模式判断方法和基于行为的行为判断方法,前者大量用于商业IDS系统,后者多在研究系统中采用。
根据数据模式判断的IDS,首先分析已经总结出的网络非法者的工作方法,即数据模型,把网络中读取的数据进行比较,匹配成功的,就报告此事件,如下图所示:
其中,协议分析把网络数据按照协议定义进行分解,如按照IP地址分解出源IP地址、目的IP地址等,按照TCP协议分解出源端口、目的端口等,按照HTTP协议分解出URL、HTTP命令等数据,而匹配数据模型则是非法使用者采用的非正常的各个协议数据,如源IP地址等于目的IP地址、源端口等于目的端口、HTTP的URL包含“..”和“..%c0%af..”等字符串的请求等,当匹配成功时,则说明已经发生了网络非法事件,上报并处理这些事件。
根据行为准则判断的IDS,又细分为2种:统计行为和异常行为判断。
统计行为判断是根据上面模式匹配的事件,在进行统计分析,根据已知非法行为的规则,判断出非法行为。如一次ping事件很正常,但如果单位事件内出现大量ping事件,则说明是一个ping洪流事件,是一个典型的拒绝服务攻击;再如一次口令注册失败很正常,但如果连续多次的口令注册失败,则很可能是一次暴力口令破解行为。目前有些商用IDS已经采用这个技术。
异常行为判断是根据平时统计的各种信息,得出正常网络行为准则,当遇到有违这种准则的事件时,报告非法行为事件。显然,它能够发现未知的网络非法行为,但此系统必须具有正常规则统计和自我学习功能,因此目前还处于研究阶段,商用系统还没有采用的。
2.主机IDS
主机IDS运行于被检测的主机之上,通过查询、监听当前系统的各种资源的使用运行状态,发现系统资源被非法使用和修改的事件,进行上报和处理。其监测的资源主要包括:网络、文件、进程、系统日志等。
通过截获本系统的网络数据,进行如同网络IDS的分析,查找出针对本系统的网络非法行为。当截获数据变为转发数据操作时,系统就转变为一个基于主机的防火墙(个人防火墙)。
通过扫描,或者监听本地的磁盘文件操作,检查文件的操作状态和内容,对文件进行保护、恢复等操作。如果只对文件的操作进行记录和上报,则是一个标准的文件IDS系统。如果能通过插入文件操作驱动等方式对文件的操作进行控制,或者通过查询方式检查并恢复被修改的文件,则是一个文件保护系统。如果能够对文件的内容进行审计,尤其根据病毒特征信息进行审计,则是一个病毒富裕、检查系统。
通过轮询等方式监听系统的进程及其参数,包括进程名称、进程的所有者、进程的起始状态和当前状态、进程的资源占有率和优先级等信息,检查出非法进程,并根据系统要求可以上报和杀死进程等响应措施。
通过查询系统各种日志文件,包括监测日志文件的内容和状态,报告非法的入侵者。因为一般的非法行为,都会在系统日志中留下记录、痕迹,而高级非法入侵者会删除系统日志以抹去现场痕迹,所以必须对日志文件本身进行检测和保护、备份。
一般而言,这4个方面是相互交叉的,如网络非法行为,分别可以通过网络内容监测、进程监测、日志监测等方面进行监视。
运行于被保护主机的系统之上的主机IDS,是安全体系结构中最后一道保护防线,同时由于加密、认证、访问控制等方式的采用,外部检测往往失效,或者已经被欺骗的情况下,主机IDS仍然是一个难以逾越的防线。
主机IDS由于运行于主机之上,随着系统的不同而采用不同的开发和应用技术,会分为系统级IDS(如微软NT的IDS、unix系统的IDS等)和应用级IDS(如oracle数据库的IDS、web的IDS等),因此,系统分类多,通用性差,技术杂等,同时由于它运行于被保护主机之上,会占用系统的资源,严重时会影响系统的稳定性能,因此市场上的需求比较谨慎。
(六)IDS的基本结构
无论IDS系统是分布或单机的,从功能上看,分为2大部分:引擎和控制中心。前者用于读取原始数据和产生事件,后者用于显示和分析事件以及策略定制等工作,如下所示:
引擎的主要功能为:原始数据读取、数据分析、产生事件、策略匹配、事件处理、通讯等功能,如下图所示:
控制中心的主要功能为:通讯、事件读取、事件显示、策略定制、日志分析、系统帮助等,如下图所示:
(七)系统结构
IDS的体系结构按照引擎和控制中心的分布情况,主要分为单机和分布式的2种。
单机结构是引擎和控制中心在一个系统之上,不能远距离操作,只能在现场进行操作。分布式结构就是引擎和控制中心在2个系统之上,通过网络通讯,可以远距离查看和操作。目前的大多数IDS系统都是分布式的。
分布式的优点是明显的:不是必需在现场操作,可以用一个控制中心控制多个引擎,可以统一进行策略编辑和下发,可以统一查看申报的事件,可以通过分开事件显示和查看的功能提高处理速度等等。单机的优点是结构简单,不会因为通讯而影响网络带宽和泄密。
根据控制中心的结构,可以分为单级和多级控制结构。单机结构控制中心只能控制探测引擎,不能控制其他的子控制中心。多级结构指控制中心除控制探测引擎外,还可以控制其他的子控制中心,同时还可以被上一级的控制执行所控制,组成一个树形控制结构,如下图所示:
在构成的多级控制结构中,其上下级的关系为:事件上报和策略下发,即下级向上级报告发生的事件,以及同步事件日志;上级向下级发送定制的事件定义信息和响应策略,控制下级的运行状态。目前只有少数的IDS系统做到多级结构。多级结构的优点在于适应了分层管理的体系结构。当然,为了使高级的控制中心能够处理海量的事件信息,除了各级控制事件信息筛选上报外,应该采用双机结构、高档次计算机、高级数据库系统等方法提高控制中心的处理能力。目前由的IDS系统可以支持多种数据库体系结构,在控制的树形结构的低层采用access小型数据库系统,在控制的树形结构的高层采用SQLserver等大型数据库系统,并把数据库处理系统和控制中心分离,可以提高系统的处理能力。