攻击原理范文

2024-09-20

攻击原理范文(精选10篇)

攻击原理 第1篇

1.1 木马的概念

木马指的是隐藏在正常程序中的一段具有特殊功能的代码, 实质上是一种远程控制软件, 是一种未经用户授权, 利用网络欺骗或者攻击的手段装入目标计算机中。木马用表面的有趣的、有用的功能来吸引人, 但实际上暗含一些不为人知的功能, 如复制文件或者删除文件等。

服务器程序和控制器程序共同组成了完整的木马程序, 其与病毒有着本质的区别, 不具备传染性, 不以破坏为主要目的, 而是攻击者有目的地将其植入目标计算机进而通过网络对个人信息进行相关操作, 危害存储在计算机中的文件、数据、程序等的安全, 但是木马和病毒有着一些相同点, 它十分隐蔽不易被人们发现, 极具危害性, 在短时间内可以使得大片计算机系统瘫痪, 也被人称作黑客病毒。

1.2 木马的工作原理

木马基于客户和服务器的远程控制黑客程序, 控制者在服务器端通过有趣的应用骗取用户执行相应程序, 将木马程序植入计算机系统内部, 而在客户端黑客可以利用网络进行远程监控或者操作, 获取计算机系统内部的信息就十分便捷。

典型的木马原理就是当服务器端在目标计算机上被执行后, 木马打开一个默认的端口进行监听, 当客户机向服务器提出连接要求, 服务器上的相关程序就会自动运行来应答客户机的请求, 服务器端程序与客户端建立连接后, 由客户端发出指令, 服务器在计算机中执行这些指令, 将数据传递给客户端, 进而就能够控制主机。

2 木马的分类

互联网不断发展的今天, 已涌现出数以千计的木马, 下列是一些典型的木马, 对这些木马有一个较为系统的了解才可以更好地防范木马的恶意攻击。

2.1 传统EXE程序文件木马

传统EXE程序文件木马指的是存在最普遍、以.exe文件运行的木马。这种木马通常是以电子邮件作为载体, 将木马伪装成图片、视频等吸引眼球的内容, 骗取警惕性差的用户点开附在邮件上的木马, 也可以利用捆绑的方式达到植入木马的目的, 例如冰河这种以.exe结尾的木马程序文件, 这种木马在运行时会产生进程, 很容易被杀毒软件发现进而被消除。

2.2 传统DLL/.sys木马

DLL/.sys木马利用内核驱动或者系统启动作为运行的载体, 挂在调用它的程序进程中, 不易被杀毒软件查到。在Windows中多数的DLL木马在远程线程技术的支持下将自己挂在系统进程中, 只有进程结束运行时木马才会随之停止。

2.3 溢出型木马

这种类型的木马有着多种实现方式和优势, 是近阶段涌现的较新的木马类型。程序开发的过程中很容易出现系统漏洞, 这时候溢出型木马就会将实现自身功能的shellcode写入缓冲区空间, 实现对计算机系统的远程控制。溢出型木马代码量少、寄生性强、隐蔽性好, 是一种很难发现和清除的新型木马。

3 木马的功能

常见的木马有着各自不同的功能, 可以被用作远程控制器、HTTP服务器或者键盘记录器, 一些大型木马甚至还具备反侦测的能力, 可以隐蔽于各种不起眼的程序中, 功能十分全面。其主要功能如下。

3.1 远程文件管理功能

木马被控制者接入计算机系统后, 可以十分轻易地连接对方的计算机, 对计算机内存储的文件、数据等内容进行下载、复制、删除或者损坏。

3.2 打开网络服务功能

远程计算机使用的网络服务功能, 可以轻而易举地为控制者使用。

3.3 远程监视屏幕功能

木马具有远程监视屏幕的功能, 截取远程计算机上显示的内容, 控制者就可以在千里之外查看远程用户在进行哪些类型的操作, 同时远程用户还无法发觉这一操作。

3.4 远程控制计算机功能

植入木马后, 控制者就可以通过远程监视窗口或者相应的命令对计算机进行远程控制, 如打开文件、下载数据等操作。

4 木马的攻击步骤

木马攻击的步骤主要分为以下几点。

4.1 配置木马

木马主要是基于客户端和服务器端的程序, 在这一环节分为主动植入和被动植入, 主动植入是指攻击者掌握主动权, 将木马安装到需要控制的电脑主机上, 而被动植入是指攻击者通过恶意攻击将木马植入到电脑主机上, 用户是不知情的, 可以通过程序捆绑、邮件等方式。

4.2 传播木马

电子邮件是早期的木马植入方式, 攻击者通过发送电子邮件入侵电脑主机, 进而获取相应的重要数据。软件下载是传播木马的另一重要方式, 系统内部在运行的过程中会存在诸多漏洞, 电脑的使用者在下载软件时很容易就将捆绑在软件上的木马程序安装到电脑上, 这些非正规的软件很容易给电脑的安全埋下隐患。

4.3 运行木马

电脑的使用者在运行相应程序时, 很容易同时运行捆绑在其中的木马程序, 有很大一部分木马可以通过杀毒软件清除, 但是很难清除功能全面、占据面积大的木马, 当攻击者利用不法手段进行远程控制时, 就会如入无人之地, 信息的安全性就很难保证。

5 木马的防御技术

目前木马的防御主要是利用网络防火墙和杀毒软件的方式, 网络防火墙主要是在网络通信的过程中封锁木马, 而杀毒软件则是识别木马的特征来进行判断。尽管在国内涌现出形形色色的防火墙和杀毒软件, 但是还是不能彻底消除木马, 主要是因为其自身的隐蔽性和非授权性, 多数的软件还做不到完全识别病毒和木马, 技术的局限性是无法彻底消灭木马的主要原因。可以从以下几方面进行防御。

5.1 培养风险意识

互联网上为用户提供了各种免费的、有趣味的、共享的软件, 浏览者应有选择地去正规的网站下载或者浏览软件, 木马程序中很可能就附带在那些吸引眼球的软件或者游戏中, 对于来历不明的软件最好不要在个人的电脑或者企业的电脑中使用。电脑上要适当安装一些反病毒软件, 或者安装一些性能较好的防火墙, 一旦发现电脑在下载软件的过程中存在异常情况, 如蓝屏、死机, 就要使用杀毒软件进行查杀, 在第一时间内找到并且努力消灭木马程序, 减少因黑客恶意攻击造成的损失。

5.2 端口扫描和连接检查

木马服务端在系统中监听某个端口, 因此, 可以利用扫描端口检查木马的存在, 可以有效搜寻到木马的踪迹。在操作系统内部可以使用.netstat-na命令行查看已经正在监听的端口和已经建立的连接, 同时也可以查看连接的远程主机, 一旦出现木马就可以在第一时间搜索到。

5.3 检查系统进程

多数的木马在运行时会产生进程, 因此, 检查系统进程也是防御木马的一种有效手段。管理人员要做好平常的监控系统进程的工作, 维护系统的正常运行, 一旦系统内部出现任何情况, 都可以在系统进程中发现木马程序。

6 结语

木马具有极强的隐蔽性, 总是在不经意之间侵入用户的电脑, 泄漏个人或者企业的重要信息, 给个人或者企业带来不同程度的损失。因此, 我们要掌握木马的攻击原理, 对木马有一个较为系统的认识, 做好木马入侵的防范工作, 才可以创建一个和谐安全的网络环境。

摘要:笔者首先介绍了木马的概念、工作原理、分类和功能, 随后介绍了木马进行攻击的主要步骤, 最后针对木马攻击提出了几点应对的防御技术, 目的在于实现对木马较为系统的认识, 建立安全完善的防御体系, 减少木马攻击带来的损失, 为用户提供一个安全的网络环境。

关键词:木马,攻击原理,防御技术

参考文献

[1]赵玉明.木马技术揭秘与防御[M].北京:电子出版社, 2012.

SYN攻击原理与防范 第2篇

一、TCP握手协议

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。

Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

二、SYN攻击原理

SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。

三、SYN攻击工具

SYN攻击实现起来非常的简单,互联网上有大量现成的SYN攻击工具。

Windows系统下的SYN工具:

以synkill.exe为例,运行工具,选择随机的源地址和源端囗,并填写目标机器地址和TCP端囗,激活运行,很快就会发现目标系统运行缓慢。如果攻击效果不明显,可能是目标机器并未开启所填写的TCP端囗或者防火墙拒绝访问该端囗,此时可选择允许访问的TCP端囗,通常,Windows系统开放tcp139端囗,UNIX系统开放tcp7、21、23等端囗,

四、检测SYN攻击

检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat 工具来检测SYN攻击:

# netstat -n -p TCP tcp 0  0 10.11.11.11:23124.173.152.8:25882  SYN_RECV - tcp 0

0 10.11.11.11:23236.15.133.204:2577  SYN_RECV - tcp 0  0

10.11.11.11:23127.160.6.129:51748  SYN_RECV - tcp 0  0

10.11.11.11:23222.220.13.25:47393  SYN_RECV - tcp 0  0

10.11.11.11:23212.200.204.182:60427 SYN_RECV - tcp 0  0

