三、没有硝烟的战争——网络攻防站
因为计算机网络体系结构具有复杂性和开放性等特征,所以网络设备及数据的安全就成为了影响网络正常运行的一个重要问题。依据安全学原理,可以把影响计算机网络安全的因素分为三个原因:个人原因、物理原因和环境原因,即人的不安全行为、物的不安全状态和环境对系统的影响。如果人的恶意攻击是“人”的原因,那么磁盘等物理介质出错就是“物”的原因,而外界的电磁辐射对网络数据的影响则应该属于“环境”的原因。
有业内人士认为,网络系统存在的缺陷或漏洞、对漏洞的攻击以及外界环境对网络的威胁等因素,构成了计算机网络的主要风险来源。面对此种问题,可以通过对风险要素的识别、评价,以达到降低风险,保障网络安全的目的。
1.网络攻击
“攻击”是指在非授权情况下所做的任何行为。攻击的范围十分广泛,无论是简单的服务器无法提供正常的服务,或者是完全破坏、控制服务器,都在网络攻击的范围之中。网络攻击者到目前的主要攻击方式,是利用网络通信协议本身存在的缺陷或因安全配置不当而产生的安全漏洞进行网络攻击。随着网络攻击者的攻击思路和采用攻击手段的不同,目标系统被攻击或者被入侵的程度也会不尽相同。可以从攻击者的行为上将攻击区分为以下两类:
(1)被动攻击
攻击者简单地监视所有信息流以获得某些秘密。这种攻击可以是基于网络或者基于系统的。这种攻击是最难被检测到的,对付这类攻击的重点是预防,主要手段是数据加密。
(2)主动攻击
攻击者试图突破网络的安全防线。这种攻击涉及数据流的修改或创建错误信息流,假冒、重放、欺骗、消息篡改、拒绝服务等,都是其主要攻击形式。虽然这类攻击无法预防,但很容易被检测出来,所以,对付这种攻击的重点是“测”而不是“防”,对付这种攻击的主要手段有:防火墙、入侵检测系统等。
入侵者对目标进行攻击或入侵大致有两种目的:第一种是使目标系统数据的完整性失效或者服务的可用性降低。入侵者为达到此目的,一般采用主动攻击手段入侵并影响目标信息基础设施。第二种是破坏目标的秘密。入侵者一般采用被动手段,也就是说入侵者不用入侵目标,只是通过网络设备对开放网络产生一定的影响。所以,入侵者可以主动入侵并观察,也可以被动手段观察、建模、推理达到其目的。入侵者无论采用什么手段,其最终目的是干扰目标系统的正常工作、欺骗目标主机、拒绝目标主机上合法用户的服务,直至整个目标系统的摧毁。
2.网络攻击的过程
无论网络入侵者攻击的目标是什么类型,其过程和所采用的攻击手段都有一定的共性。一般网络攻击可分为以下几个步骤:调查、收集和判断出目标计算机网络的拓扑结构和其他的信息;对目标系统安全的脆弱性进行探测与分析;最终对目标系统实施攻击行为。
(1)调查、收集和判断目标网络系统的网络结构等信息
入侵者利用操作系统中现有的网络工具或协议收集远程目标系统中各个主机的相关信息,为对目标系统进行进一步分析和判断做准备。
(2)制定攻击策略和确定攻击目标
入侵者在收集到远程目标的一般网络信息后,开始确定攻击对象,这通常都与入侵者所制定的攻击策略有关。一般情况下,入侵者想要获得的是1个主系统上或1个可用的最大网段的根访问权限,通常只要成功入侵1台主机,就可以达到控制整个网络的目的。
(3)扫描目标系统
入侵者会在扫描远程目标系统的过程中寻找该系统的安全漏洞或安全弱点,其入侵对象为安全性最薄弱的主机。因为有些系统主机的管理员素质不高,从而会造成的目标系统配置的不当,这在无形之中就会会给入侵者提供了机会。而且有时攻破1个主机就意味着可整个系统可能被攻破。
(4)攻击目标系统
入侵者在对目标系统使用扫描方法后,探测到的一些有用信息并进行分析,在寻找到目标系统由于种种原因而存在的安全漏洞后,入侵者就会试图获得访问权限并可以进行攻击。一旦让入侵者获得访问权限,他就可以搜索目录,定位感兴趣的信息,并将信息传输、存储起来。入侵者通过这台薄弱的主机,可以对与本机建立了访问连接和信任关系的其他网络计算机进行攻击。
3.网络攻击方式
(1)网络监听攻击
监视网络状态、数据流以及网络上传输信息的管理工具就叫做网络监听,网络监听可以将网络接口设置为监听模式,并可截获网络上传输的信息,取得目标主机的超级用户权限。作为一种发展比较成熟的技术,监听具有不可替代的作用,尤其是在协助网络管理员监测网络传输数据、排除网络故障等方面。然而,凡事有利即有弊,网络监听在协助网络管理员的同时也会给网络安全带来极大的隐患。当信息传播的时候,只要利用工具将网络接口设置成监听模式,就可以将网络中正在传播的信息截获,从而对目标系统进行攻击。在网络中任何一个位置模式下都可实施进行网络监听。在一般情况下,入侵者都是利用网络监听工具来截获用户口令的。
(2)缓冲区溢出攻击
简单地说就是程序对接受的输入数据没有进行有效的检测,其导致的错误就是缓冲区溢出,缓冲区溢出的后果可能造成程序崩溃或者是执行攻击者的命令。UNIX和Windows这两个形同本身以及在系统上运行的许多应用程序都是由C语言所编写的,C语言和C++语言对数组下标访问越界不做检查,而这些正是引起缓冲区溢出的根本原因。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区,这就称“缓冲区溢出”。
(3)拒绝服务攻击
攻击者想办法让目标机器停止提供服务或资源访问,这种攻击方式就被称之为拒绝服务攻击。包括磁盘空间、内存、进程甚至网络带宽,都是其限制访问的资源。从而阻止用户的正常访问。计算机网络带宽攻击和连通性攻击是最常见的拒绝服务攻击。带宽攻击指极大的通信量冲击网络,使得所有的网络资源都被消耗殆尽,最终导致计算机无法处理合法用户的请求。而造成这些后果的原因是因为网络协议本身就具有安全缺陷,所以这种攻击方式也就成为了攻击者的终极手法。攻击者进行拒绝服务攻击,其目的是让服务器实现两种效果:一是迫使服务器缓冲区满负荷,无法接受新的请求;二是使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的正常使用。
4.网络安全防御的特殊性
“网络”是一个在地理上高度分布、边界模糊、层次不清晰、动态演化、人员在其中扮演主角、具有交互性的巨大而复杂的系统。网络模糊了地理、空间上的边界概念,使得网上的冲突和对抗更具有隐蔽性,对网络的攻击往往是在没有先兆的情况下突然发生的,而且沿着网络迅速蔓延,发展的势头和程度很难预测和控制,对破坏的程度难以评估和预测。因此,对网络的攻击与常见的攻击不同,具有无边界性、突发性、蔓延性和隐蔽性等新特点。这些都增加了网络安全防御的复杂度。
(1)网络安全防御的无边界性
网络由于采用标准协议,具有高度的开放性和连通性,其边界具有不确定性。只要是连接在网络上,用户就有可能遭受来自网络中任何一个地方的攻击。
(2)网络安全防御的非对称性
对网络攻击进行防御的困难还在于攻击者要发起一次成功的攻击,只需要选准众多弱点中的一个,找准最有利的时机进行攻击,并且攻击者处于隐蔽主动的地位;而攻击在何时何地以何种方式进行,防御者根本无法预测,只能全面考虑所有的攻击可能性,针对存在的弱点处处设防、时时警惕。可见攻防双方具有非对称性。
(3)网络安全防御的被动反应性
网络攻击具有动态性,网络技术日新月异,新的攻击技术和手段层出不穷,防御者只有在被攻击受损后才能发现新的攻击,对其做出反应,找到防御方法。面对网络攻击的动态发展,防御总是被动和相对滞后的。
5.网络安全防御方法
(1)安全技术策略——均衡、全面地进行防御
网络技术本身在物理上、操作上和管理上的种种漏洞构成了系统的安全脆弱性,尤其是多用户网络系统自身的复杂性、资源共享性使得多种技术组合应用变得非常必要。攻击者使用的是“最易渗透原则”,必然在最有利的时间地点,从系统最薄弱的地方进行攻击。因此,充分、全面、完整地对系统安全漏洞和安全威胁进行分析、评估和检测,从网络的各个层次进行技术防范是设计网络安全防御系统的必要条件。目前采用的技术主要有加密、认证、访问控制、防火墙技术、入侵检测、安全协议、漏洞扫描、病毒防治、数据备份和硬件冗余等。
(2)建立安全实时响应和应急恢复的整体防御
没有百分之百安全和保密的网络信息,因此要求网络在被攻击和破坏时能够及时发现、及时反应,尽可能快地恢复网络信息中心的服务,减少损失。所以,网络安全系统应该包括:安全防护机制、安全监测机制、安全反应机制和安全恢复机制。
①安全防护机制是指根据系统具体存在的各种安全漏洞和安全威胁采取相应的防护措施,避免非法攻击的进行;
②安全监测机制是指检测系统的运行情况,及时发现对系统进行的各种攻击;
③安全反应机制,能对攻击做出及时的反应,有效制止攻击的进行,防止损失扩大;
④安全恢复机制,能在安全防护机制失效的情况下,进行应急处理和尽量及时地恢复信息,降低攻击的破坏程度。
(3)建立分层管理和各级安全管理中心
不同的安全标准对网络安全的级别划分有所不同,建立多级安全层次和安全级别。将网络安全系统应用分为不同的级别。这些级别分别包括:对信息保密程度的分级(绝密、机密、秘密);对用户操作权限分级;对网络安全程度分级;对系统实现结构的分级等。针对不同级别的安全对象,可以提供全面、可选的安全算法和安全体制,从而满足网络中不同层次的各种实际需求。