首页 理论教育 网络安全技术:常见威胁行为解析

网络安全技术:常见威胁行为解析

时间:2023-10-27 理论教育 版权反馈
【摘要】:缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。最常见的缓冲区溢出攻击主要是堆栈溢出攻击和函数指针溢出攻击。造成缓冲区溢出的根本原因是程序中缺少错误检测。要防止缓冲区溢出攻击,首要的是堵住漏洞的源头,在程序设计和测试时对程序进行缓冲区边界检查和溢出检测。网络管理员必须做到及时发现漏洞,并对系统进行补丁修补。图3.6 Web应用攻击常见的Web攻击主要分为两类。

网络安全技术:常见威胁行为解析

1.系统与网络攻击

(1)缓冲区溢出攻击 缓冲区溢出攻击是利用缓冲区溢出漏洞所进行的攻击行动。通过向缓冲区写入超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的目的。

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。

缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

缓冲区溢出攻击有多种英文名称:buffer overflow,buffer overrun,smash the stack,scribble the stack,mangle the stack,memory leak,overrun screw等,它们指的都是同一种攻击手段。第一个缓冲区溢出攻击——Morris蠕虫,发生在20年前,造成了全世界6 000多台网络服务器瘫痪。

目前,大部分的安全漏洞都可以归于这一类。一个典型的例子是,开发人员设定了一个256位字符长度的缓冲区来存储用户名,但他并未对字符输入进行检查和限制。如果有人尝试创建超过256字符长度的用户名,则多余字符将可能覆盖相邻存储单元,造成异常。

最常见的缓冲区溢出攻击主要是堆栈溢出攻击和函数指针溢出攻击。

每当一个函数调用发生时,调用者会在堆找中留下一个活动记录,它包含了函数结束时返回的地址。攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这类的缓冲区溢出即被称为堆栈溢出攻击。

函数指针溢出则指攻击者在函数指针附近进行缓冲区溢出,改写指针使其指向恶意代码或其他不在原程序流程中的代码,从而达到攻击的目的。

造成缓冲区溢出的根本原因是程序中缺少错误检测。要防止缓冲区溢出攻击,首要的是堵住漏洞的源头,在程序设计和测试时对程序进行缓冲区边界检查和溢出检测。网络管理员必须做到及时发现漏洞,并对系统进行补丁修补。有条件的话,还应对系统进行定期的升级。

(2)Web应用攻击 Web应用是互联网上最重要的一种应用,可以说是Web应用造就了互联网,造就了互联网的商业化。网站安全是指阻止入侵者非法入侵网站,如阻止入侵者对其网站进行挂马(植入木马软件),篡改网页等行为而做出一系列的防御工作,如图3.6所示。

图3.6 Web应用攻击

常见的Web攻击主要分为两类。一类是利用Web服务器的漏洞进行攻击,如利用CGI缓冲区溢出、目录遍历漏洞等进行攻击;二是利用网页自身的安全漏洞进行攻击,如SQL注入、跨站脚本攻击等。

(3)SQL注入攻击 常见的动态网页一般都通过形如“http://domainname/page.asp?arg=value”等带有参数的URL来访问。动态网页可以是asp,php,jsp或pert等类型。一个动态网页中可以有一个或多个参数,参数类型也可能是整型或字符串型等。

安全性考虑不周的网站应用程序(动态网页)使得攻击者能够构造并提交恶意URL,将特殊构造的SQL语句插入到提交的参数中,在和关系数据库进行交互时获得私密信息,或者直接篡改Web数据,这就是所谓的SQL注入攻击。

例如,在网站管理登录页面要求账号密码认证时,如果攻击者在“UserID”输入框内输入“Everybody”,在密码框里输入“anything' or 1='1”提交页面后,查询的SQL语句就变成了:Select from user where username='everyboby and password=’anything'or 1='1'。不难看出,由于“1='1”是一个始终成立的条件,判断返回为“真”,密码的限制形同虚设,不管用户的密码是不是anything,它都可以以Everybody的身份远程登录,获得后台管理权,在网站上发布任何信息。

