互联网中的安全性攻击XSS,DDOS,ARP欺骗

互联网中的安全性攻击

    • XSS攻击:
    • 缓冲区溢出:
    • DDos 分布式拒绝服务
    • SYN泛洪攻击:
    • ARP 欺骗性攻击

XSS攻击:

XSS攻击叫做跨站脚本攻击,是一种web应用中的计算机安全的漏洞。这种攻击允许恶意的web用户将代码移植入web用户为其它用户提供的页面当中。

概念这样说是有一点笼统,举个现实中的例子,就比如朋友给你发送一个恶意的链接,你只要点击之后就会跳转到它的恶意界面,按照它的指令来,甚至有时候还要重启设备。

常见的几种XSS攻击

  1. 反射性的XSS攻击
    反射性的XSS攻击多出现在电子邮件中,或者URL中,攻击者通过一些特定的媒介(比如一个URL,电子邮件传输一些URL链接),恶意的代码或者恶意的界面就会出现在用户的浏览器界面,除了影响用户的体验以外,还有恶意代码加弹窗,有时甚至还有窃取客户端的Cookie信息进行一些欺骗性的攻击。但是这种XSS攻击是不经过数据库的,也就是是短暂的。
  2. 存储型的XSS攻击
    这种XSS攻击多出现在服务器端(数据库,内存,文件系统),当普通用户去访问页面数据的时候。这时候恶意的XSS脚本攻击就会从服务器加载出来,返回到浏览器被以HTML格式解析出来,XSS攻击就发生了。恶意的脚本存储在服务端的数据库中。每当我们再次访问相同页面时,将恶意脚本从数据库中取出并返回给浏览器执行。这就意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此储存型XSS的危害会更大。
    现实中的例子就是上一个网站的时候会自动跳转别的网站信息,比如博彩之类的垃圾网站。

XSS的危害

  1. 钓鱼链接,跳转页面,影响用户的体验。
  2. 盗取用户端的cookie.盗取用户的账号,伪造用户进行对当前页面的访问。
  3. 劫持流量,进行恶意的用途,比如对某一个信息大量的浏览来增加浏览量,有点像肉鸡

如何防备XSS漏洞攻击

  1. 过滤。 对一些标签要进行过滤。比如< script > < img >
  2. 编码。对一些常见符号要转换编码。这样做不会影响浏览器的解释执行。
  3. 限制。 xss进行攻击的时候往往需要较长的字符串,所以对预期的输入可以通过一些限制长度来抵御攻击。

缓冲区溢出:

看似这个互联网安全的漏洞没有什么危害,但是一切都肯定是相对的,我们看的方面也比较狭隘,因为我们平时写的程序缓冲区漏出又叫做缓冲区溢出(比如我们的strcpy函数,这个函数是不安全的,因为不知道我们分配的缓冲区大小是多少,如果超过了缓冲区的大小,那么久必然会溢出),顶多就是程序报一个错误BUFFER FLOW罢了,但是在互联网安全中,缓冲区溢出也是一个不可忽略的问题。

以下就是听到大佬的讲解,我觉得总结的特别好,也学到了,orz,orz %%%

如果是操作系统的缓冲区溢出,或者日活跃数特别大的应用如微信缓冲区溢出,那么就会出现一些不必要的麻烦。缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到系统权限,然后为所欲为。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,它可被利用来执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

缓冲区溢出的危害
Morris遍历得那个大佬,莫里斯(Morris) 利用了UNIX fingered程序不限制输入长度,存在缓冲区溢出漏洞及Unix sendmail、rsh/rexec中的已知/未知漏洞以及弱密码,编写了Morris蠕虫,造成6200余台计算机陷入瘫痪(占1988年接入互联网计算机总数的10%),直接造成经济损失9600万美元

模拟一下黑客的视角
我们不断的向目标主机的应用层端发送大量的信息,目标主机的寄存器中内存单元肯定也会受到这些信息,正在处理,但是由于缓冲区的不足,提示"内存地址"的信息不可读,正是由于我们发送的数据目标主机内存溢出,把消息当做指令来处理了,所以才显示不可读的,要是将这些指令换成黑客的代码,那么就可想而知了, 这样说有更深一步的了解缓冲区的危害了。

DDos 分布式拒绝服务

有一群恶意访问的肉鸡(攻击者通过木马病毒控制的僵尸机)不断的向你的服务器发送请求,导致你的服务器处理请求处理不过来,占用服务器的网络资源(带宽,信道等等)导致你的服务器不能正常的处理正确事务的请求叫做DDos攻击。严重时有可能导致你的服务器无法正常使用甚至宕机。

