课 程 名:电子信息对抗技术导论
课 程 号:
任课教师:
论文名称:网络攻击与防范
学生学号:
日 期: 2011-4-8
【摘要】随着互联网的发展,在计算机
网络安全领域里,存在一些非法用户利用各
种手段和系统的漏洞攻击计算机网络.网络
安全已经成为人们日益关注的焦点问题网
络中的安全漏洞无处不在,即便旧的安全漏
洞补上了补丁,新的安全漏洞又将不断涌现.
网络攻击是造成网络不安全的主要原因.单
纯掌握攻击技术或者单纯掌握防御技术都
不能适应网络安全技术的发展为了提高计
算机网络的安全性,必须了解计算机网络的
不安全因素和网络攻击的方法同时采取相
应的防御措施。本文分析了网络攻击的几种
手段及其产生的原理,并且就其中的 Web
欺骗攻击和 TCP/IP 欺骗攻击提出了相应的
防范措施。并且详细阐述了个人用户的安全
防护策略
关键词:网络 安全 防火墙 木马 攻击
欺骗 防范
一、网络攻击概述
网络安全是一个永恒的话题,因为计算机只要与网络连接就不可能彻底安全,网络中的安全
漏洞无时不在,随着各种程序的升级换代,往往是旧的安全漏洞补上了,又存在新的安全隐
患,网络攻击的本质实际上就是寻找一切可能存在的网络安全缺陷来达到对系统及资源的损
害。
网络攻击一般分为三个阶段:
第一阶段:获取一个登录账号
对 UNLX 系统进行攻击的首要目标是设法获取登录账号及口令,攻击者一般先试图获取
存在于/etc/passwd 或 NIS 映射中的加密口令文件,得到该口令文件之后,就对其运行
Crack,借助于口令字典,Crack 甚至可以在几分钟内破译一个账号。
第二阶段:获取根访问权
进入系统后,入侵者就会收集各种信息,寻找系统中的种种漏洞,利用网络本身存在的一
些缺陷,设法获取根访问权,例如未加限制的 NFS 允许根对其读和写。利用 NFS 协议,客
户给与服务器的安装守护程序先交换信息,信息交换后,生成对 NFS 守护程序的请求,客
户通过这些请求对服务器上的文件进行读或写操作。因此,当客户机安装文件系统并打开某
个文件时,如果入侵者发出适当各式的 UDP 数据报,服务器就将处理 NFS 请求,同时将结
果回送客户,如果请求是写操作,入侵者旧可以把信息写入服务器中的磁盘。如果是读操作,
入侵者就可以利用其设置于服务器和客户机之间的窥探器了解服务器磁盘中的信息,从而获
得根访问权。
第三阶段:扩展访问权
一旦入侵者拥有根访问权,则该系统即可被用来供给网络上的其他系统。例如:可以对
登录守护程序作修改以便获取口令:增加包窥探仪可获取网络通信口令:或者利用一些独立
软件工具动态地修改 UNLX 内核,以系统中任何用户的身份截击某个终端及某个连接,获
得远程主机的访问权。
二、网络攻击的分析
攻击的种类及其分析
普通的攻击一般可分以下几种:
1 拒绝服务攻击
拒绝服务攻击不损坏数据,而是拒绝为用户服务,它往往通过大量不相关的信息来阻断
系统或通过向系统发出会,毁灭性的命令来实现。例如入侵者非法侵入某系统后,可向与之
相关连的其他系统发出大量信息,最终导致接收系统过载,造成系统误操作甚至瘫痪。这种
供给的主要目的是降低目标服务器的速度,填满可用的磁盘空间,用大量的无用信息消耗系
统资源,是服务器不能及时响应,并同时试图登录到工作站上的授权账户。例如,工作站向
北供给服务器请求 NISpasswd 信息时,攻击者服务器则利用被攻击服务器不能及时响应这
一特点,替代被攻击服务器做出响应并提供虚假信息,如没有口令的纪录。由于被攻击服务
器不能接收或及时接收软件包,它就无法及时响应,工作站将把虚假的响应当成正确的来处
理,从而使带有假的 passwd 条目的攻击者登录成功。
2 同步(SYN)攻击
同步供给与拒绝服务攻击相似,它摧毁正常通信握手关系。在 SYN 供给发生时,攻击
者的计算机不回应其它计算机的 ACK,而是向他发送大量的 SYN ACK 信息。通常计算机
有一缺省值,允许它持特定树木的 SYN ACK 信息,一旦达到这个数目后,其他人将不能初
始化握手,这就意味着其他人将不能进入系统,因此最终有可能导致网络的崩溃。
3 Web 欺骗攻击
Web 欺骗的关键是要将攻击者伪造的 Web 服务器在逻辑上置于用户与目的 Web 服务器
之间,使用户的所有信息都在攻击者的监视之下。一般 Web 欺骗使用两种技术:URL 地址
重写技术和相关信息掩盖技术。
利用 URL 地址重写技术,攻击者重写某些重要的 Web 站点上的所有 URL 地址,使这些
地质均指向攻击者的 Web 服务器,即攻击者可以将自己的 Web 站点的 URL 地址加到所有
URL 地址的前面。例如,设攻击者的 Web 站点的 URL 地址为:,合法 Web
站点上的 URL 地址为 ,经重写后,该地址可以被加到合法 URL 地址
之前,即
当用户与站点进行安全链接时,则会毫无防备地进入攻击者服务器。此时用户浏览器首
先向攻击者服务器请求访问,然后由攻击者服务器向真正的目标服务器请求访问,目标服务
器向攻击服务器传回相关信息,攻击者服务器重写传回页面后再传给用户。此时浏览器呈现
给用户的的确是一个安全链接,但连接的对象却是攻击者服务器。用户向真正 Web 服务器
所提交的信息和真正 Web 服务器传给用户的所有信息均要经过攻击者服务器,并受制于它,
攻击者可以对所有信息进行记录和修改。
由于浏览器一般均设有地址栏和状态栏,当浏览器与某个站点连接时,可以在地址栏中
和状态栏中获取连接中的 Web 站点地址及相关的传输信息,用户可由此发现问题,所以一
般攻击者往往在 URL 地址重写的同时,利用相关信息掩盖技术即一般用的 JavaScript 程序
来地址栏和状态栏信息,以达到其掩盖欺骗的目的。
4 TCP/IP 欺骗攻击
IP 欺骗可发生在 IP 系统的所有层次上,包括硬件数据链路层、IP 层、传输层及应用层
均容易受到影响。如果底层受到损害,则应用层的所有协议都将处于危险之中。另外,由于
用户本身不直接与底层结构相互交流,有时甚至根本没有意识到这些结构的存在,因而对底
层的攻击更具欺骗性。
IP 欺骗供给通常是通过外部计算机伪装成另一台合法机器来实现的。他能破坏两台机器
间通信链路上的正常数据流,也可以在通信链路上插入数据,其伪装的目的在于哄骗网络中
的其他机器误将攻击者作为合法机器而加以接受,诱使其他机器向它发送数据或允许它修改
数据。
由于许多应用程序最初设计时就是把信任建立于发送方 IP 地址的薄,即如果包能够使其
置身沿着陆由到达目的地,并且应答包也可以回到原地,则可以肯定源 IP 地址是有效的。
因此一个攻击者可以通过发送有效 IP 源地址属于另一台机器的 IP 数据报来实施欺骗。
一方面现有路由器的某些配置使得网络更容易受到 IP 欺骗攻击。例如有些路由器不保
护 IP 包端口源的信息,来自端口的所有 IP 包被装入同一个队列然后逐个处理。假如包指示
IP 源地址来自内部网络,则该包可转发。因此利用这一点网络外不用户只要设法表明是一
种内部 IP 地址即可绕过路由器法送报。
另一方面,攻击者使用伪造的 IP 地址发送数据报,不仅可以获取数据报特有的有效请求,
还可以通过预测 TCP 字节顺序号迫使接收方相信其合法而与之进行连接,从而达到 TCP 欺
骗连接。
一个 TCp 连接包括三个阶段:(1)建立连接:(2)数据交换:(3)断开连接。
其中最关键的就是数据交换。TCP 协议为每个数据字节分配自己的顺序号,每个 TCP 头包
含一个顺序域。TCP 数据交换中客户方以发送带有 SYN 标志的 TCP 头为开始,发送一个或
多个 TCP/IP 数据包,接受方回送包含 SYN 及 ACK 标志的头答复送方的SYN头。
初始的顺序号是随机的,当接受方接收到客户的序列号后首先要进行确认,如果确认号
域有效,它就对应于下一个期望数据字节的顺序号,并设置 ACK 标志。攻击者利用伪造的
IP 地址成功地发送数据报后,只是获得这些数据报特有的有效请求,要获得些请求的答复
还必须预测到 TCP 顺序号。攻击者对顺序号的预测是一个估计与猜测的过程。攻击者可以
在客户与服务器之间设置窥探仪来确定初始顺序号,一旦攻击者获取了连接的初始顺序号,
就可以通过估算发送者发送给接收者的 TCP/IP 数据量计算出下一个期望的顺序号,即下一
个期望的顺序号为:数据量+初始顺序号。而事实上,一些 TCP/IP 实现并不完全采用随机
方式分配初始顺序号,而是由一个简单的随机数生成器产生。这种生成器按某种固定的次序
产生数据,因此实际上可能的初始顺序号只能在一个有限的范围内,这样预测起来就会更加
方便。预测获得的顺序号只是一个估计值,它一般可分为三种情况考虑。
第一种情况:预测值正好等于下一顺序号
若伪造的数据保迟于合法数据报到达,且其包含的数据报少于合法数据报,则接收方将
完全丢弃伪造的数据报;如果伪造数据包包含的数据多于合法数据报,则接收方将接收伪造
数据报中顺序号大于合法数据报的那部分内容,同时丢弃顺序号与合法数据报重叠部分的内
容;若伪造的数据报早于合法数据报到达,则接收方将丢弃合法数据报内容。
第二种情况:预测值大于下一个顺序号
在这种情况下,接收方将丢弃其中超过窗口域(即输入缓冲区)中的部分内容,而将前
面部分内容放入缓冲区中,待下一期望顺序号与第一个伪造数据报字节顺序号间的空当被合
法数据填满之后,再未接收方接收。
第三种情况:预测值小于下一个顺序号
在这种情况下,伪造数据报中的前面部分内容肯定会被丢弃,但是如果伪造数据报内容
足够多,则接收方有可能接受其后面的内容。
四、网络攻击方式
1 特洛伊木马
特洛伊木马是一种恶意程序,它们悄悄地在宿主机器上运行,就在用户毫无察觉的情况下,
让攻击者获得了远程访问和控制系统的权限.黑客的特洛伊木马程序事先已经以某种方式潜
入你的机器,并在适当的时候激活,潜伏在后台监视系统的运行,它同一般程序一样,能实现任
何软件的任何功能.例如拷贝、删除文件、格式化硬盘、甚至发电子邮件,典型的特洛伊木马
是窃取别人在网络上的账号和口令,它有时在用户合法的登录前伪造一登录现场,提示用户输
入账号和口令,然后将账号和口令保存至一个文件中,显示登录错误,退出特洛伊木马程序。
完整的木马程序一般由两个部份组成:一个是服务器程序,一个是控制器程序.“中了木马”
就是指安装了木马的服务器程序,若你的电脑被安装了服务器程序,则拥有控制器程序的人就
可以通过网络控制你的电脑、为所欲为。
特洛伊木马程序的检测
(1)通过网络连接检测:扫描端口是检测木马的常用方法.在不打开任何网络软件的前提
下,接入互联网的计算机打开的只有 139 端口.因此可以关闭所有的网络软件。进行 139 端口
的扫描。
(2)通过进程检测:Win/XP 中按下“CTL+ALT+DEL”进入任务管理器,就可以看到系统正在
运行的全部进程,清查可能发现的木马程序。
(3)通过软件检测:用户运行杀毒、防火墙软件和专用木马查杀软件等都可以检测系统中
是否存在已知的木马程序。
特洛伊木马程序的预防
(1)不执行任何来历不明的软件
(2)不随意打开邮件附件
(3)将资源管理器配置成始终显示扩展名
(4)尽量少用共享文件夹
(5)运行反木马实时监控程序
(6)经常升级系统
2 网络监听
网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状
态、数据流动情况以及网络上传输的信息等.当信息以明文的形式在网络上传输时,使用监听
技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传
输的信息截获。
在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当
同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主
机。但这种数据包不能在 IP 层直接发送,必须从 TCP/IP 协议的 IP 层交给网络接口,也就是数
据链路层,而网络接口是不会识别 IP 地址的,因此在网络接口数据包又增加了一部分以太帧
头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地
址,这是一个与 IP 地址相对应的 48 位的地址。
当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在
同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还
能接收到发向与自己不在同一子网(使用了不同的掩码、IP 地址和网关)的主机的数据包。即
在同一条物理信道上传输的所有信息都可以被接收到。正确的使用网络监听技术也可以发现
入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,
成为打击网络犯罪的有力手段。
如何检测并防范网络监听
(1)对于怀疑运行监听程序的机器,用正确的 IP 地址和错误的物理地址 ping,运行监听程
序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处理监听状态的机器能接
收,但如果他的 IPstack 不再次反向检查的话,就会响应。
(2)观测 DNS
许多的网络监听都会进行址反向解析,在怀疑有网络监听发生时可以在 DNS 系统上观
测有没有明显增多的解析请求。
(3)向网上发大量不存在的物理地址的包,由于监听程序要分析和处理大量的数据包会占
用很多的 CPU 资源,这将导致性能下降。通过比较前后该机器性能加以判断。这种方法难度
比较大。
(4)反应时间
向怀疑有网络监听行为的网络发出大量垃圾数据包,根据各个主机回应的情况进行判断,
正常的系统回应的时间应该没有太明显的变化,而处于混杂模式的系统由于对大量的垃圾信
息照单全收,所以很有可能回应时间会发生较大的变化。
(5)利用 arp 数据包进行监测
这种方法是 ping 方式的一种变体,使用 arp 数据包替代了 ICMP 数据包,向主机发送非广
播式的 arp 包,如果主机响应了这个 arp 请求,就可以判断它很可能就处于网络监听模式了,这
是目前相对比较好的监测模式。
(6)使用反监听工具如 Antisniff 软件进行检测 3 缓冲区溢出攻击
缓冲区溢出是指当一个超长的数据进入到缓冲进入到缓冲区时,超出部分就会被写入其
他缓冲区,其他缓冲区存放的可能是数据、下一条指令的指针或者是其他程序的输出内容,这
些内容都被覆盖或被破坏掉。
缓冲区溢出有时又称为堆栈溢出攻击,是过去的十多年里,网络安全漏洞常用的一种形式
并且易于扩充。相比于其他因素,缓冲区溢出是网络受到攻击的主要原因。
(1)编写正确的代码
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。
开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。
(2)非执行的缓冲区
使被攻击程序的数据段址空间不可执行,从而使得攻击都不可能执行被植入的攻击程序
输入缓冲共代码。
(3)数组边界检查
数组边界检查完且没有缓冲共溢出的产生和攻击。这样,只要数组不能被溢出,溢出攻击
也就无从谈起。为了实现数组边界检查,则所有的对数组的读写操作都应当被检查以确保对
数组的操作在正确的范围内。
(4)堆栈溢出检查
使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客
有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器。
(5)操作系统和应用程序检查
经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上
下载并且应用在系统上,这是最好的方法。
4 结束语
网络安全是一个综合性的课题,涉及技术、管理、使用等许多方面,既包括信息系统本身
的安全问题,也有物理的和逻辑的技术措施,一种技术只能解决一方面的问题而不是万能的。
未来的网络安全面临着更大的挑战和机遇,在看一个内部网是否安全时不仅要考察其手段,而
更重要的是对该网络所采取的各种措施,其中不光是物理防范,还有人员的素质等其他“软”因
素,进行综合评估,从而得出是否安全的结论。
参考文献
[1] 冯登国.计算机通信网络安全.北京:清华大学出版社,2001.
[2] 王育民,刘建伟.通信网安全——理论与技术.西安:西安电子科技大学出版社,1999.
[3] 戴英侠,连一峰,王航.系统安全与入侵检测.北京:清华大学出版社.