如何防止网站被攻击_网络攻击的途径

hacker|
128

网络入侵四大主要途径对应策略保安全

计算机病毒入侵主要有源代码嵌入攻击型、代码取代攻击型、系统修改型和外壳附加型四种方式,而对网络入侵来讲我个人认为主要分为主动入侵和被动入侵。

主动入侵主要是指用户主动去执行病毒以及木马程序,例如浏览存网站中植入了恶意病毒及其木马程序的网页,这些木马程序(病毒)大多是利用操作系统的漏洞,当用户访问网页时,将会主动下载该类木马程序并执行。还有就是目前比较流行的优盘病毒,通过优盘来进行传播和执行,这种类型的攻击非常隐蔽,不易察觉,当用户连接互联网时,木马(病毒)的客户端可以对感染木马(病毒)的服务端进行控制。

被动入侵主要是指由入侵者主动发动的攻击,例如扫描系统口令,利用系统存在的远程溢出漏洞进行溢出攻击,SQL注入攻击等。如果用户具有一定安全意识,被成功入侵的几率较低。

通过分析研究,对于网络计算机通过采取以下措施,将会大大降低安全风险:

(1)及时更新操作系统补丁程序。系统安装完成后,不要立即连接互联网,而是安装操作系统最新的一些安全补丁程序,特别是要安装一些高危漏洞的补丁程序,很多网页就是利用这些漏洞来执行木马程序。

(2)安装杀毒软件和防火墙,并及时更新病毒库。及时更新杀毒软件的病毒库可以有效的查杀病毒和木马程序。

(3)谨慎下载软件。目前计算机运行的很多程序大多为盗版,无法进行来源验证,很多提供下载的程序都捆绑有木马程序,因此不要运行来历不明的程序,尽量到大型正规网站下载软件。

(4)做好系统和数据备份。系统安装完成后,一定要进行数据和操作系统的备份,做一个Ghost文件,便于出现问题后可以立即恢复系统或者数据。

网络攻击的几种类型

网络攻击(Cyber

Attacks,也称赛博攻击)是指针对计算机信息系统、基础设施、计算机网络或个人计算机设备的,任何类型的进攻动作。对于 计算机 和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的情况下偷取或访问任何一计算机的数据,都会被视为于计算机和计算机网络中的攻击。

网络攻击的种类

1、主动攻击

主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改、伪造消息数据和终端(拒绝服务)。

(1)篡改消息

篡改消息是指一个合法消息的某些部分被改变、删除,消息被延迟或改变顺序,通常用以产生一个未授权的效果。如修改传输消息中的数据,将“允许甲执行操作”改为“允许乙执行操作”。

(2)伪造

伪造指的是某个实体(人或系统)发出含有其他实体身份信息的数据信息,假扮成其他实体,从而以欺骗方式获取一些合法用户的权利和特权。

(3)拒绝服务

拒绝服务即常说的DoS(Deny of Service),会导致对通讯设备正常使用或管理被无条件地中断。通常是对整个网络实施破坏,以达到降低性能、终端服务的目的。这种攻击也可能有一个特定的目标,如到某一特定目的地(如安全审计服务)的所有数据包都被阻止。

2、被动攻击

被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意和认可的情况下攻击者获得了信息或相关数据。通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。

(1)流量分析

流量分析攻击方式适用于一些特殊场合,例如敏感信息都是保密的,攻击者虽然从截获的消息中无法的到消息的真实内容,但攻击者还能通过观察这些数据报的模式,分析确定出通信双方的位置、通信的次数及消息的长度,获知相关的敏感信息,这种攻击方式称为流量分析。

(2)窃听

窃听是最常用的手段。应用最广泛的局域网上的数据传送是基于广播方式进行的,这就使一台主机有可能受到本子网上传送的所有信息。而计算机的网卡工作在杂收模式时,它就可以将网络上传送的所有信息传送到上层,以供进一步分析。如果没有采取加密措施,通过协议分析,可以完全掌握通信的全部内容,窃听还可以用无限截获方式得到信息,通过高灵敏接受装置接收网络站点辐射的电磁波或网络连接设备辐射的电磁波,通过对电磁信号的分析恢复原数据信号从而获得网络信息。尽管有时数据信息不能通过电磁信号全部恢复,但可能得到极有价值的情报。

由于被动攻击不会对被攻击的信息做任何修改,留下痕迹很好,或者根本不留下痕迹,因而非常难以检测,所以抗击这类攻击的重点在于预防,具体措施包括虚拟专用网VPN,采用加密技术保护信息以及使用交换式网络设备等。被动攻击不易被发现,因而常常是主动攻击的前奏。

被动攻击虽然难以检测,但可采取措施有效地预防,而要有效地防止攻击是十分困难的,开销太大,抗击主动攻击的主要技术手段是检测,以及从攻击造成的破坏中及时地恢复。检测同时还具有某种威慑效应,在一定程度上也能起到防止攻击的作用。具体措施包括自动审计、入侵检测和完整性恢复等。

攻击的方法主要有:

[if !supportLists]·        [endif]口令入侵

[if !supportLists]·        [endif]特洛伊木马

[if !supportLists]·        [endif]WWW欺骗

[if !supportLists]·        [endif]电子邮件

[if !supportLists]·        [endif]节点攻击

[if !supportLists]·        [endif]网络监听

[if !supportLists]·        [endif]黑客软件