10.11.11.11:23232.115.18.38:278 SYN_RECV - tcp 0  0

10.11.11.11:23239.116.95.96:5122SYN_RECV - tcp 0  0

10.11.11.11:23236.219.139.207:49162 SYN_RECV - ...

上面是在LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。

我们也可以通过下面的命令直接查看在LINUX环境下某个端囗的未连接队列的条目数:

#netstat -n -p TCP   grep SYN_RECV   grep :22   wc -l 324

显示TCP端囗22的未连接数有324个,虽然还远达不到系统极限,但应该引起管理员的注意。

五、SYN攻击防范技术

关于SYN攻击防范技术,人们研究得比较早。归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范.但必须清楚的是,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协议重新设计。

1、过滤网关防护

这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。

・网关超时设置:

浅论ARP攻击的原理与防范方式 第3篇

关键词:ARP协议攻击防范

中图分类号:TP3文献标识码:A文章编号:1007-3973(2010)09-038-02

近年来,ARP病毒在各级各类局域网中泛滥成了一个普遍的现象,特别是些诸如QQ、网络游戏等木马盗号病毒。这些病毒使得中毒局域网中的计算机掉线,严重影响了计算机的正常使用。虽然目前各类杀毒软件对ARP病毒都能进行一定程度的查杀,但病毒的更新传播速度也快。而且杀毒软件只能有效防护PC,对网关设备几乎没有保护作用。所以我们有必要从ARP协议的原理入手,找出切实有效的防范方法。

1、ARP协议

IP地址是局域网中计算机的标识,但MAC(MadiaAccessContr01)才在数据的网络传输中起到真正的地址作用。物理地址MAC地址一般是在生产过程中由厂家录制到网卡的EPROM中,每个计算机的网卡物理地址是唯一的。

计算机I要和计算机II通信,计算机I就一定要知道目标汁算机II的MAC地址。地址解析协议ARP(Address Res.olution Protoc01),就是通过目标计算机II的IP地址来查询它的MAC地址,从而实现通信。

2、ARP的工作原理

这里可以举例说明:计算机I(IP地址:192.168.10.1)要向计算机II(IP地址:192.168.10.2)通信,第一步就是在本机的ARP缓存表中查询计算机II的IP地址所对应的MAC地址。如果能够找到计算机II的MAC地址XX-XX-XX-XX-XX-XX,就进行通信,如果没有查询到,那么计算机I就要运行一个广播请求.目标MAC地址是FF-FF-FF-FF-FF-FF。请求IP地址为192.168.10.2的计算机II告知其IP地址所对应的MAC地址。此时与计算机I和计算机II同处一个局域网的所有计算机都能收到这个ARP请求,但只有拥有该IP地址的计算机11会向计算机I发回一个ARP响应,告知其MAC地址。计算机I收到计算机II的回复后,会把自己的ARP缓存更新.再向计算机II的MAC地址发送数据。

3、ARP的攻击原理

同样举上面的例子.根据ARP协议,发送请求的计算机I(IP地址:192.168.10.1)在收到ARP应答时都会更新自己的ARP缓存,而不是仅在发送了ARP请求后才接收。所以,当同处一个局域网的计算机III(IP地址:192.168.10.3)仿冒目标计算机II的IP,即以192.168.10.2的IP地址向发送计算机I回复一个伪造的ARP应答YY-YY-YY-YY-YY-YY,即MAC地址YY-YY-YY-YY-YY-YY是计算机III虚构的,而IP却是计算机II的IP,此时计算机I同样会更新自己的ARP缓存,并认为IP地址并来改变,仍为192.168.10.2的汁算机II的MAC地址已经更改了,由XX-XX-XX-XX-XX-XX变为YY-YY-YY-YY-YY-YY。因为局域网中数据的流通是以MAC地址为基准的,所以这个改变了计算机I ARP缓存的不存在的MAC地址YY-YY-YY-YY-YY-YY就会造成网络堵塞,致使计算机I找不到目标计算机II,形成一个简单的ARP欺骗现象。

4、ARP攻击的目的

如果某局域网中有一台计算机III被ARP病毒攻击后.它就会欺骗同属一个局域网的所有的计算机及路由器,改变它们的上网路径,由以前的通过路由器上网改为通过中毒的计算机IⅡ上网,计算机m便控制了这个局域网,可以轻易的盗取诸如密码、帐户等私人信息。

5、ARP协议的漏洞

在设计ARP协议时,认定的前提是网络是绝对安全的。这也使得ARP协议存在着明显的缺陷。

(1)任何一台计算机的IP应答到发送计算机I的ARP缓存后,计算机I都会在检验其MAC地址的真实性前自动认定其是可信的。这样会造成多个IP地址拥有同一个MAC地址,这是ARP协议的首要缺陷。

(2)任何一台计算机做的ARP应答都没有经过认定而自动确定为合法,任何一台计算机在任何时候甚至没有收到请求的时候都可以应答,并且可以应答一个随意的哪怕事实上并不存在的MAC地址,这样会造成后续的局域网通信失败或者发送延时。

(3)计算机会一直响应局域网内的所有ARP请求,而且将应答的MAC地址改写为本局域网网关的物理地址。网关本身起到转发IP地址的作用,这就会使局域网内的数据传输都要在网关转发一次,使得网关负荷大幅增加,以致崩盘。

(4)目前,大多局域网采用二层交换机,其本身有一个ARP缓存用来维护和映射MAC地址对应的端口。但这个缓存的容量是有限的,如果局域网用户大量发送ARP数据包,就会造成交换机无法正常工作,影响整个局域网的运行.甚至瘫痪。

6、ARP攻击现象

目前,以下几种现象是局域网计算机遭受ARP攻击的常见情形:

(1)局域网的链接正常,但计算机无法访问外部网络,将路由器重启后这种现象消失,但过一段时间后有重复出现相同问题。

(2)计算机用户的密码、账号等私人信息失窃。

(3)局域网内突然出现ARP广播包大量增加的情形。查询时发现大量的可疑MAC地址或根本就是错误的MAC地址,甚至有多个IP地址对应一个MAC地址的情形。局域网内通信堵塞,严重时部分网络设备都被系统视为了计算机。

除了这些现象之外,我们还可以通过检测程序来判定计算机是否被ARP病毒攻击。还是以计算机I(IP地址:192.168.10.1)和计算机II(IP地址:192.168.10.2)所在的局域网为例,输入ARP-a的命令,如果看到如下情况

Interface 192.168.10.1.....0X2

Interact Aldrcss physical Aoldrcss

192.168.10.2XX-XX-XX-XX-XX-XX

192.168.10.3 YY-YY-YY-yY-YY-YY

192.168.10.1 XX-XX-XX-XX-XX-XX

这就显示有计算机的MAC地址与网关的MAC地址相同,则能够确定此局域网受到了ARP攻击。

7、防范方式

目前ARP攻击的途径主要有三种:一是欺骗路由器的ARP缓存表,二是欺骗局域网内计算机自身的ARP缓存表,三是同时进行上述两种攻击。局域网遭到ARP攻击后,网内计算机和路由器都会向错误的MAC地址发送数据信息。

7.1ARP双绑

ARP绑定就是把计算机的MAC地址与IP地址进行绑定。前面已经说过,ARP攻击有欺骗路由器ARP缓存表和欺

骗计算机ARP缓存表两种,所以ARP绑定也有MAC地址和路由器ARP缓存表及计算机自身的ARP缓存表的绑定两种。这种双向的绑定是必不可少的。如果MAC地址只和路由器的ARP缓存表绑定而没有和计算机自身的ARP缓存表绑定的话,局域网内计算机的ARP缓存表被病毒攻击后就不会发送数据给路由器,而是发给一个病毒提供的假的MAC地址。使得路由器无法访问而造成网络瘫痪。在这里要强调一点,所谓的双向绑定事实上是要绑定三个地方,即本机的IP地址和MAC地址、网关的IP和MAC地址、客户机的IP和MAC地址。现在,常用的绑定程序就是ARP-s网关IP地址网关MAC地址。但这样设置需要在每次重启后都重新输入命令。所以下面这个批处理程序也经常使用。例如我们要绑定的网关IP为198.168.10.1,MAC地址为XX-XX-XX-XX-XX-XX,那么可运行如下批处理命令:@echo offhrp-hrp-s 192.168.10.1 XX-XX-XX-XX-XX-XX。将其拖到计算机开始程序中的启动项中即可。

7.2假网关

因为ARP攻击是通过计算机的网关进行的。所以我们可以虚构设置一条防病毒的网关路由,并将其优先级别定的很低,再设置一条路由为真正的网关,并将其优先级别定的比前面用来防病毒设置的网关高,这样也能够欺骗一般的ARP病毒。

7.3更新设备

现阶段各专业服务厂家都能提供专门防范ARP攻击的设备,用户可以选择配备。

(1)ARP路由器。该路由器专门配备有防范ARP攻击程序,能够十分有效的防止ARP病毒。但这个设备的价格比较昂贵,需要一定的资金投入

(2)IP地址服务器。可以购买一个IP地址服务器用来管理IP地址。该服务器能够接收局域网内所有计算机发出的ARP广播,当它接收到ARP报文时,会自动执行一个防护程序,从而有效的阻止ARP攻击。但这个lP地址服务器有个缺点,就是对于IP地址被盗用的问题无能为力。