DDos的防御

  1. 反欺骗。对数据报的端口进行验证
  2. 协议栈的模式分析。必须符合FRC的规定,每一个数据报必须有完整的信息。
  3. 用户的分析模式。 真正的请求数据是随机访问的,而肉鸡伪造的数据都是相同的访问,识别出来加以禁止。
  4. 增加分布式的服务器。也就是增加CDN,使得大量的访问不在访问到同一服务器,而是分发到不同的服务器上,进行不同的访问。

SYN泛洪攻击:

SYN泛洪也是一种拒绝服务(DDoS)攻击,旨在通过消耗所有可用的服务器资源使服务器对合法流量不可用。通过重复发送初始连接请求(SYN)数据包,攻击者可以淹没目标服务器计算机上的所有可用端口,从而导致目标设备缓慢响应合法流量或根本不响应。服务器端为了维护数以万计的半连接而消耗非常多的资源,结果往往是无暇理睬客户的正常请求,甚至崩溃

SYN泛洪攻击具体过程

  1. 攻击者通常使用欺骗性IP地址向目标服务器发送大量SYN数据包。
  2. 服务器响应每个连接请求,并准备好接收响应的开放端口。
  3. 当服务器等待从未到达的最终ACK数据包时,攻击者继续发送更多的SYN数据包。每个新SYN数据包的到达导致服务器暂时维持新的开放端口连接一段时间,并且一旦利用了所有可用端口,服务器就无法正常运行。

SYN泛洪攻击的主体
发送泛洪攻击的主机可以是: 普通用户的ip地址主机(真实的ip地址进行创建攻击),欺骗性的ip地址(具体原理),分布式的攻击的僵尸主机(肉鸡,分布式设备)。

如何预防:

  1. 增加Backlog队列。增加同一时间的连接数的限制,增大半连接数的限制,使得同一时间处理的连接数可以增大
  2. 设置SYN cookie。SYN cookie的有效防御现在已部署在大多数主要的操作系统中。
    SYN cookie 的工作原理: 当服务器收到SYN报文段时,他不知道该段是来自合法用户还是属于SYN泛洪攻击的一部分。因此,服务器不会为此SYN创建半开连接,而是创建初始TCP序列号,该序列号是由一个复杂的散列函数将 源和目标的IP地址和SYN报文段中的端口号,以及只有该服务器知道的secret number,作为输入得到的。这个精心设计的初始序列号就是所谓的“cookie”。服务器然后向客户端发送带有这个特殊序列号的SYNACK报文段。重要的是服务器不用记住cookie或者与SYN相对应的任何状态和信息。

ARP 欺骗性攻击

通过一个样例来讲述ARP欺骗性攻击:
A主机要与B主机进行通信,采用局域网广播的方式,向局域网中广播发送一个局域网请求包找到目的主机B对应的物理地址。请求包中当然包括了当前A主机的ip地址,mac地址等信息,以及目的主机B的ip地址。通过层层的寻找,B主机收到了A主机的询问信息后,返回一个ARP响应,并且在当前的ARP缓存表中记录下自己的A地址的信息以及A的IP信息。这就是主机A与主机B之间的进行ARP请求与响应的过程。此时假设C是黑客。
正常情况下,局域网中的C主机收到了A主机广播的ARP请求后,查看到里面目的主机的ip地址不是C主机的就会被丢弃,但是C主机在收到A主机发送给A主机的响应包中:我就是PCB(IP B-MAC C)。 此时,这里就是一个ARP的欺骗性攻击。
但是此时 A主机收到了两个数据报分别是 IP B MAC B (正确的数据包),和黑客C的欺骗性数据包IP B MAC C。 但是呢,要么"先到先得",要么"后到优先"。ARP缓存表中,就是遵循"后到优先"原则。而作为黑客,只要持续不停发出ARP欺骗包,就一定能够覆盖掉正常的ARP回应包。稳健的ARP嗅探/渗透工具,能在短时间内高并发做网络扫描(例如1秒钟成千上百的数据包),能够持续对外发送欺骗包。

ARP的危害

  1. 攻击者既然操控了数据流,那么直接断开通信是轻而易举的,即"断网攻击",例如,PC1发给PC2的数据在PC3这里可以直接丢弃,而如果这里的PC2是一台出口路由器(无线路由器),那就意味着PC1直接无法连上互联网。
  2. 限速"。例如,在宿舍上网突然很慢,在网吧上网突然打不开网页,如果这个网络没有安全防御,那么很有可能有"内鬼"。
  3. 任何基于明文传输的应用,都可以被窃取。如果一个网站是基于HTTP明文传输,那么当你登录这个网站时,你的密码就会被窃取。除了http(web应用),常见的还有telnet、ftp、pop3/smtp/imap(邮箱)等应用,都很容易泄露密码

你可能感兴趣的:(Linux)