[if !supportLists]·        [endif]安全漏洞

[if !supportLists]·        [endif]端口扫描

如何避免网络攻击呢,第一种是同源检测的方法

服务器根据 http 请求头中 origin 或者referer 信息来判断请 求是否为允许访问的站点,从而对请求进行过滤。当 origin 或者 referer 信息都不存在的 时候,直接阻止。这种方式的缺点是有些情况下referer 可以被伪造。还有就是我们这种方法 同时把搜索引擎的链接也给屏蔽了,所以一般网站会允许搜索引擎的页面请求,但是相应的页面 请求这种请求方式也可能被攻击者给利用。

第二种方法是使用 CSRF Token 来进行验证

服务器向用户返回一个随机数 Token ,当网站 再次发起请求时,在请求参数中加入服务器端返回的 token ,然后服务器对这个 token 进行 验证。这种方法解决了使用 cookie 单一验证方式时,可能会被冒用的问题,但是这种方法存在一个缺点就是,我们需要给网站中的所有请求都添加上这个 token,操作比较繁琐。还有一 个问题是一般不会只有一台网站服务器,如果我们的请求经过负载平衡转移到了其他的服务器,但是这个服务器的 session 中没有保留这个 token 的话,就没有办法验证了。这种情况我们可以通过改变 token 的构建方式来解决。

第三种方式使用双重 Cookie 验证的办法

服务器在用户访问网站页面时,向请求域名注入一个 Cookie,内容为随机字符串,然后当用户再次向服务器发送请求的时候,从cookie 中取出 这个字符串,添加到 URL 参数中,然后服务器通过对 cookie 中的数据和参数中的数据进行比 较,来进行验证。使用这种方式是利用了攻击者只能利用 cookie,但是不能访问获取 cookie 的特点。并且这种方法比 CSRF Token 的方法更加方便,并且不涉及到分布式访问的问题。这 种方法的缺点是如果网站存在 XSS 漏洞的,那么这种方式会失效。同时这种方式不能做到子域 名的隔离。

第四种方式Samesite Cookie

是使用在设置 cookie 属性的时候设置 Samesite限制 cookie 不能作为被第三 方使用,从而可以避免被攻击者利用。Samesite 一共有两种模式,一种是严格模式,在严格模式下 cookie 在任何情况下都不可能作为第三方 Cookie 使用,在宽松模式下,cookie 可以 被请求是 GET 请求,且会发生页面跳转的请求所使用。

Samesite Cookie 表示同站 cookie,避免 cookie 被第三方所利用。将 Samesite 设为 strict ,这种称为严格模式,表示这个 cookie 在任何情况下都不可能作 为第三方 cookie。将 Samesite 设为 Lax ,这种模式称为宽松模式,如果这个请求是个 GET 请求,并且这个请求改变了当前页面或者打开了新的页面,那么这个 cookie 可以作为第三方 cookie,其余情 况下都不能作为第三方 cookie。

使用这种方法的缺点是,因为它不支持子域,所以子域没有办法与主域共享登录信息,每次转入子域的网站,都回重新登录。还有一个问题就是它的兼容性不够好。

常用网络入侵手段

入侵技术技术细分下来共有九类,分别为入侵系统类攻击、缓冲区溢出攻击、欺骗类攻击、拒绝服务攻击、对防火墙的攻击、利用病毒攻击、木马程序攻击、后门攻击、信息战。

1. 入侵系统类攻击

这种攻击手法千变万化,可是攻击者的最终目的都是为了获得主机系统的控制权,从而破坏主机和网络系统。这类攻击又分为:信息收集攻击、口令攻击、漏洞攻击

信息收集型攻击并不对目标本身造成危害,这类攻击被用来为进一步入侵提供有用的信息。主要包括:扫描技术攻击;体系结构探测攻击;利用信息服务攻击;假消息攻击;网络监听攻击等。黑客还会运用社会工程收集信息。

口令攻击是网上攻击最常用的方法,入侵者通过系统常用服务或对网络通信进行监听来搜集帐号,当找到主机上的有效帐号后,就采用字典穷举法进行攻击,或者他们通过各种方法获取password文件,然后用口令猜测程序破译用户帐号和密码。

利用系统管理策略或配置文件的漏洞,获得比合法权限更高的操作权,如:电子邮件DEBUG、Decode、Pipe、Wiz;FTP的CWD~root、Site Exec;IP碎片攻击、NFS猜测、NFS Mknod、NFS UID检查、Rlogin-froot检查等。

利用系统配置疏忽的入侵攻击,如:利用CGI脚本权限配置错误的入侵攻击;利用环境变量配置疏忽的入侵攻击;Setuid 漏洞入侵攻击。

协议漏洞攻击,如:FTP协议攻击;服务程序漏洞攻击,如wu-ftpd漏洞攻击、IIS漏洞攻击;CGI漏洞攻击等。

利用WEB服务器的不合理配置,或CGI程序的漏洞进行攻击,达到获取脚本源码,非法执行程序,使WWW服务器崩溃等目的。如:对NT的IIS服务器的多种攻击,对许多免费CGI程序;对asp,java script程序漏洞的攻击等。

2.缓冲区溢出攻击

通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它的指令,如果这些指令是放在有root权限的内存中,那么一旦这些指令得到了运行,黑客就以root权限控制了系统,达到入侵的目的。缓冲区攻击的目的在于扰乱某些以特权身份运行的程序的功能,使攻击者获得程序的控制权。