(3)ARP服务器。这个服务器能够通过自身的ARP转换表来回复其它计算机发出的ARP广播报文,给ARP攻击增加难度,但ARP服务器自身也容易受到新型病毒的攻击。

(4)DAI交换机。DAI即Dynanic ARP Insptlo的简写,意思是动态ARP监测交换机。它能够动态绑定IP地址和MAC地址,其设计基础是DHCP绑定表。如果计算机没有使用DHCP服务器,则可静态添加ARP访问。DAI交换机还能够监控端口的ARP报文情况,防止ARP病毒。

7.4其它方式

除了上述两种主要的防范方式之外,下列方法也能有效防范ARP病毒攻击。

(1)及时升级局域网中的所有计算机的系统补丁程序,完善计算机自身的防范能力;

(2)注重监控局域网,及时发现感染了ARP病毒的计算机,重装系统或者进行杀毒,消除攻击源:

(3)在局域网中安装瑞星、卡巴斯基等网络防火墙软件,并及时升级,定期查杀;

(4)网络管理人员注重提高用户密码的安全性,设置密码要复杂,不宜破解,而且要定期更换,不给病毒可乘之机;

(5)谨慎处理一些不是必须的共享程序,删除一些不是必须的网络服务。

本文分析了ARP攻击的基本原理与主要的防范方式,可以有效的帮助局域网用户防范ARP病毒的攻击,但是任何事务都是发展的。ARP病毒也不例外,随着防毒程序与手段的不断提升,ARP病毒也在不断的更新与升级。它仍然攻击着防范工作不到位的局域网用户。所以,广大局域网用户要重视ARP病毒的防范工作,不要随意下载不明软件,定期升级杀毒软件,结合本文介绍的方法切实减少ARP病毒的危害。

参考文献:

[1]崔东.计算机网络基础[M]北京:高教出版社,2007

[2]郑志勇.ARP攻击原理与防御[J].电脑迷,2007.6

[3]任侠,吕述望.ARP协议欺骗原理分析与抵御方法[J].计算机工程,2003.9

DDoS攻击原理及防御技术 第4篇

DDo S是Distributed Denial of Service的简称,即分布式拒绝服务。DDo S攻击手段是在传统的Do S(Denial of Service)攻击基础之上产生的一类攻击方式。Do S攻击一般采用单一的一对一的攻击方式,使用这种攻击方式当计算机的性能指标不高(CPU速度较低,网络速度较慢,内在较小等),DOS的攻击效果是非常明显的。但随着计算机技术和计算机网络技术的飞速发展,DOS攻击已不能发挥作用,一种更高级的分布式的拒绝服务攻击手段(DDo S)就应运而生。DDo S是攻击者借助于C/S技术,联合网络上众多计算机(傀儡主机)作为攻击平台,对一个或多个计算机(目标主机)发送大量的网络数据包,耗尽目标主机的网络带宽或者系统资源,让目标主机无法提供正常的服务,达到攻击目的。

2 DDo S攻击产生的根源

为确保网络中数据传输的可靠性,Internet在设计时首先考虑数据传输的可达性和可靠性,而安全性则排在其后,这样,即使网络遭受外来攻击使网络内部遭受损坏,仍可保证数据的正确传输。这样才设计Internet时网络最智能的部分集中在网络边缘或端系统上,而中间网络部分只有一些必要的网络设备,Internet所有承载协议都被设计成无连接的,这就给DDo S攻击带来了可乘之机。

由于安全意识淡薄,对计算机的安全漏洞不能及时安装补丁,使得这样一些计算机被黑客控制,在DDo S的攻击中,这样一些计算机就成儡主机,协助黑客来发动攻击。

目前DDo S攻击的主要方式就是消耗对方的系统资源或是网络带宽,由于Internet资源的有限性,DDo S攻击时消耗对方的资源达到攻击效果。

路由器上从源端到目的端不进行检测验证IP源地址字段,DDo S攻击时就可以伪造数据包的IP地址,使用户不容易发现,实现攻击目的。

3 DDo S攻击方式

3.1 SYN Flood攻击

SYN- Flood攻击是利用TCP协议实现上的缺陷,攻击时将大量的伪造源地址发向服务器端口,占满服务器半开连接队列,使一些合法用户无法进行正常访问。这种攻击方式是当前网络上最为常见也是最为经典的拒绝服务攻击。采用这种攻击方式可以方便地伪造源地址,使很多操作系统,甚至有些路由器、防火墙都无法有效地防御这种攻击,追查起来也非常困难。

3.2 ACK Flood攻击

ACK Flood攻击是在建立TCP连接之后。TCP报文的数据传输带有ACK标志位,数据传输时,主机接收到数据包(带有ACK标志),首先检查是否存在数据包表示的连接四元素是否存在,如果存在就检查数据包所表示的状态,将合法的数据包传递到应用层。

这种攻击方式,需要攻击者用大流量ACK小包冲击才能对服务器造成影响,由于服务器TCP堆栈中没有ACK包的状态信息,这些随机源IP的ACK小包会被服务器很快丢弃,所以这种攻击方式没有SYN Flood给服务器带来的冲击大。但一些TCP服务会对ACK比较敏感,高数量的ACK Flood会对Apache或者IIS造成服务器网卡中断频率过高,负载过重等影响而停止响应。ACK Flood不仅影响服务器上的应用程序,而且还会危害路由器等网络设备。

3.3 UDP Flood攻击

UDP FLOOD攻击中是攻击者发送大量伪造源IP地址的小UDP包,而UDP协议是一种无连接的协议,攻击者可以针对UDP端口提供的服务进行相应的攻击。UDP Flood可以将网络中的骨干设备如防火墙等损坏,甚至可以造成整个网段的瘫痪。

3.4 ICMP Flood攻击

ICMP Flood的攻击属于流量型的攻击方式,攻击者向服务器发送大流量数据,给服务器带来较大的负载,从而影响服务器的正常服务。攻击时将大量的ICMP Echo Reply数据包迅速占领目标主机,将目标主机的网络带宽瞬间耗尽,使被占领主机网络流量变慢甚至停止。还有一些攻击者发送错误的路由信息强制受害主机访问并不存在的路由器,或者把一些数据包直接路由到被攻击的机器。

3.5 Connection Flood攻击

Connection Flood攻击是将一些真实的IP地址向服务器发起大量的连接,使服务器与这些机器一直处于连接状态,将服务器资源耗尽,降低服务器使用效率,不能有效地与其它用户进行连接,使服务器牌停滞状态。

3.6 HTTP Get攻击

HTTP Get攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并能够调用数据库系统。这种攻击方式是在与服务器建立正常的TCP连接后,就向脚本程序不断地提交大量耗费数据库资源的程序调用。

攻击者可以通过控制的僵尸机或者通过单机构造多个IP,在与服务器建立联系之后不断地向服务器发起HTTP Get请求,很短时间内就将服务器资源耗费掉进而使服务器拒绝服务。这种攻击的特点是能够绕过普通防火墙防护,轻松找一些僵尸机器实施攻击。

3.7 UDP DNS Query Flood攻击

UDP DNS Query Flood攻击是攻击者向服务器发送大量的域名请求,这些域名是有机产生的,有些域名是存在的,有些域名在网络上根本就不存在。当服务器接收到域名请求无法直接解析时,就向上层DNS服务发送查询域名信息,给服务器带来学生的负担,当请求超过一定量时就造成DNS解析超时。

4 DDo S的防御方法

4.1 预防DDo S攻击的措施

(1)确保系统的正确配置。

确保路由器、交换机等网络设备和服务器系统的正确配置,能有效减少DDo S攻击发生的可能性。

(2)过滤不必要的服务和端口

在路由器上过滤假IP,定期检测测系统配置信息,每天注意查看安全日志,关掉不必要的服务和端口。

(3)利用网络设备保护网络资源

路由器、防火墙等网络设备,能有效地保护网络。当网络受到攻击时,最先受到攻击的是路由器等网络设备。配置必要负载均衡设备,可在最大程度上削减DDo S攻击的危害。

(4)检查访问者的来源

使用假IP迷惑用户是黑客攻击常用的方法。使用反向路由器查询访问者IP的真假,屏蔽假的IP,提高网络安全性,从而减轻Ddo S的攻击。

(5)限制SYN/ICMP流量

配置路由器SYN/ICMP的最大流量限制SYN/ICMP所占最高频宽,当网络上出现大量超过SYN/ICMP流量时,网络上可能就出现了不正常的访问。

(6)把网站做成静态页面

把网站做成静态页面,可有效防止DDo S的脚本攻击。如果需要调用动态脚本,将其安装到单独计算机中,这样即使受到攻击也不会连累服务器。

4.2 DDo S攻击时的应对方法

