《计算机网络安全期末复习.ppt》由会员分享,可在线阅读,更多相关《计算机网络安全期末复习.ppt(105页珍藏版)》请在三一办公上搜索。
1、计算机网络安全复习,陈锶奇计算机与信息科学学院,4.2 基于密码的身份认证,4.2.1 密码认证的特点 密码是用户与计算机之间以及计算机与计算机之间共享的一个秘密,在通信过程中其中一方向另一方提交密码,表示自己知道该秘密,从而通过另一方的认证。密码通常由一组字符串来组成,为便于用户记忆,一般用户使用的密码都有长度的限制。但出于安全考虑,在使用密码时需要注意以下几点:(1)不使用默认密码、(2)设置足够长的密码、(3)不要使用结构简单的词或数字组合、(4)增加密码的组合复杂度、(5)使用加密、(6)避免共享密码、(7)定期更换密码,就密码的安全使用来说,计算机系统应该具备下列安全性:(1)入侵者
2、即使取得储存在系统中的密码也无法达到登录的目的。这需要在密码认证的基础上再增加其他的认证方式,如地址认证。(2)通过监听网络上传送的信息而获得的密码是不能用的。最有效的方式是数据加密。(3)计算机系统必须能够发现并防止各类密码尝试攻击。可使用密码安全策略。,4.3 基于地址的身份认证,4.3.1 地址与身份认证 基于IP地址的身份认证:不可靠,也不可取 基于物理地址(如MAC地址)的身份认证较为可靠,目前在计算机网络中的应用较为广泛。4.3.2 智能卡认证 智能卡(Smart Card)也称IC卡,是由一个或多个集成电路芯片(包括固化在芯片中的软件)组成的设备,可以安全地存储密钥、证书和用户数
3、据等敏感信息,防止硬件级别的窜改。智能卡芯片在很多应用中可以独立完成加密、解密、身份认证、数字签名等对安全较为敏感的计算任务,从而能够提高应用系统抗病毒攻击以及防止敏感信息的泄漏。,智能卡具有硬件加密功能,所以安全性性较高。智能卡认证是基于“what you have”的手段,通过智能卡硬件不可复制来保证用户身份不会被仿冒。双因素身份认证,简单地讲是指在身份认证过程中至少提供两个认证因素,如“密码+PIN”等。双因素认证与利用ATM(自动柜员机)取款很相似:用户必须利用持银行卡(认证设备),再输入密码,才能提取其账户中的款项。双因素认证提供了身份认证的可靠性。,4.4 生物特征身份认证,4.4
4、.1 生物特征认证的概念 生物特征认证又称为“生物特征识别”,是指通过计算机利用人体固有的物理特征或行为特征鉴别个人身份。在信息安全领域,推动基于生物特征认证的主要动力来自于基于密码认证的不安全性,即利用生物特征认证来替代密码认证。人的生理特征与生俱来,一般是先天性的。,满足以下条件的生物特征才可以用来作为进行身份认证的依据:普遍性。即每一个人都应该具有这一特征。唯一性。即每一个人在这一特征上有不同的表现。稳定性。即这一特征不会随着年龄的增长和生活环境的改变而改变。易采集性。即这一特征应该便于采集和保存。可接受性。即人们是否能够接受这种生物识别方式。,4.4.2 指纹认证,利用人的生物特征可以
5、实现“以人识人”,其中指纹是人的生物特征的一种重要的表现形式,具有“人人不同”和“终身不变”的特征,以及附属于人的身体的便利性和不可伪造的安全性。指纹认证的特点如下:独特性。稳定性 方便性,图4-2 不同的指纹形状,如图4-3所示,指纹识别的过程包括2个子过程:指纹注册过程和指纹比对过程。其中:指纹采集。图像增强。提取特征值。是指对指纹图案上的特征信息进行选择(如图4-4所示)、编码和形成二进制数据的过程。特征值模板入库。比对匹配。,图4-4 指纹图案信息的选择,4.4.3 虹膜认证,从理论上讲,虹膜认证是基于生物特征的认证方式中最好的一种认证方式。虹膜(眼睛中的彩色部分)是眼球中包围瞳孔的部
6、分(如图4-5所示),上面布满极其复杂的锯齿网络状花纹,而每个人虹膜的花纹都是不同的。虹膜识别技术就是应用计算机对虹膜花纹特征进行量化数据分析,用以确认被识别者的真实身份。,图4-5 虹膜在眼球中的位置,如图4-6所示,一个虹膜识别系统一般由4部分组成:虹膜图像的采集、预处理、特征提取及模式匹配。,图4-6 虹膜识别系统的组成,其中:虹膜图像采集。虹膜图像采集是虹膜识别系统一个重要的且困难的步骤。虹膜图像的预处理。这一操作分为虹膜定位和虹膜图像的归一化两个步骤。虹膜纹理的特征提取。采用转换算法将虹膜的可视特征转换成为固定字节长度的虹膜代码。模式匹配。识别系统将生成的代码与代码数据库中的虹膜代码
7、进行逐一比较,当相似率超过某一个预设置值时,系统判定检测者的身份与某一个样本相符。,4.5 零知识证明身份认证,4.5.1 零知识证明身份认证的概念 零知识证明(zero-knowledge proof)是由在20世纪80年代初出现的一种身份认证技术。零知识证明是指证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或多方的协议,即两方或多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使验证者相信自己知道某一消息或拥有某一物品,但证明过程不需要(也不能够)向验证者泄漏。零知识证明分为交互式零知识证明和非交互式零知识证明两种类型。
8、,4.6 身份认证协议,4.6.1 Kerberos协议 1.Kerberos协议简介 Kerberos是为基于TCP/IP的Internet和Intranet设计的安全认证协议,它工作在Client/Server模式下,以可信赖的第三方KDC(密钥分配中心)实现用户身份认证。在认证过程中,Kerberos使用对称密钥加密算法,提供了计算机网络中通信双方之间的身份认证。Kerberos设计的目的是解决在分布网络环境中用户访问网络资源时的安全问题。,由于Kerberos是基于对称加密来实现认证的,这就涉及到加密密钥对的产生和管理问题。在Kerberos中会对每一个用户分配一个密钥对,如果网络中存
9、在N个用户,则Kerberos系统会保存和维护N个密钥对。同时,在Kerberos系统中只要求使用对称密码,而没有对具体算法和标准作限定,这样便于Kerberos协议的推广和应用。Kerberos已广泛应用于Internet和Intranet服务的安全访问,具有高度的安全性、可靠性、透明性和可伸缩性等优点。目前广泛使用的Kerberos的版本是第4版(v4)和第5版(v5),其中Kerberos v5弥补了v4中存在的一些安全漏洞。,2 Kerberos系统的组成 一个完整的Kerberos系统主要由以下几个部分组成:(1)用户端(Client)。(2)服务器端(Server)。(3)密钥分配
10、中心(Key Distribution Center,KDC)。(4)认证服务器(Authentication Server,AS)。(5)票据分配服务器(Ticket Granting Server,TGS)。(6)票据。(7)时间戳。,3 Kerberos的基本认证过程 Kerberos的基本认证过程如图4-7所示。,图4-7 Kerberos系统认证过程示意图,3 Kerberos的基本认证过程1.客户端向AS发起请求,请求内容是:我是谁(客户端的principal),我要和票据授权服务通信(TGS的principal)等2.AS收到请求后,随机生成一个密码Session Key(Kc,
11、tgs),并生成以下两个Ticket返回给客户端:Tc,tgs=Kc,tgs;tgs_principal;.Kc-该票据是给客户端的,大括号里面为票据中的内容,后面的Kc为客户端的密码,表示该票据用客户端的密码加密了。Ttgs,c=Kc,tgs;client_principal;.Ktgs-该票据是给TGS,大括号里面为票据中的内容,后面的Ktgs为TGS的密码,表示该票据用TGS的密码加密了,只有TGS能解开。3.客户端用自己的密码解开Tc,tgs,得到Kc,tgs,生成一个Authenticator,并给TGS发起请求,请求内容是包括:Authenticator=time_stamp,ch
12、ecksum,.Kc,tgs Ttgs,c-第二步从AS返回的票据 server_principal,.在这个步骤中,Authenticator和Ttgs,c是用于客户端向TGS证明自己身份的,server_principal是客户端需要访问的服务器的名字。,3 Kerberos的基本认证过程4.TGS收到客户端发送的Authenticator和Ttgs,c后,先用自己的密码解开Ttgs,c,得到SessionKey Kc,tgs,然后解开Authenticator,对客户端进行认证。如果客户端通过了认证,TGS生成一个客户端和服务器的SessionKey(Kc,s),同时将组装下面两个票据返
13、回给客户端:Tc,s=Kc,s,server_principal,.Kc,tgs-这是给客户端的票据,Kc,s是客户端与服务器之间的SessionKey,用客户端和TGS之间的SessionKey(Kc,tgs)加密。区别就在这里了,给客户端的票据不再用客户端的密码加密,而是用客户端和Tgs之间的SessionKey加密。Ts,c=Kc,s,client_principal,.Ks-这是给服务器的票据,用服务器的密码加密。5.客户端收到上述两个票据后,用Kc,tgs解开Tc,s得到Kc,s,然后生成一个Authenticator并发送请求给服务器,内容包括:Authenticator=time
14、_stamp,Ts,c_checksum,.Kc,s Ts,c=Kc,s,client_principal,.Ks。6.服务器收到请求后,用自己的密码解开Ts得到Kc,s,然后用Kc,s解开Authenticator对客户端进行认证。服务器也可选择性的返回如下信息给客户端来完成双向认证:plain view plain copy 在CODE上查看代码片派生到我的代码片 time_stampKc,s 这是客户端首次认证的流程,通常客户端会在第2步的时候把相应的票据保存下来,在以后客户端需要认证别的服务器的时候就不需要前面两步,直接从第3步开始。,4.6.2 SSL协议,1、SSL协议概述 SSL
15、是一种点对点之间构造的安全通道中传输数据的协议,它运行在传输层之上、应用层之下,是一种综合利用对称密钥和公开密钥技术进行安全通信的工业标准。在通信过程中,允许一个支持SSL协议的服务器在支持SSL协议的客户端使协议本身获得信任,使客户端得到服务器的信任,从而在两台机器间建立一个可靠的传输连接。,4.6.2 SSL协议,SSL协议主要提供了3个方面的安全服务。认证。利用数字证书技术和可信任的第三方认证机构,为客户机和服务器之间的通信提供身份认证功能,以便于彼此之间进行身份识别。机密性。在SSL客户机和服务器之间传输的所有数据都经过了加密处理,以防止非法用户进行窃取、篡改和冒充。完整性。SSL利用
16、加密算法和Hash函数来保证客户机和服务器之间传输的数据的完整性。,如图4-8所示,SSL协议分为上下两部分:上层为SSL握手协议,下层为SSL记录协议。其中SSL握手协议主要用来建立客户机与服务器之间的连接,并协商密钥;而SSL记录协议则定义了数据的传输格式。,图4-8 SSL协议栈的组成,2.SSL握手协议 SSL握手协议提供了客户机与服务器之间的相互认证,协商加密算法,用于保护在SSL记录中发送的加密密钥。握手协议在任何应用程序的数据传输之前进行。如图4-9描述了SSL握手协议一次握手的操作过程。,图4-9 SSL握手协议的操作过程,3.SSL记录协议 SSL记录协议建立在可靠的传输层协
17、议(如TCP)之上,为高层协议(如HTTP、FTP等)提供数据封装、压缩、加密等基本功能的支持。如图4-10所示描述了SSL记录协议的操作过程。,图4-10 SSL记录协议的操作过程,其中,该SSL记录头由如图4-11所示的几个字段组成。,图4-11 SSL记录协议字段,4.SSL协议的特点 SSL是一个通信协议。为了实现安全性,SSL的协议描述比较复杂,具有较完备的握手过程。这也决定了SSL不是一个轻量级的网络协议。另外,SSL还涉及到大量的计算密集型算法:非对称加密算法,对称加密算法和数据摘要算法。IETF将SSL进行了标准化,即RFC 2246,并将其称为TLS(Transport La
18、yer Security)。从技术上讲,TLSv1.0与SSLv3.0的差别非常小。,TCP/IP是一个协议簇或协议栈,它是由多个子协议组成的集合。图5-3列出了TCP/IP体系中包括的一些主要协议以及与TCP/IP体系的对应关系。,图5-3 TCP/IP体系中的主要协议及与各层的对应关系,5.1.2 TCP/IP各层的主要功能,TCP/IP体系也称为TCP/IP参考模型,该模型从下到上共分为网络接口层、网际层、传输层和应用层,共4个子层。各层的主要功能如下。1 网络接口层 在TCP/IP参考模型中,网络接口层属于最低的一层,它负责通过网络发送和接收分组。2 网际层 网际层也称为“互联网络层”
19、,它相当于OSI参考模型网络层的无连接网络服务。网际层的任务是:允许位于同一网络或不同网络中的两台主机之间以分组的形式进行通信。,3 传输层 在TCP/IP参考模型中,传输层位于网际层与应用层之间,其设计目标是:允许在源和目的主机的对等体之间进行会话,负责会话对等体的应用进程之间的通信。TCP/IP参考模型的传输层功能类似于OSI参考模型传输层的功能。4 应用层 应用层属于TCP/IP参考模型的最高层。应用层主要包括根据应用需要开发的一些高层协议,如telnet、FTP、SMTP、DNS、SNMP、HTTP等。而且,随着网络应用的不断发展,新的应用层协议还会不断出现。,5.2.2 ARP欺骗,
20、1 ARP欺骗的概念和现状 由于ARP协议在设计中存在的主动发送ARP报文的漏洞,使得主机可以发送虚假的ARP请求报文或响应报文,报文中的源IP地址和源MAC地址均可以进行伪造。在局域网中,即可以伪造成某一台主机(如服务器)的IP地址和MAC地址的组合,也可以伪造成网关的IP地址和MAC地址的组合,等等。,2 针对计算机的ARP欺骗 如图5-8所示,假设主机A向主机B发送数据。在主机A中,当应用程序要发送的数据到了TCP/IP参考模型的网际层与网络接口层之间时,主机A在ARP缓存表中查找是否有主机B的MAC地址(其实是主机B的IP地址与MAC地址的对应关系),如果有,则直接将该MAC地址(22
21、-22-22-22-22-22)作为目的MAC地址添加到数据单元的网络首部(位于网络接口层),成为数据帧。在局域网(同一IP网段,如本例的)中,主机利用MAC地址作为寻址的依据,所以主机A根据主机B的MAC地址,将数据帧发送给主机B。,图5-8 主机中IP地址与MAC地址的对应关系示意图,如果主机A在ARP缓存表中没有找到目标主机B的IP地址对应的MAC地址,主机A就会在网络上发送一个广播帧,该广播帧的目的MAC地址是“FF.FF.FF.FF.FF.FF”,表示向局域网内的所有主机发出这样的询问:IP地址为的MAC地址是什么?在局域网中所有的主机都会接收到该广播帧,但在正常情况下因为只有主机B
22、的IP地址是,所以主机B会对该广播帧进行ARP响应,即向主机A发送一个ARP响应帧:我(IP地址是)的MAC地址是22-22-22-22-22-22。,如果现在主机D要对主机A进行ARP欺骗,冒充自己是主机C。具体实施中,当主机A要与主机C进行通信时,主机D主动告诉主机A自己的IP地址和MAC地址的组合是“192.168.1.3+44-44-44-44-44-44”,这样当主机A要发送给主机C数据时,会将主机D的MAC地址44-44-44-44-44-44添加到数据帧的目的MAC地址中,从而将本来要发给主机C的数据发给了主机D,实现了ARP欺骗。在整个ARP欺骗过程中,主机D称为“中间人”(m
23、an in the middle),对这一中间人的存在主机A根本没有意识到。,通过以上的ARP欺骗,使主机A与主机C之间断开了联系。如图5-9所示,现在假设主机C是局域网中的网关,而主机D为ARP欺骗者。这样,当局域网中的计算机要与其他网络进行通信(如访问Internet)时,所有发往其他网络的数据全部发给了主机D,而主机D并非真正的网关,这样整个网络将无法与其他网络进行通信。这种现象在ARP欺骗中非常普遍。,图5-9 ARP欺骗的实现过程,3 针对交换机的ARP欺骗 交换机的工作原理是通过主动学习下连设备的MAC地址,并建立和维护端口和MAC地址的对应表,即交换机中的MAC地址表。通过MAC
24、地址表,实现下连设备之间的通信。交换机中的MAC地址表也称为CAM(Content Addressable Memory,内容可寻址存储器),如图5-10所示。,图5-10 交换机中的MAC地址表,在进行ARP欺骗时,ARP欺骗者利用工具产生欺骗MAC,并快速填满CAM表。交换机的CAM表被填满后,交换机便以广播方式处理通过交换机的数据帧,这时ARP欺骗者可以利用各种嗅探攻击获取网络信息。CAM表被填满后,流量便以洪泛(Flood)方式发送到所端口,其中交换机上连端口(Trunk端口)上的流量也会发送给所有端口和邻接交换机。这时的交换机其实已成为一台集线器。与集线器不同,由于交换机上有CPU和
25、内存,大量的ARP欺骗流量会给交换机产生流量过载,其结果是下连主机的网络速度变慢,并造成数据包丢失,甚至产生网络瘫痪。,5.3 DHCP安全,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个客户机/服务器协议,在TCP/IP网络中对客户机动态分配和管理IP地址等配置信息,以简化网络配置,方便用户使用及管理员的管理。,5.3.1 DHCP概述,一台DHCP服务器可以是一台运行Windows 2000 Server、UNIX或Linux的计算机,也可以是一台路由器或交换机。DHCP的工作过程如图5-13所示。,图5-13 DHCP的工作过程
26、,5.3.2 DHCP的安全问题,在通过DHCP提供客户端IP地址等信息分配的网络中存在着一个非常大的安全隐患:当一台运行有DHCP客户端程序的计算机连接到网络中时,即使是一个没有权限使用网络的非法用户也能很容易地从DHCP服务器获得一个IP地址及网关、DNS等信息,成为网络的合法使用者。由于DHCP客户端在获得DHCP服务器的IP地址等信息时,系统没有提供对合法DHCP服务器的认证,所以DHCP客户端从首先得到DHCP响应(DHCPOFFER)的DHCP服务器处获得IP地址等信息。,如图5-14所示,一台非法DHCP服务器接入到了网络中,并“冒充”为一这个网段中的合法DHCP服务器。,图5-
27、14 非法DHCP服务器的工作原理,5.5 DNS安全,为了解决主机IP地址与主机名之间的对应关系,InterNIC(Internet Network Information Center,Internet网络信息中心)制定了一套称为域名系统(Domain Name System,DNS)的分层名字解析方案,当DNS用户提出IP地址查询请求时,就可以由DNS服务器中的数据库提供所需的数据。DNS技术目前已广泛地应用于Internet和Intranet中。,5.5.1 DNS概述,1 DNS的功能及组成 简单地讲,DNS协议的最基本的功能是对主机名与对应的IP地址之间建立映射关系。例如,新浪网站
28、的一个IP地址是,几乎所有浏览该网站的用户都是使用,而并非使用IP地址来访问。使用主机名(域名)比直接使用IP地址具有以下两点好处:主机名便于记忆,如。数字形式的IP地址可能会由于各种原因而改变,而主机名可以保持不变。,图5-32显示了顶级域的名字空间及下一级子域之间的树型结构关系,图中的每一个节点以及其下的所有节点叫做一个域。域可以有主机(计算机)和其他域(子域)。例如,在图5-32中,就是一个主机,而则是一个子域。一般在子域中含有多个主机,例如,子域下就含有和两台主机。,图5-32 Internet的域名结构,2 DNS的解析过程 现在假设客户端Web浏览器要访问网站,整个访问过程如图5-
29、33所示。,图5-33 Internet上对的访问过程,5.5.2 DNS的安全问题,1缓存中毒 DNS缓存中毒利用了DNS缓存机制,在DNS服务器的缓存中存入大量错误的数据记录主动供用户查询。由于缓存中大量错误的记录是攻击者伪造的,而伪造者可能会根据不同的意图伪造不同的记录,例如将查询指向某一个特定的服务器,使所有通过该DNS查询的用户都访问某一个网站的主页;或将所有的邮件指向某一台邮件服务器,拦截利用该DNS进行解析的邮件,等等。由于DNS服务器之间会进行记录的同步复制,所以在TTL内,缓存中毒的DNS服务器有可能将错误的记录发送给其他的DNS服务器,导致更多的DNS服务器中毒。正如DNS
30、的发明者Paul Mockapetris所说:中毒的缓存就像是“使人们走错方向的假冒路牌”。,2 拒绝服务攻击 DNS服务器在互联网中的关键作用使它很容易成为攻击者进行攻击的目标,加上DNS服务器对大量的攻击没有相应的防御能力,所以攻击过程很容易实现,且造成的后果非常严重。现在使用的DNS采用了树型结构,一旦DNS服务器不能提供服务,其所辖的子域都将无法解析客户端的域名查询请求。3 域名劫持 域名劫持通常是指通过采用非法手段获得某一个域名管理员的账户和密码,或者域名管理邮箱,然后将该域名的IP地址指向其他的主机(该主机的IP地址有可能不存在)。域名被劫持后,不仅有关该域名的记录会被改变,甚至该
31、域名的所有权可能会落到其他人的手里。,5.5.3 DNS安全扩展(DNSSEC),1 DNSSEC的基本原理 域名系统安全扩展(DNSSEC)是在原有的域名系统(DNS)上通过公钥技术,对DNS中的信息进行数字签名,从而提供DNS的安全认证和信息完整性检验。具体原理为:发送方:首先使用Hash函数对要发送的DNS信息进行计算,得到固定长度的“信息摘要”;然后对“信息摘要”用私钥进行加密,此过程实现了对“信息摘要”的数字签名;最后将要发送的DNS信息、该DNS信息的“信息摘要”以及该“信息摘要”的数字签名,一起发送出来。,接收方:首先采用公钥系统中的对应公钥对接收到的“信息摘要”的数字签名进行解
32、密,得到解密后的“信息摘要”;接着用与发送方相同的Hash函数对接收到的DNS信息进行运算,得到运算后的“信息摘要”;最后,对解密后的“信息摘要”和运算后的“信息摘要”进行比较,如果两者的值相同,就可以确认接收到的DNS信息是完整的,即是由正确的DNS服务器得到的响应。,2 DNSSEC的工作机制 如图5-34所示的是一个DNSSEC系统的查询和应答过程。其中,系统中的所有客户端和服务器都支持DNSSEC,区域的权威名字服务器为,区域的权威名字服务器为。,图5-34 DNSSEC系统的查询和应答过程,3 DNSSEC的应用现状 DNSSEC作为对目前DNS的安全扩展,可有效地防范DNS存在的各
33、种攻击,保证客户端收到的DNS记录的真实性和完整性。此外,DNSSEC与原有的DNS具有向下的兼容性,在实现上具有可行性。但是,由于Internet的特殊性,就像从IPv4到IPv6的迁移一样,从DNS到DNSSEC的转换不可能在短期内完成,需要一个渐进的过程。可以先有针对性地建立一些安全区域,如.cn、.net等,然后再向其他区域扩展。当整个Internet部署了DNSSEC后,所有的信任将集中到根域下。,目前在推广DNSSEC上存在许多问题或困难:一是由于整个Internet上的DNS记录非常庞大,如果要部署适用于整个Internet的DNSSEC,需要投入大量时间和设备投入,同时还要得到
34、所有区域服务器提供商的支持;二是DNSSEC只是提供了对DNS记录真实性的验证,只是有限的程度上为用户通信的安全提供了保证;三是DNSSEC在DNS请求和应答中添加了数字签名,一方面增加了通信的流量和复杂性,另一方面安全性主要依赖于公钥技术的安全性,所以对于DNSSEC系统来说是否会存在新的安全问题也是一个未知数。,6.1 计算机病毒概述,6.1.1 计算机病毒的概念 计算机病毒(virus)的传统定义是指人为编制或在计算机程序中插入的破坏计算机功能或者毁坏数据、影响计算机使用、并能自我复制的一组计算机指令或者程序代码。现在计算机病毒的定义已远远超出了以上的定义,其中破坏的对象不仅仅是计算机,
35、同时还包括交换机、路由器等网络设备;影响的不仅仅是计算机的使用,同时还包括网络的运行性能。就像许多生物病毒具有传染性一样,绝大多数计算机病毒具有独特的复制能力和感染良性程序的特性。,6.1.2 计算机病毒的特征,1 非授权可执行性 由于计算机病毒具有正常程序的一切特性:可存储性和可执行性,当计算机病毒隐藏在合法的程序或数据中,在用户运行正常程序时,病毒便会伺机窃取到系统的控制权,并得以抢先运行。2 隐蔽性 计算机病毒是一种由编程人员编写的短小精悍的可执行程序。它通常附着在正常程序或磁盘的引导扇区中,同时也会存储在表面上看似损坏的磁盘扇区中,因此计算机病毒具有非法可存储性。,3传染性 传染性是计
36、算机病毒最重要的特征,也是各类查病毒软件判断一段程序代码是否为计算机病毒的一个重要依据。病毒程序一旦侵入计算机系统就开始搜索可以传染的程序或者磁介质,然后通过自我复制迅速进行传播。4 潜伏性 计算机病毒具有依附于其他程序的能力,所以计算机病毒具有寄生能力。将用于寄生计算机病毒的程序(良性程序)称之为计算机病毒的宿主。,5 破坏性 无论是何种病毒程序,一旦侵入计算机系统都会对操作系统的运行造成不同程度的影响。即使不直接产生破坏作用的病毒程序也要占用系统的资源(如内存空间、磁盘存储空间等)。6 可触发性 计算机病毒一般都有一个或者几个触发条件,当满足该触发条件后计算机病毒便会开始发作。,6.1.3
37、 计算机病毒的分类,1 文件传染源病毒 文件传染源病毒感染程序文件。这些病毒通常感染可执行代码,例如.com 和.exe 文件等。2 引导扇区病毒 引导扇区病毒感染磁盘的系统区域,即软盘、U盘和硬盘的引导记录。3 主引导记录病毒 主引导记录病毒是内存驻留型病毒,它感染磁盘的方式与引导扇区病毒相同。这两种病毒类型的区别在于病毒代码的位置。,4 复合型病毒 复合型病毒同时感染引导记录和程序文件,并且被感染的记录和程序较难修复。5 宏病毒 宏病毒是目前最常见的病毒类型,它主要感染数据文件。随着Microsoft Office 97中Visual Basic的出现,编写的宏病毒不仅可以感染数据文件,还
38、可以感染其他文件。宏病毒可以感染Microsoft Office Word、Excel、PowerPoint 和 Access 文件。现在,这类新威胁也出现在其他程序中。,6.4.2 木马的隐藏方式,1 在“任务栏”里隐藏 这是木马最常采用的隐藏方式。为此,如果用户在Windows的“任务栏”里发现莫名其妙的图标,应怀疑可能是木马程序在运行。但现在的许多木马程序已实现了在任务栏中的隐藏,当木马运行时已不会在任务栏中显示其程序图标。2在“任务管理器”里隐藏 在任务栏的空白位置单击鼠标右键,在出现的快捷菜单中选择“任务管理器”,打开其“进程”列表,就可以查看正在运行的进程。,3隐藏通信方式 隐藏通
39、信也是木马经常采用的手段之一。这种连接一般有直接连接和间接连接两种方式,其中“直接连接”是指攻击者通过客户端直接接人植有木马的主机(服务器端);而“间接连接”即是如通过电子邮件、文件下载等方式,木马把侵入主机的敏感信息送给攻击者。4 隐藏加载方式 木马在植入主机后如果不采取一定的方式运行也就等于在用户的计算机上拷入了一个无用的文件,为此在木马值入主机后需要司机运行。,5通过修改系统配置文件来隐藏 木马可以通过修改VXD(虚拟设备驱动程序)或DLL(动态链接库)文件来加载木马。6 具有多重备份功能 现在许多木马程序已实现了模块化,其中一些功能模块已不再由单一的文件组成,而是具有多重备份,可以相互
40、恢复。当用户删除了其中的一个模块文件时,其他的备份文件就会立即运行。这类木马很难防治。,6.4.3 木马的种类,1 远程控制型木马 远程控制型木马一般集成了其他木马和远程控制软件的功能,实现对远程主机的入侵和控制,包括访问系统的文件,截取主机用户的私人信息(包括系统帐号、银行账号等)。2 密码发送型木马 密码发送型木马是专门为了窃取别人计算机上的密码而编写的,木马一旦被执行,就会自动搜索内存、Cache、临时文件夹以及其他各种包含有密码的文件。,3键盘记录型木马 键盘记录型木马的设计目的主要是用于记录用户的键盘敲击,并且在日志文件(log文件)中查找密码。该类木马分别记录用户在线和离线状态下敲
41、击键盘时的按键信息。4 破坏型木马 破坏型木马的功能比较单一,即破坏已植入木马的计算机上的文件系统,轻则使重要数据被删除,重则使系统崩溃。,5 DoS攻击型木马 随着DoS(Denial of Service,拒绝服务)和DDoS(Distributed Denial of Service,分布式拒绝服务)攻击越来越广泛的应用,与之相伴的DoS攻击型木马也越来越流行。当黑客入侵了一台主机并植入了DoS攻击型木马,那么这台主机就成为黑客进行DoS攻击的最得力助手。黑客控制的主机越多,发起的DoS攻击也就越具有破坏性。6 代理型木马 代理型木马被植入主机后,像DoS攻击型木马一样,该主机本身不会遭
42、到破坏。,7 FTP木马 FTP木马使用了网上广泛使用的FTP功能,通过FTP使用的TCP 21端口来实现主机之间的连接。现在新型的FTP木马还加上了密码功能,这样只有攻击者本人才知道正确的密码,从而进入对方的计算机。8 程序杀手木马 程序杀手木马的功能就是关闭对方计算机上运行的某些程序(多为专门的防病毒或防木马程序),让其他的木马安全进入,实现对主机的攻击。,9 反弹端口型木马 反弹端口型木马主要是针对防火墙而设计的。反弹端口型木马的服务端使用主动端口,客户端使用被动端口。木马定时监测控制端的存在,发现控制端可以连接后便立即弹出端口来主动连接控制端打开的主动端口。多数反弹端口型木马被动端口设
43、置为80端口以避开用户使用端口扫描软件发现木马的存在。,6.4.4 系统中值入木马后的症状,1 随意弹出窗口 虽然用户的计算机已经连接在网上,但即没有打开任何的浏览器。这时,如果系统突然会弹出一个上网窗口,并打开某一个网站,这时有可能运行了木马。2 系统配置参数发生改变 有的时候,用户使用的Windows操作系统的配置参数(如屏幕保护、时间和日期显示、声音控制、鼠标的形状及灵敏度、CD-ROM的自动运行程序等)莫名其妙地被自动更改。,3 频繁地读写硬盘 在计算机上并未进行任何操作时,如果系统频繁地读写硬盘(硬盘指示灯会不停地闪烁),有时软盘驱动器也会经常自己读盘,这时可能有木马在运行。,7.1
44、 网络攻击概述,7.1.1 网络入侵与攻击的概念 网络入侵是一个广义上的概念,它是指任何威胁和破坏计算机或网络系统资源的行为,例如非授权访问或越权访问系统资源、搭线窃听网络信息等。入侵行为的人或主机称为入侵者。一个完整的入侵包括入侵准备、攻击、侵入实施等过程。而攻击是入侵者进行入侵所采取的技术手段和方法,入侵的整个过程都伴随着攻击,有时也把入侵者称为攻击者。,入侵者(或攻击者)所采用的攻击手段主要有以下八种特定类型。冒充。将自己伪装成为合法用户(如系统管理员),并以合法的形式攻击系统。重放。攻击者首先复制合法用户所发出的数据(或部分数据),然后进行重发,以欺骗接收者,进而达到非授权入侵的目的。
45、篡改。服务拒绝。中止或干扰服务器为合法用户提供服务或抑制所有流向某一特定目标的数据。内部攻击。利用其所拥有的权限对系统进行破坏活动。,外部攻击。通过搭线窃听、截获辐射信号、冒充系统管理人员或授权用户、设置旁路躲避鉴别和访问控制机制等各种手段入侵系统。陷阱门。首先通过某种方式侵入系统,然后安装陷阱门(如值入木马程序)。并通过更改系统功能属性和相关参数,使入侵者在非授权情况下能对系统进行各种非法操作。特洛伊木马。这是一种具有双重功能的客户/服务体系结构。特洛伊木马系统不但拥有授权功能,而且还拥有非授权功能,一旦建立这样的体系,整个系统便被占领。,7.1.2 拒绝服务攻击,1 死亡之ping 死亡之
46、ping(ping of death)是最常使用的拒绝服务攻击手段之一,它利用ping(Packet Internet Groper)命令来发送不合法长度的测试包来使被攻击者无法正常工作。,2 泪滴 如果一个攻击者打破这种正常的分片和重组IP数据包的过程,把偏移字段设置成不正确的值(假如,把上面的偏移设置为0,1300,3000),在重组IP数据包时可能会出现重合或断开的情况,就可能导致目标操作系统崩溃。这就是所谓的泪滴(teardrop)攻击。防范泪滴攻击的有效方法是给操作系统安装最新的补丁程序,修补操作系统漏洞。同时,对防火墙进行合理地设置,在无法重组IP数据包时将其丢弃,而不进行转发。,
47、3 ICMP泛洪 ICMP泛洪(ICMP flood)是利用ICMP报文进行攻击的一种方法。如果攻击者向目标主机发送大量的ICMP ECHO报文,将产生ICMP泛洪,目标主机会将大量的时间和资源用于处理ICMP ECHO报文,而无法处理正常的请求或响应,从而实现对目标主机的攻击。防范ICMP泛洪的有效方法是对防火墙、路由器和交换机进行相应地设置,过滤来自同一台主机的、连续的ICMP报文。,4 UDP泛洪 UDP泛洪(UDP flood)的实现原理与ICMP泛洪类似,攻击者通过向目标主机发送大量的UDP报文,导致目标主机忙于处理这些UDP报文,而无法处理正常的报文请求或响应。,5 Land攻击
48、LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标主机发送一个用于建立请求连接的TCP SYN报文而实现对目标主机的攻击。与正常的TCP SYN报文不同的是:LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标主机的IP地址。这样目标主机接在收到这个SYN报文后,就会向该报文的源地址发送一个ACK报文,并建立一个TCP连接控制结构,而该报文的源地址就是自己。由于目的IP地址和源IP地址是相同的,都是目标主机的IP地址,因此这个ACK报文就发给了目标主机本身。,6Smurf攻击 在网络连通性诊断中我们通常使用ICMP ECHO,当一台主机接收到这样一个报文后,会向报文的源地址
49、回应一个ICMP ECHO REPLY。在TCP/IP网络中,一般情况下主机不会检查该ICMP ECHO请求的源地址。利用该“漏洞”,攻击者可以把ICMP ECHO的源地址设置为一个广播地址或某一子网的IP地址,这样目标主机就会以广播形式回复ICMP ECHO REPLY,导致网络中产生大量的广播报文,形成广播风暴,轻则影响网络的正常运行,重则由于耗用过量的网络带宽和主机(如路由器、交换机等)资源,导致网络瘫痪。将这种利用虚假源IP地址进行ICMP报文传输的攻击方法称为smurf攻击。,8 电子邮件炸弹 电子邮件炸弹(E-Mail Bomb)是指电子邮件的发送者利用某些特殊的电子邮件软件,在很
50、短时间内连续不断地将大容量的电子邮件发送给同一个收件人,而一般收件人的邮箱容量是有限的,同时电子邮件服务器也很难接收这些数以千万计的大容量信件,其结果是导致电子邮件服务器不堪重负,最终崩溃。,7.2 DoS和DDoS攻击与防范,DoS(Denial of Service,拒绝服务)和DDoS(Distributed Denial of Service,分布式拒绝服务)是两种常见的攻击方式,虽然实现原理比较简单,但产生的破坏性却较强。,6.2.1 DoS攻击的概念,DoS攻击的目的就是让被攻击主机拒绝用户的正常服务访问,破坏系统的正常运行,最终使用户的部分Internet连接和网络系统失效。最基