1.1 信息安全概述
信息安全是一门涉及计算机技术、网络技术、通信技术、密码技术、软件技术、应用数学、数论、信息论等多种科学的综合性学科。本节从信息安全的定义、包含的内容、存在的缺陷、面临的威胁及发展的技术5方面对信息安全进行概述。
1.1.1 信息安全定义
随着计算机技术和网络通信技术应用的日益广泛,信息的数字化生存方式、空间、时间不断开拓,信息成为当今社会中不可或缺的基本要素。与此同时,信息所带来的安全问题日益突出,所面临的安全威胁日益严重,信息安全的内涵需要不断地延伸,从最初的信息保密性发展到信息的完整性、可用性、可控性和不可否认性,进而又发展为防御、检测、响应、恢复、控制、管理、评估等多方面的基础理论和实施技术。定义信息安全应考虑涵盖信息所涉及的全部内容,参照ISO国际标准化组织给出的计算机网络安全定义,认为信息安全是指为信息系统建立和采取的技术及管理的安全保护,即保护信息系统中的硬件、软件和数据信息资源,不因偶然或恶意的原因遭到破坏、更改、泄露,使信息系统连续可靠地正常运行,信息交换和共享服务正常有序不被中断。其中,信息系统是指由计算机及其相关和配套的设备、设施(包含网络)构成的,按照一定的应用目标和规则对信息进行采集、加工、存储、传输、检索等处理的人机交互系统。例如,互联网就是世界上最大的信息系统。典型的信息系统由硬件(包括计算机硬件和网络硬件)、系统软件(包括计算机系统软件和网络系统软件)和应用软件(包括由其处理、存储和传输的信息)3部分组成。信息安全的定义从信息的安全内容、安全缺陷和安全威胁等方面进行了高度概括。下面将对这些方面进行具体说明。
1.1.2 信息安全的内容
在信息系统中,信息既有存储于计算节点(包括个人计算机、服务器、交换机、路由器和网关等设备)上的信息资源,即静态信息,又有在计算节点中运行或在计算节点间传播的信息,即动态信息。从静态的观点看,信息安全主要是解决特定计算机设备的数据存储安全问题。如果今天输入到计算机中的数据,任何一段时间之后仍保留在那里,完好如初并没有被非法读取,那么一般称这台计算机具有一定的数据存储安全性。从动态的观点看,如果处理信息的软件运行的效果和用户所期望的一样,那么该软件具有一定的运行安全性,我们就可以判定这台计算机是可信任的,或者说它是安全的。安全问题是一个动态的过程,不能用僵硬和静止的观点去看待,不仅仅是计算机硬件存在形式的安全,还在于计算机软件特殊形式的安全特性。因为自然灾害和有运行故障或安全漏洞的软件同非法存取数据一样对计算机的安全性构成威胁。人为的有意或无意的操作、某种计算机病毒的发作和软件漏洞利用攻击、不可预知的系统故障和运行错误,都可能造成计算机中数据的泄漏或丢失。因此,信息安全的内容应包括物理安全、软件安全和数据安全3方面内容,如图1-1所示。
图1-1 信息安全内容
一、物理安全
物理安全又称为硬件安全,是针对物理介质中产生的损坏、破坏和丢失等安全问题,实施安全保护方案以确保物理介质自身的安全性,以及物理介质中存储和传输的信息安全性,包括设备质量保证和备份等。其中,物理安全问题包括自然环境变化(如温度、湿度等环境变化)和自然灾害(如水灾、火灾、雷电、地震等环境事故)、物理损坏(如硬盘损坏、设备使用寿命到期、人为破坏等)、设备故障(如停电、断电等)、设备缺陷(如噪音和电磁干扰、电磁泄漏等)。面对各种物理安全问题,一方面要提高物理硬件系统的可靠性和防护措施;另一方面要通过安全意识的提高,安全制度的完善和安全操作的提倡等方式使用户和管理维护人员在物理层中实现对信息的保护。例如,针对自然环境变化,加强对物理系统所在环境的安全保护,在温度、湿度、空气洁净度、腐蚀度、虫害、振动和冲击等方面要有具体的要求和严格的标准。位置环境的选择,要注意其外部环境安全性、地质可靠性、场地抗电磁干扰性,避开强振动源和强噪声源,并避免设在建筑物高层和用水设备的下层或隔壁。针对自然灾难,构建分布式冗余存储和路由进行区域保护。针对物理损坏,可采用RAID磁盘阵列备份。针对电磁干扰和泄露,采用辐射防护。针对停电断电,采用UPS应急恢复等。物理安全是信息安全的最基本保障,是整个信息安全系统不可缺少和忽视的组成部分。
二、软件安全
软件安全是针对软件本身可能存在的安全问题,实施安全保护方案以确保软件自身的安全性。软件安全是信息安全的关键。信息系统中的软件包括操作系统、应用软件和网络通信协议,因此软件安全问题主要归结为操作系统的安全问题、应用软件的安全问题和网络通信协议的安全问题。现在的主流操作系统,如Windows、UNIX、Linux和Android等都存在很多安全漏洞。操作系统的安全漏洞也是信息不安全的主要原因。操作系统的安全漏洞根本是由操作系统体系结构的缺陷所引起,操作系统的程序可以进行动态连接,驱动程序和系统服务也都可以用打补丁的方式进行动态升级。这种通过补丁改进与升级的操作系统很难从根本上杜绝安全漏洞。此外,操作系统长期运行的许多守护进程也通常成为攻击者利用的手段。
应用软件和操作系统一样由于安全漏洞的存在,运行时会出现非预期的行为,这种预期之外的程序行为轻则会损害程序的预期功能,重则会导致程序崩溃,使其不能正常运行。更为严重的情况下,与安全相关的软件安全漏洞可以被攻击者利用,使程序主机遭受入侵,以至于造成如用户账号密码等私密数据信息的泄露。
TCP/IP是使用最为广泛的网络通信协议,由于TCP/IP自身的开放性特点,在最初的设计中,没有针对信息在网络通信过程引起的安全问题进行详细分析,从而产生许多在安全方面的设计缺陷。而TCP/IP协议的设计缺陷又引起了许多安全问题,如在FTP文件传输中没有对数据进行加密通信,导致信息的泄露。IP地址盗用和欺骗导致信息的伪造。ICMP、TCP SYN Flood等DoS攻击导致信息的中断。
因此,软件的安全性是指信息系统随时可用,信息系统运行过程中不出现故障,如果遇意外故障能够尽早恢复并尽量减少损失,保证信息的可靠性。其次,信息系统的管理者对信息系统有足够的控制和管理能力保证信息的可控性。另外,操作系统、网络通信协议和应用程序能够互相连接,协调运行,保证信息的互操作性。最后,检测信息系统运行中的安全漏洞,保证信息的可信性。
三、数据安全
数据安全是指信息自身的二进制数据安全性,包括信息的来源、去向,内容的真实无误确保信息的鉴别性,信息不被非法篡改和伪造确保信息的完整性,信息不会被非法泄露和扩散确保信息的保密性。此外,信息的发送者和接收者无法否认自己所做过的操作行为而保证信息的不可否认性。
1.1.3 信息安全的缺陷
安全性是信息的一个基本属性。影响信息安全的因素很多。本小节从信息系统的本质缺陷、内在缺陷及外在缺陷3方面说明出现信息不安全的主要原因。
一、本质缺陷
基于TCP/IP协议的互联网是世界上最大的信息系统。TCP/IP协议的标准化和开放性,使得互联网允许各种形式的通信网络和终端加入到互联网成为互联网的一个分子,并相互之间自由交换和共享信息。这种开放性大大降低了互联网的可控性和可信性,使它面临着各种安全威胁。此外,随着开放对象的多种多样,互联网规模的日益庞大,使整个互联网的软硬件系统都变得非常复杂。面对复杂的网络环境,其软硬件的设计也不可能尽善尽美,导致各种硬件缺陷、软件漏洞、协议设计缺陷的出现,这些也给信息安全带来了威胁。因此,开放性是互联网的最大特色和优点,同时也是信息安全的本质缺陷。如图1-2所示,如何既要保持互联网的开放性和灵活性,又要保证其信息的安全性是网络信息安全的重要目标。
二、内在缺陷
互联网信息系统自身主要由硬件系统、软件系统和通信协议3个基础部件构成,这些部件自身存在着内在的缺陷。这些缺陷也给互联网信息系统带来了安全方面的威胁和问题。
图1-2 信息开放性与安全性
(1)硬件缺陷。
互联网的网络硬件系统自身存在物理属性缺陷和人的设计缺陷。例如,各种网络设备、通信终端和通信介质受到温度、湿度、静电、电磁场、闪电等自然因素及器件的物理老化的影响可能造成物理器件的失效、损坏或信息的泄漏。在无线通信系统中,数据信息在无线介质中以电磁波的形式在空中进行传播,存在电磁波泄露,并容易被截获的内在缺陷。此外,在硬件的设计和制造过程中,由于电路高度复杂,人的设计缺陷在所难免。例如,电路板焊点过密,造成电路短路,接插部件过多,容易出现接触不良故障等。
(2)软件缺陷。
互联网的软件系统包括操作系统和应用软件,它们同样具有不可避免的安全缺陷。软件系统的缺陷来源于设计和软件工程实现中的问题。例如,在软件设计中的疏忽可能造成软件系统内部逻辑错误或留下安全漏洞。软件工程实现中缺乏规范化和模块化要求,将导致软件的安全等级达不到所声称的安全级别。此外,随着硬件能力的越来越强,操作系统和应用软件的规模越来越大,软件系统中的漏洞也不可避免的存在,如微软的Windows操作系统也存在各种各样的安全漏洞和后门,这也是信息安全的主要威胁之一。
(3)TCP/IP缺陷。
TCP/IP作为互联网的标准通信协议,它最初的设计主要是考虑数据交换和资源共享,其架构设计并未考虑安全问题,缺乏相应的安全监督机制,因此存在严重的安全缺陷。首先,TCP/IP缺乏保密性。TCP/IP的设计原则就是保持简单,唯一的功能就是负责互连,尽可能把复杂的工作交给上层应用或终端去处理,所以设计TCP/IP时没有考虑数据传输过程中的数据加密,数据流的传输都是明文的,包括用户账号和口令等重要信息。因此,恶意用户可以截获含有账号和口令的数据分组从而进行攻击,这种明文传输方式无法保障信息的保密性和完整性。其次,TCP/IP协议使用IP地址作为网络节点的惟一标志,IP地址是一种分级结构地址,其包含了主机所在的网络拓扑信息,因此使用标准IP地址的网络拓扑对互联网来说是暴露的。当IP分组在网络节点间传递时,对任何人都是开放的,即其IP分组的源地址很容易被发现,因此攻击者根据IP地址信息可以构造出目标网络的轮廓。接着,TCP/IP协议缺乏用户身份鉴别机制。例如,TCP/IP协议缺乏对IP包中的源地址真实性的鉴定机制,因此,互联网上任何通信节点都可以产生一个带任意IP地址的IP包,从而假冒另一个通信节点的IP地址进行欺骗,所以IP地址很容易被伪造和更改。然后,TCP/IP缺乏路由协议鉴别认证机制,即在网络层上缺乏对路由协议的安全认证机制,对路由信息缺乏鉴别与保护。因此,可以通过互联网利用路由信息修改网络传输路径,误导网络分组传输。再次,TCP/IP层次结构的脆弱性。由于TCP/IP应用层协议位于TCP/IP体系结构的最顶部,因此下层的安全缺陷必然导致应用层的安全出现漏洞甚至崩溃,而各种应用层协议(如DNS、FTP、SMTP等)本身也存在安全隐患。最后,TCP/IP协议存在安全漏洞。例如,TCP协议建立一个完整的TCP连接,需要经历3次握手过程,通过这个握手过程,双方需要协商一些参数,包括双方的初始发送顺序号、分配发送和接收缓冲区等。在客户/服务器模式的3次握手过程中,假如客户的IP地址是虚假的,就不可能到达,那么TCP就不可能完成该次连接的3次握手,使TCP连接处于半开状态。攻击者利用这一漏洞可以实现如TCP SYN Flooding的DoS拒绝服务攻击。TCP提供可靠连接是通过初始序列号的鉴别机制来实现的。在具体的协议实现中,初始序列号一般由随机发生器产生,但是很多操作系统(如UNIX)所产生的序列号不是真正随机的,而是一个具有一定规律、可猜测或计算的数字。对攻击者来说,猜出了初始序列号并掌握了目标IP地址后,就可以对目标实施IP Spoofing的欺骗攻击。UDP是一个无连接协议,极易受IP源路由和拒绝服务攻击。因此TCP/IP通信协议的不完善和漏洞,给各种不安全因素的入侵留下了隐患。
三、外在缺陷
互联网为人所服务,因此离不开人的参与交互。这必然会引起由于人的参与所带来的安全问题,称为外在缺陷。主要包括人为误操作和人为攻击。
(1)人为误操作。
互联网作为一个客体,要使它能工作和发挥功能,必须要有人的操作和管理。在人的操作和管理中,由于误操作和管理的欠缺也将引起信息安全威胁和问题。首先是安全管理方面的原因,管理者缺乏对信息安全的警惕性或对信息安全技术的了解,没有制定切实可行的信息安全策略和措施。例如,很多接入互联网的企业缺乏对信息安全的认识,管理上存在很多漏洞。很多企业只提供了接入互联网的通道,对网络上的不法行为缺乏基本的应对措施,这是造成信息安全问题的原因之一。其次,网络用户存在误操作,如数据的误删除等。对于来自用户的误操作,常规的信息安全产品基本无能为力,这类误操作行为需要网络信息审计、IDS等主要针对内部信息安全的安全产品来抵御。
(2)人为攻击。
网络最终是为人服务的。当互联网为人们提供各种有价值的信息时,或者当网络中传输的信息具有价值的时候,不可避免地导致有人会非法获得这些信息资源(包括截取、修改甚至破坏这些信息等)的恶意行为,从而出现各种网络信息安全攻击。网络信息安全攻击的出现,给人们的社会、经济生活产生了破坏性影响,真正给信息的安全带来了巨大的威胁。
信息安全攻击是指损害信息系统及数据安全的任何行为,即攻击者(包括黑客和内部人员等)利用目前信息系统的安全缺陷通过使用各种攻击方法非法进入本地或远程用户信息系统,非法获得、修改、删除系统的信息,以及在系统上添加、伪造信息等一系列过程的总称。信息安全攻击对信息安全造成极大的危害,并导致机密信息的泄漏。人为的恶意入侵和攻击是信息安全所面临的最大威胁。因此,下面将介绍信息安全攻击手段的种类,并列举常见的典型攻击方法。
根据攻击行为的不同,信息安全攻击分为被动攻击和主动攻击。其中,被动攻击是在不影响信息系统正常工作的情况下,进行截获、窃取、破解以获得重要机密信息。在被动攻击中,攻击者的目的只是获取信息,因此攻击者不会篡改信息或危害信息系统,信息系统可以不中断其正常运行。然而,攻击可能会危害信息的发送者或接收者,因此在信息发送者或接收者发现机密信息已经泄露之前,要发现这种攻击非常困难。主动攻击以各种方式有选择地破坏信息的有效性和完整性。主动攻击可能改变信息或危害信息系统。主动攻击通常易于探测但却难于防范,因为攻击者可以通过多种方法发起攻击。根据攻击方式、方法和手段的不同,信息安全攻击包括恶意程序和木马攻击、缓冲区溢出攻击、拒绝服务攻击、欺骗攻击、中间人攻击、重放攻击和扫描监听攻击等。
• 恶意程序和木马攻击。
恶意程序攻击是攻击者在信息系统中插入一组指令或程序代码破坏信息系统功能或破坏信息数据,影响信息系统使用。恶意程序能够通过文件复制、文件传送、文件执行等方式传播给其他计算机和整个互联网信息系统。图1-3显示了CNCERT/CC近年来捕获及通过厂商交换获得的移动互联网恶意程序样本数量统计。
图1-3 2010~2016年移动互联网恶意程序样本数量对比(来源:CNCERT/CC)
从图1-3可以看出,大量涌现的恶意程序在移动互联网上极快地传播,对移动互联网安全带来了巨大灾难和安全问题,影响系统效率、破坏数据和阻塞网络等。木马和恶意程序一样也是一种蓄意设计的特殊程序,其一般分为客户端(Client)程序和服务器端(Server)程序。客户端是本地使用的各种命令的控制台程序,服务器端则是要给别人运行的程序,只有运行过服务器端的计算机才能够完全受控。木马不会像恶意程序那样去感染文件,但是木马具有远程控制管理用户计算机系统的能力,包括阅览、复制、修改、注入信息等,甚至实时记录各种动态信息,如键盘输入信息等。此外,和恶意程序一样,木马的隐藏性好,不易被发现,甚至具有不被防火墙所拦截的能力。
• 拒绝服务攻击。
拒绝服务攻击(Denial of Service,DoS)是指攻击者为阻止合法用户进行正常网络通信和使用网络资源而采取的行为。根据攻击原理不同DoS攻击可分为基于漏洞的攻击和基于流量的攻击。其中,基于漏洞的攻击就是利用软件中存在的漏洞(如操作系统、Web服务器中存在的缓冲区溢出漏洞等),当存在漏洞的系统收到特定类型的数据包时,会立即崩溃或性能急剧下降。例如,Ping of Death攻击利用一些系统不能处理超长IP包的漏洞,攻击者发送一个长度超过65535的Echo Request数据包,目标主机在重组分片的时候会造成事先分配的65535字节缓冲区溢出,导致TCP/IP协议栈的崩溃。基于流量的攻击是指攻击者在短时间内利用合理的服务请求向目标系统发送大量数据,来占用过多的服务资源,消耗目标系统资源或网络带宽,使目标系统的处理能力短时间内达到饱和,从而使合法用户得不到应有的服务资源,停止对合法用户提供正常的网络服务。例如,TCP SYN Flood洪泛攻击、Smurf攻击、UDP淹没攻击、Land攻击和电子邮件炸弹等。其中,TCP SYN Flood洪泛攻击是当前网络上最为常见的DoS攻击,也是最为经典的拒绝服务攻击。它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。Smurf攻击通过使用将回复地址设置成目标网络的广播地址的ICMP应答请求数据包,来淹没目标网络中的主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞;另外,将源地址改为第三方的受害者,最终导致第三方崩溃。UDP淹没攻击是指攻击者随机地向目标主机的端口发送UDP数据包,当目标主机接收到一个UDP数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,就会产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的UDP数据包的时候,整个系统就会瘫痪。基于流量的DoS攻击又可分为单攻击源拒绝服务攻击和分布式拒绝服务攻击。
传统的DoS攻击从一个攻击源攻击目标,可以很容易地通过流量分析来发现攻击者。此外,当攻击目标CPU处理器的运算速度低、内存小或网络带宽小等各项性能指标不高时,传统的DoS攻击效果明显。随着计算机与网络技术的发展,计算机的处理能力迅速增强,内存大大增加,同时也出现了千兆级别的网络,这使得传统DoS攻击困难加大。因此,近年来DoS攻击已经演变为同时从多个攻击源攻击一个目标的形式,称为分布式拒绝服务攻击(Distributed Deny of Service,DDoS)。DDoS攻击采用资源耗尽型的攻击方式,它借助于客户/服务器等网络通信技术,将多个主机联合起来作为攻击平台,对目标主机同时发起DoS攻击,从而大大提高DoS攻击威力。DDoS攻击是通过控制多台傀儡主机,利用它们的带宽资源集中向攻击目标发动总攻,从而耗尽其带宽或系统资源的攻击形式。图1-4所示显示了DDoS攻击的体系结构。
图1-4 DDoS攻击体系结构
从图1-4可以看出,DDoS攻击体系一般分为攻击者、DDoS主控系统、DDoS代理系统和目标系统4大部分。其中,第2部分的DDoS主控系统和第3部分的代理系统分别用作控制和实际发起攻击。因此,对第4部分的目标系统来说,DDoS的实际攻击包是从第3部分代理系统中的攻击傀儡机上发出的,第2部分的DDoS主控系统只发布命令而不参与实际的攻击。第1部分的攻击者对第2和第3部分有控制权或是部分控制权,它把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自攻击者的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,代理系统上的这些傀儡机并没有什么异常,只是一旦攻击者连接到它们进行控制,并发出指令的时候,主控系统与大量代理程序通信,并激活成百上千个代理程序的运行,攻击傀儡机就成为害人者对目标发起攻击。目前著名的DDoS攻击系统包括Billgates bot、TFN(Tribe Flood Network)、TFN2K、Trinoo、WinTrinoo和Stacheldraht等。
• 欺骗攻击。
网络欺骗是指攻击者通过向攻击目标发送冒充其信任主机的网络数据包,达到获取访问权或执行命令的攻击方法。欺骗攻击利用了以下两种漏洞:一类是TCP/IP协议本身的漏洞,另一类是操作系统和应用软件的漏洞,所以在对系统采取各种安全防范措施之前,必须首先应用各种安全扫描技术对系统进行完整、全面的分析检测,根据扫描结果采取相应措施。具体的有IP欺骗(IP Spoofing)、ARP欺骗(ARP Spoofing)、DNS欺骗(DNS Spoofing)、Web欺骗(Web Spoofi ng)、会话劫持(Session Hijack)和RIP(路由信息协议)路由欺骗等。其中,IP欺骗是攻击者将其发送的网络数据包的源IP地址篡改为攻击目标所信任主机的IP地址,从而骗取攻击目标信任的一种网络欺骗攻击方法。它通过利用主机之间的正常信任关系和TCP/IP协议及通信本身存在的一些缺陷(如IP地址与通信终端或地理位置不绑定、缺少源路由检测等)对目标主机进行攻击。此外,在IP欺骗中,攻击者伪造的IP地址是不可达或根本不存在。这种形式的IP欺骗主要用于迷惑目标主机上的入侵检测系统。
ARP欺骗是指攻击主机发送假冒MAC地址的ARP应答给目标主机发起的ARP查询。APR欺骗攻击可让攻击者取得目标主机上的分组数据。攻击者根据篡改MAC地址及对截获分组数据处理方式的不同而形成不同的攻击结果,并产生中断、窃取和篡改威胁。如果攻击者将MAC地址篡改为网络中不存在的MAC地址或将截获的数据包直接丢弃,那么将使目标主机无法正常连接通信,导致拒绝服务攻击。如果攻击者对截获的数据信息进行重新路由转发或修改后再转发,将形成中间人攻击。
DNS欺骗攻击是指攻击者提前向目标主机(DNS客户端)发送ID标识匹配,且包含欺骗IP地址的DNS应答数据包,那么当该欺骗应答数据包在合法DNS服务器发送的应答数据包之前到达客户端时,目标主机的DNS缓存里域名所对应的IP地址就是攻击者提供的欺骗IP地址。这时,目标主机将与具有欺骗IP地址的攻击主机建立连接通信,从而给目标主机造成安全威胁,如转移连接到点击即付的支付网站或伪造的银行网站中,使其银行账户/密码等信息被攻击者获取。
RIP欺骗攻击是指攻击者向目标路由器宣称其攻击路由器R拥有最短的连接网络N外部的路径,所有需要从网络N发出的数据包都会经攻击路由器R转发。当目标路由器将数据包路由到攻击路由器R中时,这些数据包受到攻击路由器检查、篡改、删除、丢弃的威胁。
Web欺骗攻击是指攻击者利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动。例如,网络钓鱼攻击。攻击者将自己伪装成知名银行、在线零售商和信用卡公司等可信的品牌网站,在所有接触诈骗信息的用户中,有5%以上的人会对这些骗局做出响应。受骗者往往会泄露自己的隐私数据,如信用卡号、账户用户名、口令和社保编号等内容。
会话劫持攻击是指攻击者冒充网络正常会话中的某一方,从而欺骗另一方执行其所要的操作。如TCP会话劫持,它通过监听和猜测TCP会话双方的ACK,插入包含期待ACK的数据包,能够冒充会话一方达到在远程主机上执行命令的目的。
• 中间人攻击。
当攻击者通过各种技术手段使自己处于目标主机之间时,称之为中间人。中间人在目标主机不知情的情况下监听、截取、篡改或重新路由目标主机之间通信的行为,称为中间人攻击(Man-in-the-middle Attack,MITM),图1-5所示为中间人攻击模型。
图1-5 中间人攻击模型
在中间人攻击中,攻击者(图1-5中的A)可以在一个目标主机(图1-5中的H1)将通信内容发送到另一个目标主机(图1-5中的H2)之前监控和读取通信内容,然后将自己模拟成目标主机与另一个目标主机进行通信,使之能够与真正会话中的目标主机建立活动连接并读取或篡改传递的信息,真正通信的目标主机(即原始计算机用户)却认为它们是在与合法的另一主机进行通信。这样,进行通信的目标主机(H1和H2)就会在不知情的情况下向攻击者发送通信内容,并且当它们接收来自攻击者(A)的通信内容时,还以为自己只是在与预期的另一目标主机(H1或H2)进行通信。上述攻击在实际中出现的情况,攻击者对Active Directory 域服务进行修改以将其服务器添加为受信任的服务器,或对域名系统(DNS)进行修改以使客户端通过攻击者连接到服务器。攻击者可以利用SSL、SSH等网络安全协议的漏洞进行中间人攻击。中间人攻击使用户受到信息被窃取、篡改、删除、会话劫持的威胁。如今,在黑客越来越多地运用技术获取经济利益时,MITM攻击成为对网银、网游、网上交易等最有威胁并且最具破坏性的一种攻击方式。
• 窃听攻击。
窃听是指在未经授权的情况下访问或拦截信息。例如,在网络上传输的文件可能含有机密信息,未经授权的实体就有可能拦截该传输并利用其内容用以谋利。传统的网络通信协议,如FTP、POP和Telnet在传输机制和实现原理上是没有考虑安全机制的,其本质是不安全的。因为它们在网络上用明文来传送文件、用户账号和口令。攻击者通过窃听、数据拦截等网络攻击手段非常容易地就可以截获这些文件、用户账号和口令。网络窃听可以在网络上的任何一个位置,如局域网中的一台主机、网关上,路由设备或交换设备上等。为避免被窃听,通过加密技术可以使传输的信息成为对窃听者不可理解的信息。
• 重放攻击。
重放攻击是指攻击者重现以前合法用户向服务器所发送的数据以获取访问权或其他分配给该用户的权限。加密可以有效防止窃听攻击,但是却防止不了重放攻击。例如,在进行身份认证时,客户端对用户密码先进行哈希运算,再密码的哈希值将发送给服务器。如果密码的哈希值被攻击者获得,那么攻击者即使不需要进行暴力攻击来获得实际的密码,仍然可以通过重复攻击将哈希密码发送给服务器,并通过服务器的认证。
• 探测攻击。
探测攻击又称为扫描攻击,是指利用网络扫描技术发现攻击目标,并对攻击目标可能存在的已知安全漏洞进行逐项检查。探测攻击主要是为了获取目标主机的一些系统信息,一般不具备破坏性。通过扫描可以获取目的主机操作系统的类型、开放的服务和端口、系统上的共享资源等。探测得到的信息为下一步的攻击入侵创造条件。
• 口令攻击。
口令攻击是指攻击者以口令为攻击目标,破解合法用户的口令,或避开口令验证过程,然后冒充合法用户入侵目标网络系统,夺取目标系统控制权的过程。口令是信息系统的第一道防线。当前的信息系统,如系统登录、数据库访问、电子邮件收发等,都是通过口令来验证用户身份、实施访问控制的。因此,攻击者攻击目标时常常把破译用户的口令作为攻击的开始。如果口令攻击成功,攻击者进入了目标信息系统,他就能够随心所欲地窃取、破坏和篡改被侵入方的信息,直至完全控制被侵入方。口令攻击通过多种不同方法实现,包括猜测攻击、字典攻击、暴力攻击(Brute Force Attack)、彩虹攻击、直接破解系统口令文件、嗅探、木马程序和社会工程学(Social Engineering)等。其中,猜测攻击是指使用口令猜测程序进行攻击。口令猜测程序往往根据用户设置密码的习惯猜测用户密码,如名字缩写、生日、宠物名和部门名等。在详细了解用户的社会背景之后,攻击者可以列举出几百种可能的口令,并在很短的时间内就可以完成猜测攻击。如果猜测攻击不成功,攻击者会采用字典攻击继续扩大攻击范围。字典攻击是指攻击者使用一个包含大多数词典单词的文件,并对文件中的所有英文单词进行尝试,程序将按序取出一个又一个的单词,进行一次又一次尝试,直到成功。由于多数人使用普通词典中的单词作为口令,发起词典攻击通常是较好的开端。如果用户的口令不太长或是单词、短语,那么很快就会被破译出来。例如,对于一个有8万个英文单词的集合来说,攻击者不到一分半钟就可试完。如果字典攻击仍然不能够成功,攻击者会采取穷举攻击。穷举攻击是指攻击者根据猜测的口令长度及口令字符集确定所有可能的口令空间,然后对口令空间中的每个口令逐一进行测试,直到出现正确口令。一般从口令长度为1的口令开始,按长度递增进行尝试攻击。由于人们往往偏爱简单易记的口令,穷举攻击的成功率很高。避免以上口令攻击的对策是加强口令策略。当以上口令攻击都不能够奏效时,攻击者会寻找目标主机的安全漏洞和薄弱环节,伺机窃取存放系统口令的文件,然后破译其加密的口令,称为直接破解系统口令文件。嗅探口令攻击是指通过嗅探器在网络中嗅探明文传输的口令字符串。避免此类攻击的对策是网络传输采用加密传输的方式进行。木马程序口令攻击是指在目标系统中安装键盘记录后门,通过记录用户输入的口令字符串获取用户的口令信息。社会工程学口令攻击是指通过人际交往这一非技术手段以欺骗、套取的方式来获得口令。避免此类攻击的对策是加强防范意识。
• 流量分析攻击。
通过加密可使文件变为对攻击者不可解的信息,但是攻击者还可以通过在线监测流量获得一些其他形式的信息,称为流量分析(Traffi c Analysis)。攻击者能够根据数据交换的出现、消失、数量或频率而提取出有用信息。数据交换量的突然改变也可能泄露有用信息。例如,当公司开始出售它在股票市场上的份额时,在消息公开以前的准备阶段中,公司可能与银行有大量通信。因此,对购买该股票感兴趣的人就可以密切关注公司与银行之间的数据流量以了解是否可以购买或卖出。
1.1.4 信息安全威胁
信息系统的安全缺陷和出现的信息安全攻击,使信息系统主要面临着信息被窃取、篡改、伪造和删除的威胁,以及信息的正常运行也面临中断威胁。图1-6所示为互联网信息系统面临的安全威胁类型。
图1-6 信息安全威胁类型
图1-6中的①表示互联网信息系统的正常通信模型。从图1-6中的②可以看出,窃取威胁是指非授权用户通过某种手段获得对信息资源的访问,如通过侦听通信链路从网络上截获他人的通信内容,或者非法登录他人的用户终端获取其存储介质上的数据信息等,它是以破坏数据信息的保密性作为攻击目标。图1-6③中的篡改威胁是指非授权用户不仅获得访问而且对数据进行修改,它是以破坏数据信息的完整性作为攻击目标。攻击者可以修改信息使其对自己有利。例如,某客户为一笔交易给银行发送信息,攻击者即可拦截信息并将其改变为对自己有利的交易形式。或者学生篡改教务系统中的学生成绩。图1-6④中的伪造威胁是指非授权用户将伪造的数据插入到正常传输的数据中,它是以破坏数据信息的鉴别性作为攻击目标,如攻击者伪装或假扮成发送方,在网络上发布/传输虚假或欺骗的信息(如诈骗邮件、QQ诈骗等)。有时攻击者也可能伪装为接收方。例如,当用户设法联系某银行的时候,另外一个地址伪装为银行(如钓鱼网站等),从用户那里得到某些相关的信息。图1-6⑤中的删除威胁是指非授权用户直接删除其他用户的数据信息。图1-6⑥中的中断威胁是以可用性作为攻击目标,它通过破坏网络设备、通信链路或通信终端等系统资源,使网络不可用,最终导致信息通信的中断。
1.1.5 信息安全技术
针对信息安全的不同缺陷,所面临的各种攻击,以及存在的各种威胁,需要用以下不同的信息安全技术来弥补其缺陷,抵御其攻击和消除其威胁。
一、密码技术
密码技术是研究密码学的相关算法,并利用其提供信息的保密性、完整性、鉴别性和不可否认性等安全服务的方法。密码技术包括对称密码算法、公钥密码算法和哈希密码算法。其中,对称密码算法可以对明文信息进行加密。公钥密码算法不仅可以对明文信息进行加密,还能通过数字签名对通信实体进行身份认证。此外,公钥密码算法还能提供密钥的安全管理。哈希密码算法通过哈希摘要值的校验,防止信息的伪造或篡改。
二、身份认证技术
身份认证技术是在信息安全中确认操作者身份过程的方法,提供信息安全的鉴别性和访问控制服务。在信息系统中,包括用户身份的所有信息都是用一组特定的数据来表示,信息系统只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。因此,身份认证技术就是为了解决如何保证以数字身份进行操作的操作者就是这个数字身份的合法拥有者,也就是说保证操作者的物理身份与数字身份相对应。作为信息资产的第一道防护关口,身份认证有着举足轻重的作用。
三、防火墙技术
防火墙技术指根据安全策略和规则,对进出信息系统的数据进行检查、匹配、变换、代理和过滤、隔离等操作,或对信息系统进行信息探测的非法行为进行屏蔽或拒绝的方法,实现对信息的保密性和访问控制服务。防火墙技术包括包过滤防火墙、状态检测防火墙、电路网关防火墙、应用代理防火墙和网络地址转换防火墙。
四、虚拟专用网络技术
虚拟专用网络(Virtual Private Network,VPN)技术指在公共互联网上建立私有的安全通信信道的方法,实现对信息的保密性、鉴别性和访问控制服务。根据VPN工作的协议层次不同,包含有工作在链路层的PPTP、L2F和L2TP VPN,工作在网络层的IPsec VPN,以及工作在传输层的SSL VPN。
五、安全扫描技术
安全扫描是一种基于互联网远程目标检测或信息系统脆弱性检测的技术。根据扫描的信息不同,安全扫描包含主机扫描、端口扫描和漏洞扫描。通过对信息系统的安全扫描,网络管理员能够发现信息系统的各种网络TCP/IP端口的分配、开放的服务、服务软件版本和这些服务及应用软件暴露在互联网上的安全漏洞,并采取相应的防范措施,从而降低信息系统的安全风险。
六、入侵检测技术
入侵检测是一种能够及时发现并报告信息系统中未授权或异常现象,或者违反安全策略行为的技术。它通过收集和分析信息系统行为、安全日志、审计数据来检查信息系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测作为一种积极主动的安全检测技术,提供了对内部攻击、外部攻击和误操作的实时保护,在信息系统受到危害之前拦截和响应入侵。
七、可信计算技术
可信计算技术是指在信息系统的硬件架构上添加可信计算安全芯片模块及相应可信软件,以构建一个操作系统体系之外的可信计算安全平台。中国工程院沈昌祥院士表示,以防外与封堵为特征的传统信息安全系统,难以应对目前主要源自内部的安全威胁,而可信计算技术在硬件平台引入安全芯片架构,能从根本上实现对各种不安全因素的主动防御。