当受到DDo S攻击时首先要检查攻击来源地址,分清IP地址的真伪。如果IP来自于本公司,说明黑客控制本公司的机器作为傀儡机,找出这些机器的IP,关闭掉这些机器。如果不是本单位的IP,将这些IP从服务器上漏掉。第二个有效的方法是在路由器设置中禁掉ICMP,可防止攻击规模虽,降低危害。另外,查看路由器日志,查看路由器收到的攻击数据包,确定数据来源的IP地址,确定资料量最大的网段,修改子网掩码将网段隔离开,让合法的流量通过,有效减轻攻击,恢复路由器正常工作。

对于DDo S的攻击,由于其攻击的突然性至今还没有找到绝对安全的方式来杜绝此类攻击。系统管理员充分认识到网络中存在的潜在威胁,注意防火墙等网络设备的异常,经常修补安全漏洞,不断提升安全策略,查询最新安全信息,管理好自己的网络用户,确保不受DDo S攻击。

参考文献

[1]朱少彰,崔宝江,李剑.信息安全概论[M].北京:北京邮电大学出版社,2007.

[2]孙钦东,张德运,高鹏.基于时间序列分析的分布式拒绝服务攻击检测[J].计算机学报,2005.

[3]徐恪,徐明伟,吴建平.分布式拒绝服务攻击研究综述[J].小型微型计算机系统,2004.

[4]王江涛,杨庚.VTP检测算法的改进和基于模糊逻辑的DDo S攻击自适应判断[J].南京邮电大学计算机技术研究所,2008.

[5]么利中.DDo S攻击手段及其防护研究[J].科技创新与应用,2013.

攻击原理 第5篇

到目前为止,进行DDoS攻击的防御还是比较困难的,首先,这种攻击的特点是它利用了TCP/IP协议的漏洞,除非你不用TCP/IP,才有可能完全抵御住DDoS攻击。一位资深的安全专家给了个形象的比喻:DDoS就好象有1,000个人同时给你家里打电话,这时候你的朋友还打得进来吗?

不过即使它难于防范,也不是说我们就应该逆来顺受,实际上防止DDoS并不是绝对不可行的事情。互联网的使用者是各种各样的,与DDoS做斗争,不同的角色有不同的任务。我们以下面几种角色为例:

企业网管理员

ISP、ICP管理员

骨干网络运营商

企业网管理员

网管员做为一个企业内部网的管理者,往往也是安全员、守护神。在他维护的网络中有一些服务器需要向外提供WWW服务,因而不可避免地成为DDoS的攻击目标,他该如何做呢?可以从主机与网络设备两个角度去考虑。

主机上的设置

几乎所有的主机平台都有抵御DoS的设置,总结一下,基本的有几种:

关闭不必要的服务 限制同时打开的Syn半连接数目

缩短Syn半连接的time out 时间 及时更新系统补丁

网络设备上的设置

企业网的网络设备可以从防火墙与路由器上考虑。这两个设备是到外界的接口设备,在进行防DDoS设置的同时,要注意一下这是以多大的效率牺牲为代价的,对你来说是否值得。

1.防火墙

禁止对主机的非开放服务的访问

限制同时打开的SYN最大连接数

限制特定IP地址的访问

启用防火墙的防DDoS的属性

严格限制对外开放的服务器的向外访问

第五项主要是防止自己的服务器被当做工具去害人。

2.路由器

以Cisco路由器为例

Cisco Express Forwarding(CEF)

使用 unicast reverse-path

访问控制列表(ACL)过滤

设置SYN数据包流量速率

升级版本过低的ISO

为路由器建立log

server

其中使用CEF和Unicast设置时要特别注意,使用不当会造成路由器工作效率严重下降,升级IOS也应谨慎,

路由器是网络的核心设备,与大家分享一下进行设置修改时的小经验,就是先不保存。Cisco路由器有两份配置startup config和running config,修改的时候改变的是running config,可以让这个配置先跑一段时间(三五天的就随意啦),觉得可行后再保存配置到startup config;而如果不满意想恢复原来的配置,用copy start run就行了。

ISP / ICP管理员

ISP / ICP为很多中小型企业提供了各种规模的主机托管业务,所以在防DDoS时,除了与企业网管理员一样的手段外,还要特别注意自己管理范围内的客户托管主机不要成为傀儡机。客观上说,这些托管主机的安全性普遍是很差的,有的连基本的补丁都没有打就赤膊上阵了,成为 最喜欢的“肉鸡”,因为不管这台机器 怎么用都不会有被发现的危险,它的安全管理太差了;还不必说托管的主机都是高性能、高带宽的-简直就是为DDoS定制的。而做为ISP的管理员,对托管主机是没有直接管理的权力的,只能通知让客户来处理。在实际情况时,有很多客户与自己的托管主机服务商配合得不是很好,造成ISP管理员明知自己负责的一台托管主机成为了傀儡机,却没有什么办法的局面。而托管业务又是买方市场,ISP还不敢得罪客户,怎么办?咱们管理员和客户搞好关系吧,没办法,谁让人家是上帝呢?呵呵,客户多配合一些,ISP的主机更安全一些,被别人告状的可能性也小一些。

骨干网络运营商

他们提供了互联网存在的物理基础。如果骨干网络运营商可以很好地合作的话,DDoS攻击可以很好地被预防。在20yahoo等知名网站被攻击后,美国的网络安全研究机构提出了骨干运营商联手来解决DDoS攻击的方案。其实方法很简单,就是每家运营商在自己的出口路由器上进行源IP地址的验证,如果在自己的路由表中没有到这个数据包源IP的路由,就丢掉这个包。这种方法可以阻止 利用伪造的源IP来进行DDoS攻击。不过同样,这样做会降低路由器的效率,这也是骨干运营商非常关注的问题,所以这种做法真正采用起来还很困难。

SQL注入攻击原理与防范 第6篇

设计一个安全的Web应用系统相对来说是比较困难的,因为Internet上所有的Web站点都需要提供一个面向整个世界的操作界面,这就很容易成为攻击者的攻击目标。还有,大部分的Web系统还需要跟用户进行交互,要从用户那里接受数据并进行处理,如果攻击者故意输入一些经过精心构造的内容,则在系统处理不当时,这些数据中包含的恶意代码会被系统或其它客户端执行,从而对服务器或客户端造成损害。SQL注入攻击就采用了这种方法,它可以使攻击者有可能通过SQL语句直接访问数据库,对系统的安全造成了很大的隐患。下面具体介绍一下SQL注入攻击的方法和防范措施。

2 SQL注入攻击方法

Web系统经常要以用户输入作为参数来构造SQL语句,并让后台的数据库执行。SQL注入攻击的基本思想是在用户输入中注入一些额外的特殊符号或SQL语句,使系统构造出来的SQL语句在执行时或者改变了查询条件,或者附带执行了攻击者注入的整个SQL语句,从而让攻击者达到了非法的目的。

例如,假设某一Web系统要经过认证才能使用,因此,用户访问该Web系统前,要在登录页面中输入用户名和密码,然后提交给服务器进行认证。此时,用户的浏览器要创建一个包含用户名和密码的HTTP请求,并发送给Web服务器。

收到这个请求的Web系统一般要进行以下的处理。首先,要从该客户端的HTTP请求中得到用户名和密码,并赋给程序中的某两个变量,假设它们名字和值分别如下:

Pwd=cat22

Uid=testuser

然后,Web系统要构造一条SQL语句,以验证用户所输的用户名和密码是否和数据库中的用户帐号一致。该语句可能是以下样子的:

sql="select*from users where username='"+uid+"'and password='"+pwd+"'"

由于变量uid和pwd的值分别是cat22和testuser,因此真正提交给数据库执行的SQL语句是:

select*from users where username='testuser'and password='cat22'

最后,Web系统对这条SQL语句执行后返回的结果进行判断,如果有一条记录返回的,就认为是合法用户,否则,不能通过认证。

在正常的情况下,以上的流程是没有什么问题的。但攻击者如果在输入数据时加入了一些精心构造的内容,则有可能达到一些非法目的。例如,如果攻击者事先知道该Web系统的管理员用户名是admin,他可以在输入用户名的文本框中输入以下内容:

admin'--

此时真正执行的SQL语句成了以下样子:

select*from users where username='admin'--'and password='cat22'

在有些数据库中,SQL语句中的“--”表示的是行注释符,其后面的符号在执行时要被忽略。于是,该SQL语句的功能就变成了返回用户名是”admin”的一条记录,这样攻击者就顺利地通过了认证,还可以以管理员的名义访问该Web系统。

以上例子是通过注入特殊的符号到合法的SQL语句中,使查询条件发生了改变来进行攻击的,下面还有一个这方面的例子。

例如,某一Web系统要求考生输入身份证号码来查询各门课的考试成绩,它通过以下SQL语句从数据库查询记录:

sql="SELECT*FROM score WHERE id='"+user_id+"'"

user_id表示身份证号,score是存放成绩的数据库表。如果攻击者给user_id输入了以下内容:

1000 or'1'='1"

则真正执行的SQL语句将如下所示:

SELECT*FROM score WHERE id='1000'or'1'='1'

此时,意味着在WHERE后面加了一个永远为真条件“'1'='1'”,这样就得到了score表中所有考生的成绩记录。

SQL注入攻击的另一种方式是攻击者在用户输入中注入了整个额外的SQL语句,如果此时能成功地让数据库执行的话,带来的问题将会很严重,因为攻击者此时有可能能够对数据库进行任意的操作。