缓冲区溢出的一般攻击步骤为:在程序的地址空间里安排适当的代码(植入法或利用已存在的代码),然后,通过适当的地址初始化寄存器和存储器,让程序跳到黑客安排的地址空间中执行(如激活纪录、函数指针或长跳转缓冲区等)。

3.欺骗类攻击

TCP/IP协议本身的一些缺陷可以被利用,使黑客可以对TCP/IP网络进行攻击,网络欺骗的技术主要有:HoneyPot和分布式HoneyPot、欺骗空间技术等。主要方式有:IP欺骗;ARP欺骗;DNS欺骗;Web欺骗;电子邮件欺骗;源路由欺骗(通过指定路由,以假冒身份与其它主机进行合法通信、或发送假报文,使受攻击主机出现错误动作;地址欺骗(包括伪造源地址和伪造中间站点)等。

以IP欺骗攻击为例说明如下,其的实施步骤为:选定目标主机——发现主机间的信任模式——使被信任主机葬失工作能力——TCP序列号的取样和预测——冒充被信任主机进入系统,并留下后门供以后使用。

4. 拒绝服务攻击

通过网络,也可使正在使用的计算机出现无响应、死机的现象,这就是拒绝服务攻击,简称DoS(Denial of Service)。这种攻击行为通过发送一定数量一定序列的报文,使网络服务器中充斥了大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪、停止正常的网络服务。

常见的DoS工具有:同步洪流、WinNuke、死亡之PING、Echl攻击、ICMP/SMURF、Finger炸弹、Land攻击、Ping洪流、Rwhod、tearDrop、TARGA3、UDP攻击、OOB等。

分布式拒绝服务攻击:这种攻击采用了一种比较特别的体系结构,从许多分布的主机同时攻击一个目标,从而导致目标瘫痪,简称DDoS(Distributed Denial of Service)。攻击步骤如下:探测扫描大量主机以找到可以入侵的脆弱主机——入侵有安全漏洞的主机并获取控制权——在每台被入侵的主机上安装攻击程序(整个过程都是自动化的,在短时间内即可入侵数千台主机)——在控制了足够多的主机之后,从中选择一台作为管理机,安装攻击主程序——到指定逻辑状态后,该管理机指挥所有被控制机对目标发起攻击,造成目标机瘫痪。如:Trinoo、TFN、Stacheldraht、TFN2K、Blitznet、Fapi、Shaft、Trank攻击等。

5.对防火墙的攻击

一般来说,防火墙的抗攻击性很强,可是它也不是不可攻破的。其实,防火墙也是由软件和硬件组成的,在设计和实现上都不可避免地存在着缺陷。对防火墙的探测攻击技术有:Firewalking技术、Hping。

绕过防火墙认证的攻击手法有:地址欺骗和TCP序号协同攻击、IP分片攻击、Tcp/Ip会话劫持、协议隧道攻击、干扰攻击、利用FTP-pasv绕过防火墙认证的攻击。

直接攻击防火墙系统的常见手法有:CiscoPix防火墙的安全漏洞:CiscoPIX防火墙的拒绝服务漏洞、CISCOPIX防火墙FTP漏洞允许非法通过防火墙。

6.利用病毒攻击

病毒是黑客实施网络攻击的有效手段之一,它具有传染性、隐蔽性、寄生性、繁殖性、潜伏性、针对性、衍生性、不可预见性和破坏性等特性,而且在网络中其危害更加可怕,目前可通过网络进行传播的病毒已有数万种,可通过注入技术进行破坏和攻击。

计算机病毒攻击的传播途径有电子邮件、传统的软盘、光盘、BBS、WWW浏览、FTP文件下载、新闻组、点对点通信系统和无线通信系统等。

7.木马程序攻击

特洛依木马是一种骗子程序,提供某些功能作为诱饵,背地里干一些鬼事,当目标计算机启动时,木马程序随之启动,然后在某一特定的端口监听,在通过监听端口收到命令后,木马程序根据命令在目标计算机上执行一些操作,如传送或删除文件,窃取口令,重新启动计算机等。常见的特洛伊木马程序有:BO、Netspy、Netbus等。

8.后门攻击

后门是指入侵者躲过日志,使自己重返被入侵系统的技术,后门种类很多,常见的有:调试后门、管理后门、恶意后门、Login后门、Telnet后门、rhosts +后门、服务后门、文件系统后门、内核后门、Boot后门、TCP Shell后门等。

9.信息战

信息战指利用现代信息手段,通过夺取信息优势来达到自己的军事目的,它既包括了攻击对方的认识和信念,也包括了利用信息优势在实际战斗中打败对方。包括:进攻性信息战(如:电子战进攻、计算机网络进攻、截获和利用敌方的信息、军事欺骗、进攻性心理战、物理摧毁、微处理芯片攻击、利用电磁辐射窃取信息、高功率微波武器等)和防御性信息战(如:电子战防卫、计算机通信和网络安全防护、反情报、防御性的军事欺骗及反欺骗、防御性心理战、防物理摧毁、防御性信息武器等)。

网络攻击的一般原理和方法是什么

下载:

常见网络攻击原理

1.1 TCP SYN拒绝服务攻击

一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:

1、 建立发起者向目标计算机发送一个TCP SYN报文;

2、 目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应;

3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。

利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击:

1、 攻击者向目标计算机发送一个TCP SYN报文;

2、 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应;

3、 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。

可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。

1.2 ICMP洪水

正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。

1.3 UDP洪水

原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。

1.4 端口扫描

根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理:

1、 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB);