可见,只要是带有参数的动态网页,且此网页访问了数据库,就有可能存在SQL注入攻击,因此SQL注入攻击潜在的发生概率相对于其他Web攻击要高很多,危害面也更广。在基于数据库的网络应用越来越多的今天,SQL注入已成为最有效的攻击方式之一。据统计,70%以上的站点存在SQL注入漏洞,包括一些安全站点。

SQL注入的主要危害包括获取系统控制权、未经授权状况下操作数据库的数据、恶意篡改网页内容、私自添加系统账号或数据库使用者账号等。

(4)跨站脚本漏洞攻击 跨站脚本(cross site script,CSS)指恶意攻击者利用服务器Web页面检查不严格的漏洞,在远程服务器Web页面的html代码中插入恶意的数据(代码/脚本)。用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入Web页里的恶意代码/脚本会被执行,从而达到恶意攻击者侵犯正常浏览用户的特殊目的。

跨站脚本攻击属于被动式的攻击,它与脚本注入攻击有所不同,跨站脚本攻击的对象不是存在跨站脚本漏洞的Web服务器,而是浏览该Web服务器的Web页面的客户端。

跨站脚本攻击可通过注入客户端脚本代码来探测Web页验证中的漏洞。代码随后被送回信任用户,并由浏览器执行。由于浏览器是从信任站点下载脚本代码的,因此不识别代码是否合法,Internet Explorer安全区域不提供任何防御措施。此外,CSS攻击还可通过HTTP或HTTPS(SSL)连接起作用。

例如,攻击者可在URL中加入“〈script〉function()〈/script〉”,则存在跨站脚本漏洞的网站就会执行攻击者的function()。

归根结底,造成跨站脚本攻击的主要原因在于,CGI程序对用户提交的变量中的输入没有验证,对输出没有进行编码,完全信任从共享数据库中提取的数据。

跨站脚本的危害主要体现在以下几点:

①获取其他用户Cookie中的敏感信息,通过Cookie欺骗进行用户身份盗用。攻击者编写脚本检索提供信任站点访问权限的身份验证Cookie,然后将该Cookie给攻击者已知的Web地址。这样,攻击者便盗用了合法用户的身份,从而非法获取访问权限。

②屏蔽页面特定信息。

③伪造页面信息。

④拒绝服务攻击。

⑤突破外网内网不同安全设置。

⑥与其他漏洞结合,修改系统设置,查看系统文件,执行系统命令等。脚本在此类攻击中的作用是隐藏攻击者身份。

图3.7就是对Web应用攻击的一个很好总结。

图3.7 Web应用攻击总结

2.网络蠕虫攻击

网络蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等。同时,它具有自己的一些独有特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合等。

网络蠕虫主要有两种传播方式,一种是利用远程系统漏洞进行网络传播,如阻击波蠕虫、震荡波蠕虫、SQL蠕虫王等。另外一种是利用电子邮件、IM软件、局域网共享等进行网络传播。如爱虫、求职信蠕虫等。还有的蠕虫会综合以上两种方式进行网络传播,如Nimda、熊猫烧香等。

蠕虫可造成如下危害:

①消耗主机资源,甚至破坏主机系统,造成主机拒绝服务;

②蠕虫传播造成的流量导致网络拥塞,甚至导致整个互联网瘫痪、失控;

③蠕虫与黑客技术等相结合,窃取受害者的敏感信息或者控制受害者主机。

蠕虫有多种形式,包括系统漏洞型蠕虫、群发邮件型蠕虫、共享型蠕虫、寄生型蠕虫和混合型蠕虫。其中最常见、变种最多的蠕虫是群发邮件型蠕虫,它是通过Email进行传播的,著名的例子包括“求职信”、“网络天空NetSky”、“雏鹰BBeagle”等。

2005年11月爆发的Sober蠕虫,也是一个非常典型的群发邮件型蠕虫。群发邮件型蠕虫的防治主要从邮件病毒过滤和防垃圾邮件入手。

