1.4 计算机网络安全威胁
1.4.1 网络安全威胁因素
我们将所有影响网络正常运行的因素称为网络安全威胁,从这个角度讲,网络安全威胁既包括环境和灾害因素,也包括人为因素和系统自身因素。
1.环境和灾害因素
网络设备所处环境的温度、湿度、供电、静电、灰尘、强电磁场、电磁脉冲等,自然灾害中的火灾、水灾、地震、雷电等,均有可能破坏数据、影响网络系统的正常工作。目前针对这些非人为的环境和灾害因素已有较好的应对策略。
2.人为因素
多数网络安全事件是由于人员的疏忽、黑客的主动攻击造成的,此即为人为因素,具体如下。
(1)有意:人为主动的恶意攻击、违纪、违法和犯罪等。
(2)无意:工作疏忽造成失误(如配置不当,弱口令、默认口令等),对网络系统造成不良后果。
网络安全防护技术主要针对此类网络安全威胁进行防护。
3.系统自身因素
系统自身因素是指网络中的计算机系统或网络设备因为自身的原因引发的网络安全风险,主要包括:
(1)计算机硬件系统的故障。
(2)各类计算机软件故障或安全缺陷,包括系统软件(如操作系统)、支撑软件(各种中间件、数据库管理系统等)和应用软件的故障或缺陷。
(3)网络和通信协议自身的缺陷。
系统自身的脆弱和不足(或称为“安全漏洞”)是造成信息系统安全问题的内部根源,攻击者正是利用系统的脆弱性使各种威胁变成现实危害的。
一般来说,在系统的设计、开发过程中有很多因素会导致系统、软件漏洞,主要包括:
(1)系统基础设计错误导致漏洞。例如,因特网在设计时未考虑认证机制,使得假冒IP地址很容易。
(2)编码错误导致漏洞。例如,缓冲区溢出、格式化字符串漏洞、脚本漏洞等都是由于在编程实现时没有实施严格的安全检查而产生的漏洞。
(3)安全策略实施错误导致漏洞。例如,在设计访问控制策略时,若不对每一处访问都进行访问控制检查,则会导致漏洞。
(4)实施安全策略对象歧义导致漏洞。即实施安全策略时,处理的对象和最终操作处理的对象不一致,如IE浏览器的解码漏洞。
(5)系统开发人员刻意留下的后门。一些后门是开发人员为调试而留的,而另一些则是开发人员为后期非法控制而设置的。这些后门一旦被攻击者获悉,将严重威胁系统的安全。
除了上述设计实现过程中产生的系统安全漏洞,不正确的安全配置也会导致安全事故,例如短口令、开放Guest用户、安全策略配置不当等。
1.4.2 网络攻击概述
对计算机网络安全威胁最大的是人为的恶意攻击。网络攻击是指采用技术或非技术手段,利用目标网络信息系统的安全缺陷,破坏网络信息系统的安全属性的措施和行为,其目的是窃取、修改、伪造或破坏信息或系统,以及降低、破坏网络和系统的使用效能。
2001年以前,攻击者采用的主要攻击方式是收集和截获信息。事实上,许多早期的黑客也是处于同样的状态。而现在,攻击者可以因为政治、经济、文化、报复等原因去渗透一个系统,获取数据和机密信息,甚至导致一个网络或系统瘫痪。特别是近年来,攻击者已有能力破坏计算机系统、工业控制系统中的物理设备,产生传统攻击武器所能达到的物理破坏效果。
目前,攻击方法的分类没有统一的标准。下面介绍几种常见的分类及每种分类下的常见攻击方式。
从发起攻击的来源来分,可将攻击分为三类:外部攻击、内部攻击和行为滥用。外部攻击是指攻击者来自网络或计算机系统的外部;内部攻击是指那些有权使用计算机,但无权访问某些特定的数据、程序或资源的人企图越权使用系统资源的行为,攻击者包括假冒者(那些盗用其他合法用户的身份和口令的人)和秘密使用者(那些有意逃避审计机制和存取控制的人员);行为滥用是指计算机系统资源的合法用户有意或无意地滥用他们的特权。
从攻击对被攻击对象的影响来分,可分为被动攻击和主动攻击。
被动攻击是指通过窃听和监测来获取正在传输的信息,主要包括监听传输的报文内容和通信流量分析。通信流量分析是指通过分析通信报文流的特征来获得一些秘密信息,如通信主机的位置和标识,正在交换的报文的频度、长度、数量、类型等信息。由于被动攻击并不涉及通信数据的任何改变,因此对被动攻击的检测十分困难。这是一种针对机密性的攻击,对付被动攻击的重点不是检测,而是预防,可以通过加密来达到防御目的。
主动攻击包括对数据流的某些修改或者生成一个假的数据流,主要包含4类主动攻击方式:伪装、重放、修改报文、拒绝服务。
伪装是一个实体假装成另一个实体。伪装攻击常常同其他类主动攻击一起进行,身份认证的序列报文被截获,并在有效的身份认证发生时做出回答,有可能使具有很少特权的实体得到额外的特权。这种攻击破坏的是真实性。
重放,也称回放,是指首先截获网络数据,然后在适当的时候重传这些数据,从而产生一个非授权的效果。这种攻击主要破坏的是完整性,有些文献中称之为“新鲜性”。
修改报文攻击是指攻击者修改合法报文的某些部分,或者扰乱报文的发送顺序,从而产生非授权的效果。这种攻击主要破坏的也是完整性。
拒绝服务攻击是指攻击者通过消耗网络带宽或系统资源(如处理机、磁盘、内存)导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务或使服务质量显著降低,或通过更改系统配置使系统无法正常工作(如更改路由器的路由表),来达到攻击的目的。这种攻击主要破坏的是可用性。
与被动攻击不同的是,主动攻击难以绝对地预防,但容易检测,因此重点在于检测并从破坏或造成的延迟中恢复过来。
从攻击的实施手段来分,对通信的攻击可分为中断、截获、篡改、伪造,如图1-7所示。其中,中断、篡改、伪造属于主动攻击,截获属于被动攻击。
图1-7 主动攻击和被动攻击
中断攻击使系统的资产被破坏,无法提供给正常用户使用,如破坏硬盘之类的硬件,切断通信线路或访问路径,大量消耗网络或系统资源导致网络或系统瘫痪。这是一种针对可用性的攻击。
截获攻击可使非授权者进行资产的访问。非授权者可以是一个人、一个程序或一台计算机,如通过窃听获取网络上传输的数据及非授权的复制文件和程序。这是一种主要针对机密性的攻击。
篡改攻击是指非授权者不仅访问了资产,而且能够修改所访问的信息,如改变数据文件的值、修改程序或正在网络上传送的报文内容。这是一种主要针对完整性的攻击。
伪造攻击是非授权者在系统中插入伪造的信息,如在网上插入伪造的报文,或在文件中加入一些记录等。这是一种主要针对真实性的攻击。
还有一种基于经验术语的分类方法,即按照行内普遍承认的名称来分,这也是目前主流的分类方法。在此分类标准下,攻击方式有:恶意代码(病毒、蠕虫、木马)、拒绝服务、非授权资料拷贝、侵扰、软件盗版、隐蔽信道、会话截持、鱼叉式攻击、水坑式攻击、IP欺骗、口令窃听与破解、越权访问、侦察、扫描、监听、逻辑炸弹、陷门攻击、电磁泄露、服务干扰、溢出攻击、SQL注入、XSS攻击、社会工程学攻击等。
当网络攻击上升到网络战这一层次时,“网络攻击”也就演变成了“网络作战”。美军将“计算机网络作战(Computer Network Operations,CNO)”分为:①计算机网络攻击(Computer Network Attack,CNA),是指通过计算机网络扰乱(Disrupt)、否认(Deny)、功能或性能降级(Degrade)、损毁(Destroy)计算机和计算机网络内的信息、计算机或网络本身的行为;②计算机网络利用(Computer Network Exploitation,CNE),是指从目标信息系统或网络收集信息并加以利用的行为;③计算机网络防御(Computer Network Defense,CND),是指使用计算机网络分析、探测、监控和阻止攻击、入侵、扰乱以及对网络的非授权访问。