2、 如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。

相应地,如果IP协议栈收到一个UDP报文,做如下处理:

1、 如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回应任何报文(上层协议根据处理结果而回应的报文例外);

2、 如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。

利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下:

1、 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限);

2、 如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放;

3、 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。

这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。

1.5 分片IP报文攻击

为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。

目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。

1.6 SYN比特和FIN比特同时设置

在TCP报文的报头中,有几个标志字段:

1、 SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接;

2、 ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段,作为对上一个报文的相应;

3、 FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接;

4、 RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文;

5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。

正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,进行进一步的攻击。

1.7 没有设置任何标志的TCP报文攻击

正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因此,这样的协议栈如果收到了这样的报文,可能会崩溃。攻击者利用了这个特点,对目标计算机进行攻击。

1.8 设置了FIN标志却没有设置ACK标志的TCP报文攻击

正常情况下,ACK标志在除了第一个报文(SYN报文)外,所有的报文都设置,包括TCP连接拆除报文(FIN标志设置的报文)。但有的攻击者却可能向目标计算机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标计算机崩溃。

1.9 死亡之PING

TCP/IP规范要求IP报文的长度在一定范围内(比如,0-64K),但有的攻击计算机可能向目标计算机发出大于64K长度的PING报文,导致目标计算机IP协议栈崩溃。

1.10 地址猜测攻击

跟端口扫描攻击类似,攻击者通过发送目标地址变化的大量的ICMP ECHO报文,来判断目标计算机是否存在。如果收到了对应的ECMP ECHO REPLY报文,则说明目标计算机是存在的,便可以针对该计算机进行下一步的攻击。

1.11 泪滴攻击

对于一些大的IP包,需要对其进行分片传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个4500字节的IP包,在MTU为1500的链路上传输的时候,就需要分成三个IP包。

在IP报头中有一个偏移字段和一个分片标志(MF),如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。例如,对一个4500字节的IP包进行分片(MTU为1500),则三个片断中偏移字段的值依次为:0,1500,3000。这样接收端就可以根据这些信息成功的组装该IP包。

如果一个攻击者打破这种正常情况,把偏移字段设置成不正确的值,即可能出现重合或断开的情况,就可能导致目标操作系统崩溃。比如,把上述偏移设置为0,1300,3000。这就是所谓的泪滴攻击。

1.12 带源路由选项的IP报文

为了实现一些附加功能,IP协议规范在IP报头中增加了选项字段,这个字段可以有选择的携带一些数据,以指明中间设备(路由器)或最终目标计算机对这些IP报文进行额外的处理。

源路由选项便是其中一个,从名字中就可以看出,源路由选项的目的,是指导中间设备(路由器)如何转发该数据报文的,即明确指明了报文的传输路径。比如,让一个IP报文明确的经过三台路由器R1,R2,R3,则可以在源路由选项中明确指明这三个路由器的接口地址,这样不论三台路由器上的路由表如何,这个IP报文就会依次经过R1,R2,R3。而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改变,因此,通过合适的设置源路由选项,攻击者便可以伪造一些合法的IP地址,而蒙混进入网络。

1.13 带记录路由选项的IP报文

记录路由选项也是一个IP选项,携带了该选项的IP报文,每经过一台路由器,该路由器便把自己的接口地址填在选项字段里面。这样这些报文在到达目的地的时候,选项数据里面便记录了该报文经过的整个路径。

通过这样的报文可以很容易的判断该报文经过的路径,从而使攻击者可以很容易的寻找其中的攻击弱点。

1.14 未知协议字段的IP报文

在IP报文头中,有一个协议字段,这个字段指明了该IP报文承载了何种协议 ,比如,如果该字段值为1,则表明该IP报文承载了ICMP报文,如果为6,则是TCP,等等。目前情况下,已经分配的该字段的值都是小于100的,因此,一个带大于100的协议字段的IP报文,可能就是不合法的,这样的报文可能对一些计算机操作系统的协议栈进行破坏。

1.15 IP地址欺骗

一般情况下,路由器在转发报文的时候,只根据报文的目的地址查路由表,而不管报文的源地址是什么,因此,这样就 可能面临一种危险:如果一个攻击者向一台目标计算机发出一个报文,而把报文的源地址填写为第三方的一个IP地址,这样这个报文在到达目标计算机后,目标计算机便可能向毫无知觉的第三方计算机回应。这便是所谓的IP地址欺骗攻击。

比较著名的SQL Server蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个攻击者)向一台运行SQL Server解析服务的服务器发送一个解析服务的UDP报文,该报文的源地址填写为另外一台运行SQL Server解析程序(SQL Server 2000以后版本)的服务器,这样由于SQL Server 解析服务的一个漏洞,就可能使得该UDP报文在这两台服务器之间往复,最终导致服务器或网络瘫痪。

1.16 WinNuke攻击

NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进程间通信(IPC),以及不同操作系统之间的数据交换。一般情况下,NetBIOS是运行在LLC2链路协议之上的,是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIOS,RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口:

139:NetBIOS会话服务的TCP端口;

137:NetBIOS名字服务的UDP端口;