系统漏洞型蠕虫利用客户机或者服务器的操作系统和应用软件的漏洞传播,成为目前最具有危险性的蠕虫。冲击波蠕虫就是利用Microsoft RPC DCOM缓冲区漏洞进行传播的。系统漏洞型蠕虫传播快,范围广,危害大。例如2001年CodeRed的爆发给全球带来了20亿美金的损失,而SQL Slammer只在10分钟内就攻破了全球的网络。由于系统漏洞型蠕虫都利用了软件系统在设计上的缺陷,并且他们的传播都利用现有的业务端口,因此传统的防火墙对其几乎是无能为力。实际上,系统漏洞是滋生蠕虫的温床,而网络使得它们可以恣意妄为。

下面是一个典型的蠕虫病毒在网络中的攻击过程。

首先,载有网络蠕虫的攻击机在网络上进行扫描。具体是攻击机上发送针对多个目标IP的445端口的SYN请求报文,以判断目标主机是否开启了445端口。

如果有主机开启了445端口,则主机会响应SYN请求报文。然后攻击机向开启了445端口的目标机发送事先构造好的溢出报文。如果目标机没有打相关的补丁(或根本就没有补丁),则系统会产生异常,溢出成功。这样,攻击机就取得了目标机的系统权限,可以在目标机上为所欲为了。

控制了目标机后,为达到自我复制的目的,蠕虫程序会自动指使目标机通过FTP从攻击机上下载蠕虫程序并运行。这样,这台被攻击的目标机就变成了一个攻击机,攻击其他目标机。

随着这种攻击—→自我复制—→攻击的行为的周而复始的进行,网络中的主机迅速地被传播上蠕虫病毒,变成了攻击机。

同时,网络的链路上到处充斥着攻击机发出的流量,大量带宽迅速被占用,导致正常机的正常应用也受到极大影响。

在蠕虫传播过程中,蠕虫首先会对网络进行探测,发现网络中存在漏洞的主机,然后利用漏洞进行渗透。在渗透成功后,就会复制蠕虫到新的主机里,这台主机也就成为一个新的宿主,继续传播蠕虫。最后的结果,可能是网络的瘫痪,或者是无数的主机成为黑客的肉鸡

如图3.8,防御蠕虫的方法:

(1)为系统打补丁,蠕虫找不到可利用的漏洞,也就无法传播;

(2)用IPS来检查蠕虫的活动并进行隔离和阻断:

图3.8 蠕虫的传播过程和防御过程

(3)用访问控制对蠕虫传播的途径进行限制,例如拒绝经常被病毒利用的ICMP报文,用PVLAN技术,对关键网段和主机进行隔离保护;

(4)采用网络工具来追踪被感染的主机,微软经常会有一些针对容易被病毒感染的漏洞的扫描工具,很多防病毒厂家也会有一些网络病毒扫描工具。

(5)在网络设备上限制流量,对ICMP这种平时使用并不多的流量进行限流,防止蠕虫泛滥。

(6)部署全网的企业防病毒软件。

3.间谍软件

间谍软件通常伪装成合法的正常软件。通常也有一定的正常功能,但并不会告诉用户其所隐藏的“间谍”功能。

当用户下载软件并运行后,它驻留在计算机的系统中,收集有关用户操作习惯的信息,并将这些信息通过互联网悄无声息地发送给软件的发布者。由于这一过程是在用户不知情的情况下进行,因此具有此类功能的软件通常被称作间谍软件(spyware)。

间谍软件的危害在于泄漏用户个人隐私,如个人信息、用户软件中的信息如Email、联系人、地址等。更有甚者,某些极端的间谍软件会盗窃用户贮存在硬盘上的账号,如银行密码等,对用户的个人财产造成威胁。

常见的间谍软件有如下类型:

(1)浏览器劫持 例如,CoolWebSearch。

(2)IE工具条和弹出窗口 例如,某些网络广告

(3)Winsock劫持(www.xing528.com)

(4)中间人代理 例如,MarketScore。

不同的间谍软件具有不同的特点和行为,普遍具有以下危害:

①不断向外连接和弹出广告窗口,耗费了大量的网络带宽

②占用大量硬盘和CPU资源,造成计算机计算缓慢、死机。

③修改IE设置、安装工具条,而且用户很难修改回去,造成使用不便。

④安装后门、病毒和向外泄露信息。

⑤泄漏个人信息和密码、上网习惯、Email联系人地址等。

某些免费软件带有间谍软件,如Kazaa,iMesh,eMule,WeatherBug等。如果用户安装这些软件,就在毫不知情的情况下安装了间谍软件。

另外,某些间谍软可通过浏览器传播,如通过ActiveX控件。还有一些间谍软件利用了浏览器程序漏洞进行传播,如IE CHM文件处理漏洞。

4.网络钓鱼

网络钓鱼(Phishing)攻击者利用欺骗性的电子邮件和伪造的Web站点进行网络诈骗活动,受骗者往往会泄露自己的私人资料,如信用卡号、银行卡账户、身份证等内容。诈骗者通常会将自己伪装成网络银行、在线零售商和信用卡公司等可信的品牌,骗取用户的私人信息。图3.9展示了一个典型的网络钓鱼过程。

图3.9 典型的网络钓鱼过程

中国互联网络信息中心联合国家互联网应急中心发布的《2009年中国网民信息安全状况调查报告》显示,2009年有超过九成网民遇到过网络钓鱼,在遭遇过网络钓鱼事件的各国受网络钓鱼攻击比例网民中,4 500万网民蒙受了经济损失,占网民总数11.9%。网络钓鱼给网民造成的损失已达76亿元。

早期的案例主要发生在美国,但随着亚洲地区的因特网服务日渐普遍,有关攻击也开始在亚洲各地出现。

从外观看,钓鱼网站与真正的银行网站无异,在用户以为是真正的银行网站而使用网络银行等服务时窃取用户的账号及密码,从而使用户蒙受损失。防止在这类网站受害的最好办法就是记住合法网站的网址,并当链接到一个银行网站时,对网址进行仔细对比。

5.木马程序

木马程序通常包括客户端和服务器端。木马就是利用客户端对服务器端进行远程控制的程序,隐藏在电脑中进行特定的工作或依照黑客的操作来进行某些工作。完整的木马程序是一个C/S结构的程序,运行在黑客的电脑上的是Server端,而运行在目标主机上的是Client端。当目标主机连上互联网后,Client端即向Server端发送信息,然后听候黑客指令,执行黑客指令。

木马被植入主机的途径大概有以下几种:

(1)利用系统或软件(IE,Outlook Express)的漏洞植入。

(2)黑客入侵后植入,如利用NetBIOS入侵后植入。

(3)通过电子邮件植入。攻击者向受害者寄一封夹带木马程序的电子邮件,如果收件者没有警觉,点击运行了附带的程序,它就可能成功植入。或通过QQ,MSN等即时聊天软件,发送含有木马的连接或者文件,接收者点击运行后木马就被成功植入。

(4)在自己的网站上放一些伪装后的木马程序,宣称它是好玩的或者有用的工具等名目,让不知情的人下载后运行便可成功植入木马程序。

木马虽然本身不是病毒,但是常与各种最新病毒和漏洞利用工具结合,以潜入目标主机或躲避杀毒软件的查杀,如图3.10所示,木马威胁日益严峻

图3.10 木马威胁日益严峻

木马被植入后黑客可以进行哪些动作,这取决于木马设计者的意图,比较强大的主流木马程序通常可以执行如下操作:

(1)复制各类文件或电子邮件(可能包含商业秘密、个人隐私)、删除文件、查看被黑者电脑中的文件,就如同使用资源管理器查看一样。

(2)转向入侵(redirection intrusion),利用被黑者的电脑来进入其他电脑或服务器进行各种黑客行为,也就是常说的肉鸡。

(3)监控被黑者的电脑屏幕画面,读取键盘操作来获取各类密码,例如各种会员网页的密码、拨号上网的密码、网络银行的密码、邮件密码等。

(4)远程遥控,操作对方的Windows系统、程序、键盘。