例如,在上一例子中,如果攻击者给user_id输了以下内容:

10000';drop table score--

则真正执行的SQL语句将如下所示:

SELECT*FROM score WHERE id='1000';drop table score--'

在SQL语句字符串中,“;”表示一个SQL语句的结束及另一个SQL语句的开始,这样,以上SQL语句相当于附带执行了“drop table score”命令,如果执行该SQL语句的数据库用户有相应权限的话,将会删除整个score表。

另外,如果攻击者注入的SQL语句是对数据库中某一存储函数或过程的调用,并且这些函数或过程是与数据库所在的操作系统功能相联系的,则有可能会进一步危及操作系统的安全。例如,在Microsoft SQL Server数据库中,调用存储过程xp_cmdshell可以执行任意的操作系统命令,如果攻击者在上一例子中的user_id中输入了以下内容:

1000';EXEC master..xp_cmdshell(cmd.exe/c del/q*)--

则注入的SQL语句:

EXEC master..xp_cmdshell(cmd.exe/c del/q*)

它的功能是要在操作系统中执行“cmd.exe/c del/q*”命令,其结果是把工作目录中的所有文件删除,此时可能会造成整个操作系统的崩溃。

3 数据库结构信息的获取

从以上例子可以看出,SQL注入攻击实施起来非常简单,但成功的前提是攻击者事先要知道数据库中表的结构,即要知道表名、列名、列的数据类型等信息,这样才能保证被其修改或注入的SQL语句具有正确的语法。为了达到这个目的,攻击者可以故意构造一些特定的带语法错误的SQL语句,然后从Web系统返回的错误提示中得到有用的信息。例如,在以上例子中,假设攻击者还不知道查询所用的表名及其中的列名,他可以给user_id输入以下内容:

'having 1=1--

此时,数据库所执行SQL语句将会出错,在SQL Server中可能会返回以下这些错误提示:

Microsoft OLE DB Provider for ODBC Drivers error'80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column'score.id'is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

/get_score.asp,line 35

从以上这些错误提示中,攻击者可以得知该查询所用的表是score,并且该表的第一列列名是id。

接着,攻击者继续给user_id输入以下内容:

'group by score.id having 1=1--

此时,返回的出错提示如下:

Microsoft OLE DB Provider for ODBC Drivers error'80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column'score.value'is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

/get_score.asp,line 35

于是,攻击者又可以从错误提示中得知score表的第二列列名是value。如此反复,直到得到score表中所有列的列名。此外,通过对表中的各列进行运算,再从返回的错误提示中还可以得知各列的数据类型。

如果Web开发者注意到了这一点,并关闭了所有数据库出错提示的输出,则以上方法就无法使用了。此时攻击者可以采用一种“时间延时”的方法判断其注入的SQL语句是否正确地被执行。例如,假设攻击者事先知道合法SQL语句查询的表名是score,于是他给user_id输入了以下内容:

1000';if exists(select id from score)waitfor delay'0:0:10'--

此时,注入的SQL语句是:

if exists(select id from score)waitfor delay'0:0:10'

它的功能是如果“select id from score”语句执行成功并返回了记录,则要执行“waitfor delay'0:0:10'”语句延时10秒钟返回,否则,马上返回。这样,攻击者可以通过计算返回的时间来判断“select id from score”语句是否被正确地执行,从而知道了id是不是score表中一个列的列名。更进一步地,攻击者还可以注入以下SQL语句来判断合法SQL语句所查询的表名字符串的第一位是1还是0:

declare@s varchar(8000)select@s=db_name()if(ascii(substring(@s,1,1))&(power(2,0)))>0 waitfor delay'0:0:10'

通过改变以上语句中的相关参数,还可以判定表名字符串每一位的值,经过组合后就能得到表名。虽然这种方法比较麻烦,但一般情况下却是可行的。

以上介绍了获取数据库信息的两种方法,通过与具体数据库功能及其它攻击手段的结合,攻击者还可以有更多的方法和途径来做到这一点。

4 SQL注入攻击的防范

防范SQL注入攻击最有效的方法是对用户的输入做全面的检查,只接受已知的合法数据,拒绝非法的数据。例如,在以上例子中,如果Web系统发现用户输入中包含有“'”或长度超过一定限度时,就认为是非法的,不去执行SQL语句,这样就可以防止攻击者注入SQL语句。

但有时候这样的一些限制可能会影响用户正常的使用。例如,一个用户在表单中输入的名字是“O'Neil”,它包含了一个元字符“'”,既然这个符号是名字的一部分,这个输入应该是合法,但在成为数据库查询语句的一部分之前,这个符号可能会在输入检查时被略去,这样就造成了错误的结果。为了避免这种情况,可以采用另一种措施,就是在构造查询时采用参数化的语句。

一般数据库API都会给开发者提供两种不同的构造SQL查询语句的方法。例如,JDBC是Java语言访问关系数据库的API,开发者在构造SQL查询语句时,可以使用的简单的字符串,也可以用参数化的查询语句,从性能和安全方面来考虑,最好还是用参数化的查询语句。在参数化查询语句中,出现“?”的地方在调用时要用参数的具体值来代替,这个过程是由JDBC驱动程序完成的,它要对参数的值进行检查,以便对一些特殊字符进行特殊的处理。这些特殊字符在不同的数据库中是不一样的,这一点JDBC API能自动识别,这样处理也使得应用系统的移植性更好。

5 结束语

虽然SQL注入漏洞正被越来越多的人所了解,但很多的产品和专用的Web应用系统中仍然存在着这种漏洞,很容易受到SQL注入攻击,特别是当SQL注入攻击与其它攻击手段结合时,更是令人防不胜防。因此,研究SQL注入攻击的方法及防范措施,对于开发安全的Web应用系统具有重要的意义。

摘要:SQL注入是Web系统中经常存在的一种漏洞,攻击者利用这种漏洞可以通过SQL语句直接访问数据库,从而对系统的安全造成了很大的隐患。本文通过大量的实例介绍了SQL注入攻击方法及防范这种攻击的措施。

关键词:SQL注入,攻击,漏洞,数据库

参考文献

[1]Chris Anley.Advanced SQL Injection In SQLServer Applications[EB/OL].http://www.nextgenss.com/papers/advanced_sql_injection.pdf,2002-1.

[2]Chris Anley.(more)Advanced SQL Injection[EB/OL].http://www.nextgenss.com/papers/more_advanced_sql_injection.pdf,2002-6.

浅析ARP病毒的攻击原理 第7篇

1 ARP协议分析

ARP协议也就是地址解析协议(Address Resolution Protocol),它的作用就是将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)。ARP协议是属于链路层的协议,以太网中一台计算机要访问网内的另一台计算机,是根据48位的物理地址(MAC)来确定接口,而不是根据32位的IP地址。所以要访问一台网络上的计算机,就必须知道它的物理地址。

下面,我们就从数据在网络上的传输过程出发,来解释ARP协议的工作原理。我们就以PING命令为例,数据是如何从一台计算机传输到另一台计算机的。

假设A计算机IP地址是192.168.1.8,执行命令:ping192.168.1.18,该命令会通过CIMP协议(网络管理协议)发送CIMP数据包。该过程需要经过下面的步骤:

a.源主机应用程序首先生成CIMP数据包,并提交给内核(网络驱动程序)。

b.源主机内核检查本地的ARP缓存表,看192.168.1.18在缓存表中是否能查到。

c.如果存在该IP-MAC对应关系,那么跳到步骤7,把数据包直接发送出去。如果不存在该IP-MAC对应关系,那么接续下面的步骤;

d.内核发布ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1)其中包含有自己的MAC地址;

e.当192.168.1.18主机接收到该ARP请求后,就发送一个ARP的REPYL(2)命令,其中包含自己的MAC地址;其他主机由于IP地址不对,不会应答。

f.源主机收到目标主机的应答数据包后,获得目标主机的IP-MAC地址对应关系,并保存到ARP缓存表中;

g.内核将把IP转化为MAC地址,然后封装在以太网数据报头结构中,再把数据发送出去;

使用arp-a命令就可以查看本地的ARP缓存内容,每执行一个本地的PING命令,ARP缓存就会保存一个目标主机的IP记录。当然,如果数据包是发送到不同网段目标主机,那么就会存在一条网关的IP-MAC地址对应的记录。

从前边的分析我们知道,数据包的向外传输必须要依靠ARP协议,如果没有ARP协议,我们就无法把IP地址转换为MAC地址,数据也就无法在网络上传播了。ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用本网络内部。

2 ARP病毒原理介绍

2.1交换网络的嗅探

假设有三台主机A,B,C位于同一个交换式局域网中,监听者主机为A,而主机B、C正在进行通信。A希望能嗅探到B与C之间的通信数据,于是A就可以伪装成C对B做ARP欺骗,向B发送伪造的ARP应答包,在这个伪造的应答包中,IP地址为C的IP地址,而MAC地址为A的MAC地址。B在接收到这个应答包后,会刷新它的ARP缓存,这样在B的ARP缓存表中就出现了C的IP地址对应的是A的MAC地址。说详细点,就是让B认为C的IP地址映射到的MAC地址为主机A的MAC地址。这样,B想要发送给C的数据实际上却发送给了A,这样就达到了嗅探的目的。黑客就可以利用这种手段盗取网络上的重要信息。