136:NetBIOS数据报服务的UDP端口。

WINDOWS操作系统的早期版本(WIN95/98/NT)的网络服务(文件共享等)都是建立在NetBIOS之上的,因此,这些操作系统都开放了139端口(最新版本的WINDOWS 2000/XP/2003等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了139端口)。

WinNuke攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃。

1.17 Land攻击

LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标计算机发送一个TCP SYN报文(连接建立请求报文)而完成对目标计算机的攻击。与正常的TCP SYN报文不同的是,LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标计算机的IP地址。这样目标计算机接收到这个SYN报文后,就会向该报文的源地址发送一个ACK报文,并建立一个TCP连接控制结构(TCB),而该报文的源地址就是自己,因此,这个ACK报文就发给了自己。这样如果攻击者发送了足够多的SYN报文,则目标计算机的TCB可能会耗尽,最终不能正常服务。这也是一种DOS攻击。

1.18 Script/ActiveX攻击

Script是一种可执行的脚本,它一般由一些脚本语言写成,比如常见的JAVA SCRIPT,VB SCRIPT等。这些脚本在执行的时候,需要一个专门的解释器来翻译,翻译成计算机指令后,在本地计算机上运行。这种脚本的好处是,可以通过少量的程序写作,而完成大量的功能。

这种SCRIPT的一个重要应用就是嵌入在WEB页面里面,执行一些静态WEB页面标记语言(HTML)无法完成的功能,比如本地计算,数据库查询和修改,以及系统信息的提取等。这些脚本在带来方便和强大功能的同时,也为攻击者提供了方便的攻击途径。如果攻击者写一些对系统有破坏的SCRIPT,然后嵌入在WEB页面中,一旦这些页面被下载到本地,计算机便以当前用户的权限执行这些脚本,这样,当前用户所具有的任何权限,SCRIPT都可以使用,可以想象这些恶意的SCRIPT的破坏程度有多强。这就是所谓的SCRIPT攻击。

ActiveX是一种控件对象,它是建立在MICROSOFT的组件对象模型(COM)之上的,而COM则几乎是Windows操作系统的基础结构。可以简单的理解,这些控件对象是由方法和属性构成的,方法即一些操作,而属性则是一些特定的数据。这种控件对象可以被应用程序加载,然后访问其中的方法或属性,以完成一些特定的功能。可以说,COM提供了一种二进制的兼容模型(所谓二进制兼容,指的是程序模块与调用的编译环境,甚至操作系统没有关系)。但需要注意的是,这种对象控件不能自己执行,因为它没有自己的进程空间,而只能由其它进程加载,并调用其中的方法和属性,这时候,这些控件便在加载进程的进程空间运行,类似与操作系统的可加载模块,比如DLL库。

ActiveX控件可以嵌入在WEB页面里面,当浏览器下载这些页面到本地后,相应地也下载了嵌入在其中的ActiveX控件,这样这些控件便可以在本地浏览器进程空间中运行(ActiveX空间没有自己的进程空间,只能由其它进程加载并调用),因此,当前用户的权限有多大,ActiveX的破坏性便有多大。如果一个恶意的攻击者编写一个含有恶意代码的ActiveX控件,然后嵌入在WEB页面中,被一个浏览用户下载后执行,其破坏作用是非常大的。这便是所谓的ActiveX攻击。

1.19 Smurf攻击

ICMP ECHO请求包用来对网络进行诊断,当一台计算机接收到这样一个报文后,会向报文的源地址回应一个ICMP ECHO REPLY。一般情况下,计算机是不检查该ECHO请求的源地址的,因此,如果一个恶意的攻击者把ECHO的源地址设置为一个广播地址,这样计算机在恢复REPLY的时候,就会以广播地址为目的地址,这样本地网络上所有的计算机都必须处理这些广播报文。如果攻击者发送的ECHO 请求报文足够多,产生的REPLY广播报文就可能把整个网络淹没。这就是所谓的smurf攻击。

除了把ECHO报文的源地址设置为广播地址外,攻击者还可能把源地址设置为一个子网广播地址,这样,该子网所在的计算机就可能受影响。

1.20 虚拟终端(VTY)耗尽攻击

这是一种针对网络设备的攻击,比如路由器,交换机等。这些网络设备为了便于远程管理,一般设置了一些TELNET用户界面,即用户可以通过TELNET到该设备上,对这些设备进行管理。

一般情况下,这些设备的TELNET用户界面个数是有限制的,比如,5个或10个等。这样,如果一个攻击者同时同一台网络设备建立了5个或10个TELNET连接,这些设备的远程管理界面便被占尽,这样合法用户如果再对这些设备进行远程管理,则会因为TELNET连接资源被占用而失败。

1.21 路由协议攻击

网络设备之间为了交换路由信息,常常运行一些动态的路由协议,这些路由协议可以完成诸如路由表的建立,路由信息的分发等功能。常见的路由协议有RIP,OSPF,IS-IS,BGP等。这些路由协议在方便路由信息管理和传递的同时,也存在一些缺陷,如果攻击者利用了路由协议的这些权限,对网络进行攻击,可能造成网络设备路由表紊乱(这足可以导致网络中断),网络设备资源大量消耗,甚至导致网络设备瘫痪。

下面列举一些常见路由协议的攻击方式及原理:

1.21.1 针对RIP协议的攻击