6.P2P流量泛滥

P2P全称为Peer-to-Peer,即对等互联网络技术(点到点网络技术),它让用户可以直接连接到其他用户的计算机,进行文件共享和交换。

如图3.11所示,P2P改变了传统的C/S架构模式,使得互联网资源共享的带宽不再受制于服务器的网卡的速度,而取决于参与共享的计算机的总的网卡带宽。例如,英国网络流量统计公司CacheLogic表示,2009年全球有超过一半的文件交换是通过BT进行的,BT占了互联网总流量的35%,使得浏览网页这些主流应用所占的流量相形见绌。

P2P的典型应用包括几类:

(1)文件共享型P2P应用,包括BT,eMule,eDonkey等;

图3.11 传统的架构模式转化成P2P

(2)IM即时通讯软件,如QQ,MSN,Skypy等;

(3)各种流媒体软件。

带宽滥用给网络带来了新的威胁和问题,甚至影响到企业IT系统的正常运作,它使用户的网络不断扩容但是还是不能满足“P2P对带宽的渴望”,大量的带宽浪费在与工作无关流量上,造成了投资的浪费和效率的降低。另一方而,P2P使得文件共享和发送更加容易,带来了潜在的信息安全风险。

7.DoS/DDoS攻击

(1)拒绝服务(denial of service,DoS)攻击 造成服务器或网络设备拒绝提供正常服务的攻击行为称为DoS攻击。

DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令。

(2)分布式拒绝服务(distributed denial of service,DDoS)攻击 指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或者多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。

DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当被攻击目标CPU速度低、内存小或者网络带宽小等各项性能指标不高时,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆、万兆级别的网络,这使得DoS攻击的困难程度加大了。

DDoS最早可追溯到1996年。在中国2002年开始频繁出现,2003年已经初具规模。近几年由于宽带的普及,很多网站开始盈利,其中很多非法网站利润巨大,还造成同行之间互相攻击,还有一部分人利用网络攻击来敲诈钱财。同时Windows平台的漏洞大量公布,流氓软件、病毒、木马大量充斥着网络,有些技术的人可以很容易非法入侵控制大量的个人计算机来发起DDoS攻击,从中谋利。

DDoS攻击的特点:

●被攻击主机上有大量等待的TCP连接;

●网络中充斥着大量的无用的数据包,源地址为假;

●制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;

●利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求;

●严重时会造成系统死机。

常见的DDoS分类有两种:

①资源占领型:如Syn-flood,UDP-flood,ICMP-flood,TFN等;

②系统漏洞型:针对系统或应用程序漏洞发起的泛洪攻击,比较典型的就是暴风影音事件,是发生于2009年5月19日的一次大范围网络故障事件。这次故障的起源点在北京暴风科技公司拥有的域名DNSPOD.COM被人恶意大流量攻击,承担DNSPOD.COM网络接入的电信运营商被迫断掉了其网络服务,从而成为导致整个网络瘫痪的第一个多米诺骨牌

DDoS攻击模型如图3.12所示。攻击者要占领和控制被攻击的主机,取得最高的管理权限,或者至少得到一个有权限完成DDoS攻击任务的账号。对于一个DDoS攻击者来说,准备好一定数量的傀儡机是一个必要的条件,这个过程可分为以下几个步骤:

图3.12 DDoS攻击模型

图3.13 应用层安全威胁占主流

①探测扫描大量主机以寻找可入侵主机目标;

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

③在每台入侵主机中安装攻击程序;

④利用已入侵主机继续进行扫描和入侵。

随着网络的飞速发展,以蠕虫、木马、间谍软件、DDoS攻击、带宽滥用为代表的应用层攻击层出不穷。传统的基于网络层的防护只能针对报文头进行检查和规则匹配,但目前大量应用层攻击都隐藏在正常报文中,甚至是跨越几个报文,因此,仅仅分析单个报文头意义不大。因此,应用层安全威胁就成了互联网压倒性的威胁,应用层安全威胁的防范也就成为网络安全的首要课题,如图3.13所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