2.2 IP地址冲突

当网络内部有计算机中了ARP病毒,网络内其他计算机就会经常弹出IP地址冲突的警告。这是怎么产生的呢?

比如某主机B规定IP地址为192.168.1.18,如果它处于开机状态,那么其他主机D也把它的IP地址改为192.168.1.18就会造成IP地址冲突。其原理就是:主机D在连接网络(或更改PI地址)的时候它就会向网络内部发送ARP广播包,告诉其他计算机自己的PI地址。如果网络内部存在相同IP地址的主机B,那么B就会通过ARP来作出应答,当D接收到这个应答数据包后,D就会跳出IP地址冲突的警告,B也会弹出IP地址冲突警告。

因此用ARP欺骗可以来伪造这个ARP Reply,使目标主机一直受到IP地址冲突警告的困扰。

2.3阻止目标的数据包通过网关

比如在一个局域网内通过网关上网,那么局域网内部的计算机上的ARP缓存中就存在网关IP-MAC对应记录。如果该记录被ARP病毒更改,那么该计算机向外发送的数据包就会发送到了错误的网关硬件地址上,这样,该计算机就无法上网了。

结束语

从以上的分析我们知道了,ARP协议是我们进行网络通信时必须的协议,没有它我们无法进行计算机间的相互通信,但是有些别有用心的人恰恰是利用了这个协议,来攻击我们的系统,盗取我们的重要信息。知道了其原理,我们就会有更好的办法来防范和清除该病毒,使得我们的网络更加安全。

摘要:ARP病毒是对局域网影响比较大的病毒,给个人用户和网络管理都带来了比较大的麻烦。主要论述了ARP协议的工作原理和ARP病毒的攻击原理,使得大家能从根本上了解该病毒,并且更好的防范和清除该病毒,使得我们的网络更加安全。

关键词:ARP病毒,攻击,局域网

参考文献

[1]金红旭.谈局域网中ARP病毒防治[J].电子世界,2013(7):136.

[2]于夫.ARP病毒在局域网中的防治研究[J].网络安全技术与应用,2014(6):173.

[3]庄春兴,彭奇志.关于窃听与反窃听技术的分析[J].小型微型计算机系统,2003,24(3):609-611.

[4]邹季刚.ARP病毒防治浅谈[J].中国水运:理论版,2007,5(7).:145-146

SQL注入攻击原理和防范方法 第8篇

由此看出, 获知通用的SQL注入攻击防御方法, 对于加强安全建设具有非常重要的作用。本文将重点对SQL注入攻击产生的原理与防范SQL注入的措施进行讨论。

1 SQL注入概述

SQL注入攻击是一种常用的应用层攻击手段, 是最危险、 最普遍的基于Web攻击手段之一, 同时也是对企业运营最具破坏性的漏洞之一。SQL通常采用的注入手段是通过Web表单提交、输入域名、页面请求等方式, 将修改的SQL命令语句传输到服务器, 最终达到欺骗服务器执行恶意SQL命令的目的。这种访问方式从语法结构上看, 与一般通过Web页面访问没有太大区别。

SQL注入是攻击者根据自己的目的, 对SQL语句进行修改, 并通过服务器对相关SQL语句执行的操作, 而不是按照设计者的意图执行相关的系统SQL语句。如:很多网站在编程时, 没有对输入的合法性进行验证。输入的用户名为“tests”, 密码设置为“tests123”, 对其数据库用户表进行查询的SQL语句就是“select * from用户表where用户名='tests' and密码='tests123'”。但是如果对语句进行修改, 用户名变成“' or 1=1 --'”, 密码输入为空, 组合后SQL结果为“select * from用户表where用户名='' or 1=1 --'' and密码=''”。“' or 1=1 --'”。这个判断导致SQL不对用户名和密码进行验证, 这将导致攻击者可以查出表用户表的所有记录, 成功登录系统。如果再加上“drop用户表”等破环性语句, 会对系统产生极大危害。

2 SQL注入的主要危害

如果网站存在SQL注入漏洞, 攻击者可以轻松获得管理员账号、密码, 从而任意删改网站上发布的信息, 甚至攻击者还可以将木马传到网站上, 从而控制企业的整个服务器。 如果攻击者攻破的系统中有企业存放的秘密商业信息, 将导致信息泄露, 将可能对公司造成重大经济损失。如果攻击者对系统数据进行修改, 存放在数据库中的数据将被破坏, 数据变得不准确, 这将会对使用者造成误导, 甚至可能导致整个系统瘫痪。

3 SQL注入攻击特点

3.1广泛性

SQL注入利用的是SQL语法, 它可跨越各种操作对网站进行攻击。只要Web应用系统未对SQL的输入进行校验、 处理, 攻击者均可采取SQL注入攻破。

3.2隐蔽性高

SQL注入通过WWW端口访问系统, 与正常的Web页面访问方式没有区别, 因此, 一般防火墙软件难以识别。

3.3攻击时间短

攻击者可以在几秒到几分钟的时间完成对数据库或Web服务器的控制。

3.4技术难度小

SQL注入在网络上可找到多款工具, 且基本为图形化工具, 因此, 学习起来非常简单。

3.5危害大

SQL注入攻击成功后, 攻击者可轻易对网站信息进行修改, 获取企业机密, 给企业造成重大经济损失等。

4 SQL注入攻击的原理

目前, 大多数Web应用程序, 均采用各类数据库存放数据。攻击者通常利用特定SQL语句改造数据或字符串, 以绕过认证机制, 输入方式将组合参数传入后台执行SQL语句, 从而实现入侵数据库的目的。可以看出, 攻击者可以非法入侵系统的主要原因是应用系统对用户输入的数据未细致过滤。通常攻击者可将输入的内容传递给动态构建SQL字符串语句, 并由数据库对该非法语句加以执行。如:“select count ( 单号) from账单where用户名= 'test123' and密码='test456'”, 这里的用户名和密码都是从Web表单获得的数据。如果在表单中用户名的输入框中输入' or 1=1 -- ', 密码为空, 此时SQL语句就变成了“select count ( 单号) from账单where用户名= '' or 1=1 --'' and密码='' ”, 因为1=1永远为真, 所以这里完全跳过了SQL验证。如果在表单中, 包含未筛选的用户输入的字符串, 可直接用来构造 (或者影响) 动态SQL命令, 或者可作为存储过程的输入参数, 这类表单特别容易受到SQL注入式攻击。

在实际应用中, 通常通过手工注入测试、自动化注入测试两种方式对SQL注入攻击进行测试。

第一, 手工注入测试

(1) 判断系统是否可进行注入

例如, SQL存在于形为?id=XX等带参数的动态页面中, 这些页面访问了数据库, 都是SQL注入攻击的目标之一。

(2) 初步判断数据库的类型

不同数据库语法上都有所不同, 而且不同数据库也有不同攻击方法。可以利用数据库的变量等方法判断数据库类型。

(3) 猜测系统的数据表

可通过经验猜测表名, 常用的数据表有userinfo、 users、members、userlist、memberlist等。可在语句后加入and exists (select count (*) from表名) 等语句或查看系统表, 猜测系统表名。

(4) 猜测字段名与字段值

可采用语句and (select count ( 列名) from表名) >0判断字段名, 录入用户名常用的字段有username、name、user等。 采用语句猜测出了字段名与字段值之后, 便可以进一步猜测出其数据表的字段值。

第二, 自动化注入测试

现在互联网上有许多SQL的自动化测试工具, 如BSQL Hacker、The Mole、Sqlmap、Havij等。采用这类工具可更加便捷地检测系统中是否可进行SQL注入攻击。

5 SQL注入攻击防范措施

(1) 替换或删除敏感字符和字符串。通过单引号和双引号转换、限制长度、正则表达式等方式校验用户输入的数据, 可删除或替换敏感的字符或字符串。如使用以下语句 (Replace (old_text, old_chars, new_chars) ) 。

(2) 避免使用动态SQL, 动态SQL在使用过程中才被编译, 易成为攻击者攻击对象。

(3) 配置最小执行权限, 不要使用管理员权限连接数据库, 要删除冗余用户。

(4) 查询过程中的参数化查询, 使用存储过程代替。 存储过程的语句可实现在创建时就被编译, 只会运行创建时所定义的查询语句的语法。存储过程是DBMS执行的一段程序, 它是将操作数据提交给存储过程去执行, 可以有效防止SQL注入。同时, 要把危险的和不必要的存储过程删除。

(5) 要屏蔽服务器的详细错误, 防止将错误信息传到客户端。

(6) 通过正则、Html Encode等方法有效防止空格等被DBMS解释, 但注意不要把编码、解码颠倒了。

(7) 不要直接机密信息存放, 要加密或者hash掉密码和敏感信息。

(8) 通过数据库防火墙系统, 控制数据库的访问行为、 阻断危险操作、审计可疑行为。