RIP,即路由信息协议,是通过周期性(一般情况下为30S)的路由更新报文来维护路由表的,一台运行RIP路由协议的路由器,如果从一个接口上接收到了一个路由更新报文,它就会分析其中包含的路由信息,并与自己的路由表作出比较,如果该路由器认为这些路由信息比自己所掌握的要有效,它便把这些路由信息引入自己的路由表中。

这样如果一个攻击者向一台运行RIP协议的路由器发送了人为构造的带破坏性的路由更新报文,就很容易的把路由器的路由表搞紊乱,从而导致网络中断。

如果运行RIP路由协议的路由器启用了路由更新信息的HMAC验证,则可从很大程度上避免这种攻击。

1.21.2 针对OSPF路由协议的攻击

OSPF,即开放最短路径优先,是一种应用广泛的链路状态路由协议。该路由协议基于链路状态算法,具有收敛速度快,平稳,杜绝环路等优点,十分适合大型的计算机网络使用。OSPF路由协议通过建立邻接关系,来交换路由器的本地链路信息,然后形成一个整网的链路状态数据库,针对该数据库,路由器就可以很容易的计算出路由表。

可以看出,如果一个攻击者冒充一台合法路由器与网络中的一台路由器建立邻接关系,并向攻击路由器输入大量的链路状态广播(LSA,组成链路状态数据库的数据单元),就会引导路由器形成错误的网络拓扑结构,从而导致整个网络的路由表紊乱,导致整个网络瘫痪。

当前版本的WINDOWS 操作系统(WIN 2K/XP等)都实现了OSPF路由协议功能,因此一个攻击者可以很容易的利用这些操作系统自带的路由功能模块进行攻击。

跟RIP类似,如果OSPF启用了报文验证功能(HMAC验证),则可以从很大程度上避免这种攻击。

1.21.3 针对IS-IS路由协议的攻击

IS-IS路由协议,即中间系统到中间系统,是ISO提出来对ISO的CLNS网络服务进行路由的一种协议,这种协议也是基于链路状态的,原理与OSPF类似。IS-IS路由协议经过 扩展,可以运行在IP网络中,对IP报文进行选路。这种路由协议也是通过建立邻居关系,收集路由器本地链路状态的手段来完成链路状态数据库同步的。该协议的邻居关系建立比OSPF简单,而且也省略了OSPF特有的一些特性,使该协议简单明了,伸缩性更强。

对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻居关系,然后传颂给攻击路由器大量的链路状态数据单元(LSP),可以导致整个网络路由器的链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同的状态),从而导致路由表与实际情况不符,致使网络中断。

与OSPF类似,如果运行该路由协议的路由器启用了IS-IS协议单元(PDU)HMAC验证功能,则可以从很大程度上避免这种攻击。

1.22 针对设备转发表的攻击

为了合理有限的转发数据,网络设备上一般都建立一些寄存器表项,比如MAC地址表,ARP表,路由表,快速转发表,以及一些基于更多报文头字段的表格,比如多层交换表,流项目表等。这些表结构都存储在设备本地的内存中,或者芯片的片上内存中,数量有限。如果一个攻击者通过发送合适的数据报,促使设备建立大量的此类表格,就会使设备的存储结构消耗尽,从而不能正常的转发数据或崩溃。

下面针对几种常见的表项,介绍其攻击原理:

1.22.1 针对MAC地址表的攻击

MAC地址表一般存在于以太网交换机上,以太网通过分析接收到的数据帧的目的MAC地址,来查本地的MAC地址表,然后作出合适的转发决定。

这些MAC地址表一般是通过学习获取的,交换机在接收到一个数据帧后,有一个学习的过程,该过程是这样的:

a) 提取数据帧的源MAC地址和接收到该数据帧的端口号;

查MAC地址表,看该MAC地址是否存在,以及对应的端口是否符合;

c) 如果该MAC地址在本地MAC地址表中不存在,则创建一个MAC地址表项;

d) 如果存在,但对应的出端口跟接收到该数据帧的端口不符,则更新该表;

e) 如果存在,且端口符合,则进行下一步处理。

分析这个过程可以看出,如果一个攻击者向一台交换机发送大量源MAC地址不同的数据帧,则该交换机就可能把自己本地的MAC地址表学满。一旦MAC地址表溢出,则交换机就不能继续学习正确的MAC表项,结果是可能产生大量的网络冗余数据,甚至可能使交换机崩溃。

而构造一些源MAC地址不同的数据帧,是非常容易的事情。

1.22.2 针对ARP表的攻击

ARP表是IP地址和MAC地址的映射关系表,任何实现了IP协议栈的设备,一般情况下都通过该表维护IP地址和MAC地址的对应关系,这是为了避免ARP解析而造成的广播数据报文对网络造成冲击。ARP表的建立一般情况下是通过二个途径:

1、 主动解析,如果一台计算机想与另外一台不知道MAC地址的计算机通信,则该计算机主动发ARP请求,通过ARP协议建立(前提是这两台计算机位于同一个IP子网上);

2、 被动请求,如果一台计算机接收到了一台计算机的ARP请求,则首先在本地建立请求计算机的IP地址和MAC地址的对应表。

因此,如果一个攻击者通过变换不同的IP地址和MAC地址,向同一台设备,比如三层交换机发送大量的ARP请求,则被攻击设备可能会因为ARP缓存溢出而崩溃。

