几种常见的黑客攻击手段

常见的黑客攻击手段

常见的攻击手段有:ARP攻击,DoS攻击,DDoS攻击,SYN攻击,缓冲区溢出攻击,等等。下面我将对这几种攻击做个介绍。

1 ARP攻击

ARP(Address Resolution Protocol)是地址解析协议,是一种利用网络层地址来取得数据链路层地址的协议。ARP欺骗是黑客常用的攻击手段之一,其中最常见的一种形式是针对内网PC的网关欺骗。它的基本原理是黑客通过向内网主机发送ARP应答报文,欺骗内网主机说:“网关的IP地址对应的是我的MAC地址”,也就是ARP应答报文中将网关的IP地址和黑客的MAC地址对应起来。这样内网PC本来要发送给网关的数据就发送到了黑客的机器上了。

2 DoS攻击

拒绝服务(Denial of Service,DoS)攻击,其原理就是想办法让目标机器停止提供服务货或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访向。
DoS的攻击方式有很多种,根据其攻击的手法和目的不同,有两种不同的存在形式。
一种是以消耗目标主机的可用资源为目的,使目标服务器忙于应付大量非法的,无用的连接请求,占用了服务器所有的资源、造成服务器对正常的请求无注再做出及时响应,从而形成事实上的服务中断。这是最常见的拒绝服务攻击形式之一。这种攻击主要利用的是网络协议或者是系统的一些特点和漏洞进行攻击,主要的攻击方法有死亡之Ping 、SYN Flood、UDP Flood、ICMP Flood、Land、 Teardrop 等。针对这些漏洞的攻击,目前在网络中都有大量的工具可以利用。
另一种拒绝服务攻击以消耗服务器链路的有效带宽为目的。攻击者通过发送大量的有用或无用数据包,将整条链路的带宽全部占用,从而使合法用户请求无法通过链路到达服务器。例如,蠕虫对网络的影响。具体的攻击方式很多,如发送垃圾邮件,向匿名FTP塞垃圾文件,把服务器的硬盘塞满;合理利用策略锁定账户,一般服务器都有关于账户锁定的安全策略,某个账户连续3次登录失败,那么这个账号将被锁定。破坏者伪装一个账号,去错误地登录,使这个账号被锁定,正常的合法用户则不能使用这个账号登录系统了。

3 DDoS攻击

分布式拒绝服务(Distributed Denial of Service, DDoS)攻击,是一种基于DoS的特殊式的攻击,是一种分布、协作的大规模攻击方式,主要攻击比较大的站点,如商业公司、搜索引擎和政府部]的站点。
DDoS借助数百台、甚至数千台被植人攻击守护进程的攻击主机同时发起进攻,这种攻击对网络服务提供商的破坏力是巨大的。
攻击准备:
(1)攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。
(2)攻击者进入其已经发现的最弱的客户主机之内(“肉鸡”),并且秘密地安置一个其可远程控制的代理程序(端口监督程序demon)。
发起攻击:
(3)攻击者使他的全部代理程序同时发送由残缺的数字包构成的连接请 求送至目标系统。
(4)包括虚假的连接请求在内的大量残缺的数字包攻击目标系统,最终将导致它因通信淤塞而崩溃。

SYN Flood攻击

SYN Flood攻击利用的是TCP缺陷。通常一次TCP连接的建立包括3个步骤:客户端发送SYN包给服务器端;服务器分配一定的资源并返回SYN/ACK包,并等待连接建立的最后的ACK包;最后客户端发送ACK报文。这样两者之间的连接建立起来,并可以通过连接传送数据。攻击的过程就是疯狂地发送SYN报文,而不返回ACK报文。当服务器未收到客户端的确认包时,规范标准规定必须重发SYN/ACK请求包,一直到超时,才将此条目从未连接队列删除。SYN Flood 攻击耗费CPU和内存资源,而导致系统资源占用过多,没有能力响应其他操作,或者不能响应正常的网络请求。
由于TCP/IP相信报文的源地址,攻击者可以伪造源IP地址,为追查造成很大困难。如果想要查找,必须通过所有骨干网络运营商的路由器,逐级地向上查找。
SYN Flood攻击除了能影响主机外,还危害路由器、防火墙等网络系统。

4 缓冲区溢出攻击

缓冲区是一块连续的计算机内存区域,在程序中,通常把输入数据存放在一个临时空间内,这个临时存放空间被称为缓冲区。在计算机内部,如果向一个容量有限的内存空间里存储过量得的数据,这时数据也会溢出存储空间。
在程序编译完以后,缓冲区中存放数据的长度事先已经被程序或者操作系统定义好,如果往程序的缓冲区写超出其长度的内容,就会造成缓冲区的溢出,覆盖其他空间的数据,从而破坏程序的堆栈,使程序转而执行其他指令。
根据被覆盖数据的位置的不同,缓冲区溢出分为静态存储区溢出、栈溢出和堆溢出等3种。
发生溢出后,进程可能的表现有3中:一种是正常运行,被覆盖的是无用的数据,并没有发生访问违例。二是运行出错,包括输出错误和非法操作等。三是受到攻击,程序开始执行有害代码,攻击者就能获取对系统的控制。
基本原理:黑客精心设计一个EIP(执行接口程序),使程序发生溢出之后改变正常流程,转而去执行他们设计好的一段代码,攻击者就能获取对系统的控制,利用ShellCode实现各种功能,如:监听一个端口,添加一个用户,等等。
缓冲区溢出源于程序执行时需要存放数据的空间,也即我们所说的缓冲区。 缓冲区的大小是程序执行时固定申请的。然而,某些时候,在缓冲区内装载的数据大小是用户输入的数据决定的。程序开发人员偶尔疏忽了对用户输入的这些数据作长度检查,由于用户非法操作或者错误操作,输入的数据占满了缓冲区的所有空间,且超越了缓冲区边界延伸到缓冲区以外的空间。我们称这个动作为缓冲区溢出。
缓冲区溢出是由于系统和软件本身存在脆弱点所导致的。 例如目前被广泛使用的C和C++,这些语言在编译的时候没有做内存检查,即数组的边界检查和指针的引用检查,也就是开发人员必须做这些检查,可是这些事情往往被开发人员忽略了;标准C库中还存在许多不安全的字符串操作函数,包括:strcpy(),sprintf(),gets()等等,从而带来了很多脆弱点,这些脆弱点也便成了缓冲区溢出漏洞。

发布了6 篇原创文章 · 获赞 2 · 访问量 527

猜你喜欢

转载自blog.csdn.net/qq_40927867/article/details/104413947