(9) 使用专业的漏洞扫描工具, 寻找可能被SQL注入攻击的点。凭借专业工具, 发现SQL注入漏洞, 并提醒管理员采取积极措施预防SQL注入攻击。

(10) 对应用系统文件设置权限与加密, 比如:应用系统采用了IIS提供的信息服务, 应对其Web站点目录设置核实的访问权限, 同时对客户的访问进行记录。

6结语

本文重点阐述SQL注入攻击的原理、方法及其防范措施, 结合SQL实例代码进行解释, 力求从根本上使人们对SQL注入攻击有直观认识, 从而使开发者对开发的应用程序进行有效的安全性检测, 防止因SQL注入攻击带来一系列问题。

参考文献

[1]王云, 郭外萍, 陈承欢.Web项目中的SQL注入问题研究与防范方法[J].计算机工程与设计, 2010 (5) :976-978.

[2]Justin Clarke.SQL Injection Attacks and Defense[M].北京:清华大学出版社.2010:6.

[3]360互联网安全中心.2015年中国网站安全报告[R].2016:2.

[4]张勇, 李力, 薛倩.Web环境下SQL注入攻击的检测与防御[J].现代电子技术, 2004 (15) :105-107.

[5]徐陋, 姚国祥.SQL注入攻击全面预防办法及应用[J].计算机信息, 2006 (3) :18-20.

[6]刘帅.SQL注入攻击及其防范检测技术的研究[J].电脑知识与技术, 2009 (28) .

DDoS攻击原理及防范策略研究 第9篇

1.1 Do S攻击

拒绝服务DoS (Denial of Service, 简称DoS) 在广义上可以指任何导致服务器不能正常提供服务的攻击。最常见的DoS攻击是利用大量的服务请求来占用过多的服务资源, 致使服务超载, 无法响应其它的请求。这些服务资源包括网络带宽、文件系统空间容量、开放的进程或连接数等。因为任何资源都有一定的限制, 所以无论计算机的处理速度多么快,内存容量多么大,与互连网连接的带宽多么高, 都无法避免这种攻击带来的后果。另外一种常见的DOS攻击是通过欺骗伪装等方法使得提供服务资源的主机出现错误响应, 从而使其停止提供服务甚至崩溃。

1.2 DDo S攻击

分布式拒绝服务DDoS (Distributed Denial of Service, 简称DDoS) 攻击手段是在传统DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小时,它的效果是明显的。但随着计算机及网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大———目标对恶意攻击包的“消化能力”得到加强。例如攻击软件每秒钟可以发送1000个攻击包,但主机与网络带宽每秒钟可以处理5000个攻击包,这样一来攻击就不会产生任何效果。而DDoS攻击则采用大量分布的主机对单个或多个目标进行攻击,这种攻击方式是一个非常严峻的安全问题。由于这种攻击可以非常容易地从不同站点并发地进行, 攻击者不需直接对目标进行攻击, 只需通过控制傀儡机来命令分布在不同计算机上的攻击进程进行攻击, 并且常常采用伪造、随机变化报文源IP地址、随机变化报文内容等方法, 使得DDoS的攻击特征难以提取, 攻击源的位置难以确定。

如图1所示,一个比较完善的DDoS攻击体系分成4大部分,第二部分主控端和第三部分代理端分别用作控制和实际发起攻击。对于第四部分的受害者来说,DDoS的实际攻击包是从第三部分代理端上发出来的,第二部分的主控端只发布命令而不参与实际的攻击;而对于第二、三部分计算机,黑客则有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自黑客的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些代理端并没有什么异常,只是一旦黑客连接到它们进行控制,并发出指令的时候,代理端就会去发起攻击。

2 DDoS攻击的分类

DDoS攻击以攻击的方式分类可分为协议攻击和暴力攻击两种。

2.1 协议攻击

协议攻击是指黑客利用某一网络协议设计上的弱点或执行上的bug消耗大量资源,例如TCP SYN攻击。

2.1.1 TCP握手协议

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用3次握手建立1个连接的方式。