针对ARP表项,还有一个可能的攻击就是误导计算机建立正确的ARP表。根据ARP协议,如果一台计算机接收到了一个ARP请求报文,在满足下列两个条件的情况下,该计算机会用ARP请求报文中的源IP地址和源MAC地址更新自己的ARP缓存:

1、 如果发起该ARP请求的IP地址在自己本地的ARP缓存中;

2、 请求的目标IP地址不是自己的。

可以举一个例子说明这个过程,假设有三台计算机A,B,C,其中B已经正确建立了A和C计算机的ARP表项。假设A是攻击者,此时,A发出一个ARP请求报文,该请求报文这样构造:

1、 源IP地址是C的IP地址,源MAC地址是A的MAC地址;

2、 请求的目标IP地址是A的IP地址。

这样计算机B在收到这个ARP请求报文后(ARP请求是广播报文,网络上所有设备都能收到),发现B的ARP表项已经在自己的缓存中,但MAC地址与收到的请求的源MAC地址不符,于是根据ARP协议,使用ARP请求的源MAC地址(即A的MAC地址)更新自己的ARP表。

这样B的ARP混存中就存在这样的错误ARP表项:C的IP地址跟A的MAC地址对应。这样的结果是,B发给C的数据都被计算机A接收到。

1.22.3 针对流项目表的攻击

有的网络设备为了加快转发效率,建立了所谓的流缓存。所谓流,可以理解为一台计算机的一个进程到另外一台计算机的一个进程之间的数据流。如果表现在TCP/IP协议上,则是由(源IP地址,目的IP地址,协议号,源端口号,目的端口号)五元组共同确定的所有数据报文。

一个流缓存表一般由该五元组为索引,每当设备接收到一个IP报文后,会首先分析IP报头,把对应的五元组数据提取出来,进行一个HASH运算,然后根据运算结果查询流缓存,如果查找成功,则根据查找的结果进行处理,如果查找失败,则新建一个流缓存项,查路由表,根据路由表查询结果填完整这个流缓存,然后对数据报文进行转发(具体转发是在流项目创建前还是创建后并不重要)。

可以看出,如果一个攻击者发出大量的源IP地址或者目的IP地址变化的数据报文,就可能导致设备创建大量的流项目,因为不同的源IP地址和不同的目标IP地址对应不同的流。这样可能导致流缓存溢出

蠕虫病毒攻击网络的主要方式是什么

1、利用漏洞

这种方式是网络蠕虫最主要的破坏方式,也是网络蠕虫的一个最显著的特点。网络蠕虫攻击时,首先探测目标计算机存在的漏洞,然后根据探测到的漏洞建立传播路径,最后实施攻击。

2、依赖Email传播

以电子邮件附件的形式进行传播是网络蠕虫采用的主要传播方式,蠕虫编写者通过向用户发送电子邮件,用户在点击电子邮件附件时,网络蠕虫就会感染此计算机。

3、依赖网络共享

网络共享是网络蠕虫传播的重要途径之一,网络蠕虫利用共享网络资源进行传播。

4、弱密码攻击

若用户的密码很容易猜测,网络蠕虫则会在攻克了用户密码后进入计算机并获得其控制权。所以用户应该设置复杂的密码,增加破解难度。

扩展资料:

2017年5月12日,一款直译名为“想哭”(WannaCry)的蠕虫式勒索病毒在全球大范围爆发并蔓延,100多个国家的数十万名用户中招,医疗、教育、能源、通信、金融等多个行业受到波及,在我国也造成了一定影响。

这款病毒对计算机内的文档、图片、程序等实施高强度加密锁定,并向用户索取以比特币支付的赎金。截至目前,该病毒仍在传播,但速度已明显放缓。

参考资料来源:

百度百科--蠕虫病毒

网络安全攻击方法分为

1、跨站脚本-XSS

相关研究表明,跨站脚本攻击大约占据了所有攻击的40%,是最为常见的一类网络攻击。但尽管最为常见,大部分跨站脚本攻击却不是特别高端,多为业余网络罪犯使用别人编写的脚本发起的。

跨站脚本针对的是网站的用户,而不是Web应用本身。恶意黑客在有漏洞的网站里注入一段代码,然后网站访客执行这段代码。此类代码可以入侵用户账户,激活木马程序,或者修改网站内容,诱骗用户给出私人信息。

防御方法:设置Web应用防火墙可以保护网站不受跨站脚本攻击危害。WAF就像个过滤器,能够识别并阻止对网站的恶意请求。购买网站托管服务的时候,Web托管公司通常已经为你的网站部署了WAF,但你自己仍然可以再设一个。

2、注入攻击

开放Web应用安全项目新出炉的十大应用安全风险研究中,注入漏洞被列为网站最高风险因素。SQL注入方法是网络罪犯最常见的注入方法。

注入攻击方法直接针对网站和服务器的数据库。执行时,攻击者注入一段能够揭示隐藏数据和用户输入的代码,获得数据修改权限,全面俘获应用。

防御方法:保护网站不受注入攻击危害,主要落实到代码库构建上。比如说:缓解SQL注入风险的首选方法就是始终尽量采用参数化语句。更进一步,可以考虑使用第三方身份验证工作流来外包你的数据库防护。

3、模糊测试

开发人员使用模糊测试来查找软件、操作系统或网络中的编程错误和安全漏洞。然而,攻击者可以使用同样的技术来寻找你网站或服务器上的漏洞。

采用模糊测试方法,攻击者首先向应用输入大量随机数据让应用崩溃。下一步就是用模糊测试工具发现应用的弱点,如果目标应用中存在漏洞,攻击者即可展开进一步漏洞利用。

防御方法:对抗模糊攻击的最佳方法就是保持更新安全设置和其他应用,尤其是在安全补丁发布后不更新就会遭遇恶意黑客利用漏洞的情况下。

4、零日攻击

零日攻击是模糊攻击的扩展,但不要求识别漏洞本身。此类攻击最近的案例是谷歌发现的,在Windows和chrome软件中发现了潜在的零日攻击。

在两种情况下,恶意黑客能够从零日攻击中获利。第一种情况是:如果能够获得关于即将到来的安全更新的信息,攻击者就可以在更新上线前分析出漏洞的位置。第二种情况是:网络罪犯获取补丁信息,然后攻击尚未更新系统的用户。这两种情况,系统安全都会遭到破坏,至于后续影响程度,就取决于黑客的技术了。

防御方法:保护自己和自身网站不受零日攻击影响最简便的方法,就是在新版本发布后及时更新你的软件。

5、路径(目录)遍历

路径遍历攻击针对Web

root文件夹,访问目标文件夹外部的未授权文件或目录。攻击者试图将移动模式注入服务器目录,以便向上爬升。成功的路径遍历攻击能够获得网站访问权,染指配置文件、数据库和同一实体服务器上的其他网站和文件。

防御方法:网站能否抵御路径遍历攻击取决于你的输入净化程度。这意味着保证用户输入安全,并且不能从你的服务器恢复出用户输入内容。最直观的建议就是打造你的代码库,这样用户的任何信息都不会传输到文件系统API。即使这条路走不通,也有其他技术解决方案可用。

6、分布式拒绝服务-DDOS

DDoS攻击本身不能使恶意黑客突破安全措施,但会令网站暂时或永久掉线。相关数据显示:单次DDOS攻击可令小企业平均损失12.3万美元,大型企业的损失水平在230万美元左右。

DDoS旨在用请求洪水压垮目标Web服务器,让其他访客无法访问网站。僵尸网络通常能够利用之前感染的计算机从全球各地协同发送大量请求。而且,DDoS攻击常与其他攻击方法搭配使用;攻击者利用DDOS攻击吸引安全系统火力,从而暗中利用漏洞入侵系统。

防御方法:保护网站免遭DDOS攻击侵害一般要从几个方面着手:首先,需通过内容分发网络、负载均衡器和可扩展资源缓解高峰流量。其次,需部署Web应用防火墙,防止DDOS攻击隐蔽注入攻击或跨站脚本等其他网络攻击方法。

7、中间人攻击

中间人攻击常见于用户与服务器间传输数据不加密的网站。作为用户,只要看看网站的URL是不是以https开头就能发现这一潜在风险了,因为HTTPS中的s指的就是数据是加密的,缺了S就是未加密。

攻击者利用中间人类型的攻击收集信息,通常是敏感信息。数据在双方之间传输时可能遭到恶意黑客拦截,如果数据未加密,攻击者就能轻易读取个人信息、登录信息或其他敏感信息。

防御方法:在网站上安装安全套接字层就能缓解中间人攻击风险。SSL证书加密各方间传输的信息,攻击者即使拦截到了也无法轻易破解。现代托管提供商通常已经在托管服务包中配置了SSL证书。

8、暴力破解攻击

暴力破解攻击是获取Web应用登录信息相当直接的一种方式。但同时也是非常容易缓解的攻击方式之一,尤其是从用户侧加以缓解最为方便。

暴力破解攻击中,攻击者试图猜解用户名和密码对,以便登录用户账户。当然,即使采用多台计算机,除非密码相当简单且明显,否则破解过程可能需耗费几年时间。

防御方法:保护登录信息的最佳办法,是创建强密码,或者使用双因子身份验证。作为网站拥有者,你可以要求用户同时设置强密码和2FA,以便缓解网络罪犯猜出密码的风险。

9、使用未知代码或第三方代码

尽管不是对网站的直接攻击,使用由第三方创建的未经验证代码,也可能导致严重的安全漏洞。

代码或应用的原始创建者可能会在代码中隐藏恶意字符串,或者无意中留下后门。一旦将受感染的代码引入网站,那就会面临恶意字符串执行或后门遭利用的风险。其后果可以从单纯的数据传输直到网站管理权限陷落。

防御方法:想要避免围绕潜在数据泄露的风险,让你的开发人员分析并审计代码的有效性。

10、网络钓鱼

网络钓鱼是另一种没有直接针对网站的攻击方法,但我们不能将它除在名单之外,因为网络钓鱼也会破坏你系统的完整性。

网络钓鱼攻击用到的标准工具就是电子邮件。攻击者通常会伪装成其他人,诱骗受害者给出敏感信息或者执行银行转账。此类攻击可以是古怪的419骗局,或者涉及假冒电子邮件地址、貌似真实的网站和极具说服力用语的高端攻击。

防御方法:缓解网络钓鱼骗局风险最有效的方法,是培训员工和自身,增强对此类欺诈的辨识能力。保持警惕,总是检查发送者电子邮件地址是否合法,邮件内容是否古怪,请求是否不合常理。

0条大神的评论

发表评论