第一次握手:建立连接时,客户端发送syn包 (syn=j) 到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包时,必须确认客户的SYN (ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包时,向服务器发送确认包ACK (ack=k+1) ,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成3次握手。

完成3次握手后,客户端与服务器开始传送数据。在上述过程中,还有一些重要的概念需要涉及。

未连接队列:在3次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态且收到客户的确认包时,删除该条目,服务器进入ES-TABLISHED状态。

Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK重传次数:当服务器发送完SYN-ACK包后,如果未收到客户确认包,服务器将在进行首次重传后等待一段时间,如仍未收到客户确认包,进行第二次重传;如果重传次数超过系统规定的最大重传次数,系统则将该连接信息从半连接队列中删除。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这一报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。但有时也称半连接存活时间为Timeout时间或SYN_RECV存活时间。

2.1.2 SYN Flood原理

SYN Flood利用了TCP/IP协议的固有漏洞,而面向连接的TCP3次握手则是SYN Flood存在的基础。

假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的 (第三次握手无法完成) 。这种情况下服务器端一般会重试 (再次发送SYN+ACK给客户端) 并等待一段时间后丢弃这一未完成的连接,这段时间长度称为SYN Timeout,一般来说这一时间是分钟的数量级 (大约为30秒-2分钟) ;一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端为了维护一个非常大的半连接列表将消耗非常多的资源。实际上,如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃;即使服务器端的系统足够强大,服务器端也将忙于处理攻击伪造的TCP连接请求而无暇理睬客户的正常请求 (毕竟客户端的正常请求比率非常之小) 。此时从正常客户的角度来看,服务器失去响应,这种情况称作服务器端收到了SYN Flood攻击 (SYN洪水攻击) 。

2.2 暴力攻击

暴力攻击则是黑客使用大量正常的联机消耗被害目标的资源。由于黑客会准备多台主机发起DDoS攻击,向受害主机发送大量看似合法的网络包,因此攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没。只要单位时间内攻击方发出的网络流量高于目标所能处理的速度,即可消耗掉目标的处理能力而使得正常的使用者无法使用服务。

3 DDoS攻击的检测

虽然DDoS攻击常常让人防不胜防,但其仍然存在一些明显的特征,往往会引起如下几种异常:

(1)根据分析,攻击者在进行DDoS攻击前总要解析目标的主机名,而BIND域名服务器则能够记录这些请求。由于每台攻击服务器在进行一个攻击前都会发出PTR反向查询请求,因此在DDoS攻击前,域名服务器会接收到大量的反向解析目标IP主机名的PTR查询请求。

(2)当DDoS攻击一个站点时,会出现明显超出该网络正常工作时的极限通讯流量的现象。现在的技术能够分别对不同的源地址计算出对应的极限值,当明显超出此极限值时就表明存在DDoS攻击的通讯,因此可以在主干路由器端建立ACL访问控制规则以监测和过滤这些通讯。

(3)出现特大型的ICMP和UDP数据包。正常的UDP会话一般都使用小的UDP包,通常有效数据内容不超过l0字节,正常的ICMP消息也不会超过64到128字节。那些大小明显大得多的数据包很有可能就是控制信息通讯用的,主要含有加密后的目标地址和一些命令选项。一旦捕获到 (没有经过伪造的) 控制信息通讯,DDoS服务器的位置就无所遁形了,因为控制信息通讯数据包的目标地址是无法伪造的。

(4)不属于正常连接通讯的TCP和UDP数据包。最隐蔽的DDoS工具通常随机使用多种通讯协议 (包括基于连接的协议) ,通过基于无连接通道发送数据。优秀的防火墙和路由规则能够发现这些数据包。另外,那些连接到高于1024而且不属于常用网络服务的目标端口的数据包也是非常值得怀疑的。

(5)数据段内容只包含二进制和high-bit字符的数据包。虽然此时可能在传输二进制文件,但如果这些数据包不属于正常有效的通讯,则可以怀疑正在传输的是没有被BASE64编码但经过加密的控制信息通讯数据包 (如果实施这种规则,必须将20、2l、80等端口上的传输排除在外) 。

4 DDoS的防范策略

到目前为止,进行DDoS攻击的防御还是比较困难的,尤其是SYN攻击的特点是它利用了TCP/IP协议的漏洞,因此只有不用TCP/IP才有可能完全抵御住DDoS攻击。

4.1 主机上的设置

几乎所有的主机平台都有抵御DoS的设置:

(1)关闭不必要的服务。

(2)限制同时打开的SYN半连接数目。

(3)缩短SYN半连接的time out时间。

(4)即时更新系统补丁。

4.2 网络设备上的设置

网络设备的设置可以从防火墙与路由器上入手。这两个设备都是与外界的接口设备,在进行防DDoS设置的同时,要注意这是以效率的牺牲为代价的。

(1)过滤网关防护。过滤网关主要是指防火墙,但路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置、SYN网关和SYN代理3种。

(2)网关超时设置。防火墙可设置SYN转发超时参数(状态检测的防火墙可在状态表里面设置),该参数远小于服务器的timeout时间。当客户端发送完SYN包,服务端发送确认包后(SYN+ACK),防火墙如果在计数器到期时还未收到客户端的确认包(ACK),则往服务器发送RST包,以使服务器从队列中删去该半连接。值得注意的是,网关超时参数设置不宜过小也不宜过大。超时参数设置过小会影响正常的通讯;设置太大,又会影响防范SYN攻击的效果。因此必须根据所处的网络应用环境来设置此参数。

(3) SYN网关。SYN网关收到客户端的SYN包时,直接转发给服务器;SYN网关收到服务器的SYN/ACK包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK确认包。此时服务器由半连接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。事实上,服务器除了维持半连接队列外,还要有一个连接队列。如果发生SYN攻击,将使连接队列数目增加,但由于一般服务器所能承受的连接数量比半连接数量大得多,所以这种方法能有效地减轻对服务器的攻击。

(4) SYN代理。当客户端SYN包到达过滤网关时,SYN代理并不转发SYN包,而是以服务器的名义主动回复SYN/ACK包给客户。如果收到客户的ACK包,则表明这是正常的访问,此时防火墙向服务器发送ACK包并完成3次握手。SYN代理事实上代替了服务器去处理SYN攻击,此时要求过滤网关自身具有很强的防范SYN攻击能力。

参考文献

[1]L.Feinstein, D.Schnackenberg.DDoS Tolerant Network.Proceedings of the DARPA Information Survivability Conference and Expostion, April 2003.

[2]Paxson V.An analysis of using reflectors for distributed denial of service attacks[J].Computer Communication Review.2001.

[3]吴虎, 云超.对DDoS攻击防范策略的研究及若干实现[J].计算机应用研究, 2002 (11) .

[4]陈琳, 刘本仓.DDoS攻击的技术分析及防御策略研究[J].网络安全技术与应用, 2006 (4) .

浅析拒绝服务攻击原理及防范措施 第10篇

1 拒绝服务攻击的含义

拒绝服务攻击 (Denial of Service) 是一种最为常见的攻击方式, 由于其攻击目标仅仅是造成受害网络与信息系统无法正常对外提供服务, 因此属于较为容易实施的一类攻击方式。同时, 伴随着大规模僵尸网络的盛行, 资源耗尽型拒绝服务攻击也格外便于实现并可能造成严重的后果。

2 拒绝服务攻击的分类

2.1 漏洞利用拒绝服务攻击

漏洞利用拒绝服务攻击是一种利用漏洞造成软件不能正常运行的攻击方式。这种拒绝服务不依赖大量傀儡机, 也不需要发送大量访问请求, 而仅仅是利用目标节点软件的安全漏洞, 通过精心的构造恶意数据包, 造成目标节点软件不能有效的运行。

2.2 分布式拒绝服务攻击

分布式拒绝服务 (Distributed Denial of Serxrice, DDo S) 攻击是一种资源耗尽型攻击, 通常也被称作洪水攻击。顾名思义, 即是利用分布于网络上的大量节点向同一目标节点发起的引起目标节点资源被大量消耗而不能正常对外提供服务的网络攻击方式。从技术原理上看, 分布式拒绝服务攻击主要是指那些借助外界的平台, 如客户或者是服务器本身, 把不同的计算机系统联合在一起, 对其进行必要的攻击, 进而加倍的增强拒绝攻击的成果。一般情况, 攻击者将分布式拒绝服务攻击的主控程序安装在一个用于控制的计算机上, 将受控程序安装部署在因特网的多台计算机上。主控程序可以与受控程序进行通讯并控制受控程序的行为, 当主控程序发送特定的指令时, 受控程序即可根据指令发动攻击。

2.3 分布式反射拒绝服务攻击

分布式反射拒绝服务攻击 (Distributed Reflection Denial of Service, DRDo S) 是一种较新出现的资源耗尽型拒绝服务攻击。最早在2002年被发现, 2002年1月11日凌晨两点, grc.conl遭到此类攻击, 大量的ack应答造成了grc.corn陷于崩溃的边缘。与分布式拒绝服务攻击使用伪造源IP地址不同, 分布式反射拒绝服务攻击的来源IP地址全是真实地址, 这些真实的网络节点本身并没有安全漏洞, 而是利用TCP三次握手来实现的。首先, 攻击者通过控制的傀儡机使用受害者IP地址作为源地址向任意处于活动状态的网络节点 (如核心路由器、域名服务器、大型网站等) 发送带有SYN标记的数据包, 也就是TCP三次握手的第一步;处于活动状态的网络节点接收到伪造源IP地址的数据包后, 将会按照协议要求向受害者进行应答, 发送带有SYN、ACK标记的应答数据包。当攻击者使用大量傀儡机同时发起攻击时, 即完成了一次分布式反射拒绝服务攻击。

3 拒绝服务攻击的原理

拒绝服务攻击是一种广泛的系统漏洞, 黑客们热衷于对它的研究, 而无数的网络用户将成为这种攻击的受害者。它是一种简单的破坏性攻击, 黑客通常利用TCP/IP中的某种漏洞, 或者系统存在的某些漏洞, 对目标系统发起大规模的攻击, 使攻击目标失去工作能力, 系统不可访问, 合法用户不能及时得到服务或系统资源, 如CPU处理时间与网络带宽等。其实, 它最本质的特征是延长正常的应用服务的等待时间。

根据TCP/IP协议的原理, 当客户端要和服务器进行通信时, 会通过请求/确认的方式进行联系, 例如用户登录服务器时, 首先是用户向服务器发送请求信息, 服务器给予响应回复客户端的请求, 当被确认后, 客户端才能正式和服务器交流信息。在拒绝服务攻击情况下, 黑客凭借虚假地址向服务器提交连接请求, 当然服务器回复信息时就送到这个虚假地址, 但是服务器回传时却无法找到这个地址, 根据TCP/IP连接原理, 此时服务器会进行等待, 达到超时设置时才会断开连接。如果攻击者传送多个这样的请求或利用多个站点同时传送这样的请求, 那么服务器就会等待更长时间, 这个过程周而复始, 最终会导致服务器资源用尽, 网络带宽用完, 正常的服务请求不能被服务器处理及回复, 最终形成服务器的拒绝服务。拒绝服务并不是服务器不接受服务, 而是服务器太忙, 不能及时地响应请求, 相对于客户端来说, 就认为是服务器拒绝服务, 严重时会造成服务器死机, 甚至导致整个网络瘫痪。

4 防范拒绝服务攻击的措施

4.1 加强用户的安全防范意识

对于用户, 要不断的增加安全技能知识的培训, 以此来提高用户的安全防范意识, 降低因个人疏忽造成的不安全因素的入侵和安全危机, 如:数据的丢失、密码外泄等情况;关闭那些不必要的网址和窗口, 尤其是那些明显存在着安全漏洞的接口, 像Portmapper接口等;其次在使用的计算机上安装防范功能较强的防范软件;此外还要运用安装的防范软件对计算机做定时的安全扫描工作, 把安全隐患扼杀在萌芽的状态之中;最后, 要对安全防范知识的普及做到学以致用。

4.2 增加安全防范手段

对于那些可以有效的防治安全漏洞的软件要进行必要的了解和掌握, 同时还要对网络中出现的不同安全隐患攻击类型和方法进行了解, 以便能够更好的发现网络中出现的问题, 并根据具体的问题提出相应的解决措施。当发现有危险性的软件运行时, 要及时运用网络中自带的检测系统进行必要的检测和拦截;同时还可以使用一些专门漏洞检查工具进行问题的检测, 如:网络测试仪、流量测试仪等, 及时的找出修复漏洞的方法和措施, 减少不必要的损失。

4.3 正确运用安全防范工具

在网络系统受到外界安全隐患攻击时, 及时的使用简单网络检测软件对不安全因素进行检测, 同时, 对测试工具的进行有效的选择, 以此来判断安全隐患的来源以及是否会对网络系统造成严重的损害;也可以使用那些专门检测网络安全隐患的软件, 定期的进行检测。其目的主要是为了能够对黑客初期的攻击进行防范, 采取适当的措施以避免对网络系统造成重大危害, 让站点可以持续的提供服务给所有的请求者。

5 结论

从整体上看, 随着Do S的破坏性能不断增强, 防范要求越来越高, 但制定一系列的安全措施是非常必要的, 应该实行多重安全防护措施, 同时不断提高人们的安全意识, 只有这样才能更好的防范拒绝服务攻击带来的危害。

参考文献

[1]汪明燕.DoS/DDoS拒绝服务攻击分析及防范对策[J].电脑知识与技术, 2005, (24) .

[2]方建超, 徐全军.网络安全漏洞检测技术分析[J].计算机安全, 2005, (10) .

[3]李禾, 王述洋.拒绝服务攻击/分布式拒绝服务攻击防范技术的研究[J].中国安全科学学报, 2009 (1) .

[4]王硕, 赵荣彩, 颜峻, 等.基于代理服务器的分布式拒绝服务攻击系统设计与实现[J].信息工程大学学报, 2012 (3) :365-369.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【攻击原理】相关文章:

电子攻击05-12

几何攻击05-27

攻击预防06-08

攻击黑客06-25

漏洞攻击06-27

恶意攻击06-28

攻击对策08-01

攻击模式08-20

常见攻击09-12

攻击方式论文07-01

上一篇:非手术综合康复治疗下一篇:地震科研项目系统设计