信息安全介绍资料_第1页
信息安全介绍资料_第2页
信息安全介绍资料_第3页
信息安全介绍资料_第4页
信息安全介绍资料_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网页(wn y)木马攻防实战(shzhn)共三十七页计算机安全(nqun)木桶原理?从原理上来说,网络(wnglu)木马就是利用了一些已知的或者未知的系统或第三方软件的漏洞,然后悄悄地下载病毒木马并执行。由美国管理学家彼得提出的木桶原理表明:由多块木板构成的木桶,其价值在于其盛水量的多少:当决定木桶盛水量多少的关键因素不是其最长的板块,而是其最短的板块。这就是说,任何一个组织的各个部分往往是优劣不齐的,而劣势部分往往决定整个组织的水平。计算机安全领域同样也适用这个木桶原理,安全与否往往取决于整个系统最短的那一块板。就目前的安全形势来说,网页木马和移动介质是整个系统最为薄弱的两块短板,大量的病毒

2、、木马就是通过这两个渠道疯狂传播的。通过U盘等移动储存介质传播的恶毒代码可依赖杀毒软件对其查杀,而网页木马则更多地依赖于良好的使用习惯以及一些安全工具杀毒软件往往是无法对其进行有效查杀的。共三十七页你知道木马(mm)是什么吗?你知道网页(wn y)木马吗?共三十七页什么是网页(wn y)木马? 网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分(qi r q fn)地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能

3、下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。共三十七页网页木马攻击(gngj)原理 网页病毒是利用网页来进行破坏的病毒,它存在于网页之中,其实是使用一些SCRIPT语言编写的一些恶意代码利用IE的漏洞来实现病毒植入。当用户登录某些含有网页病毒的网站时,网页病毒便被悄悄激活,这些病毒一旦激活,可以利用系统的一些资源进行破坏。轻则修改用户的注册表,使用户的首页、浏览器标题改变,重则可以关闭系统的很多功能,装上木马,染上病毒,使用户无法正常使用计算机系统,严重者则可以将用户的系统进行格式化。而这种网页病毒容易编

4、写和修改,使用户防不胜防。 目前的网页病毒都是利用JS.ActiveX、WSH共同合作来实现对客户端计算机,进行本地的写操作,如改写(gixi)你的注册表,在你的本地计算机硬盘上添加、删除、更改文件夹或文件等操作。而这一功能却恰恰使网页病毒、网页木马有了可乘之机。而在我们分析网页病毒前,先叫我们知道促使病毒形成的罪魁祸首:Windows 脚本宿主 和Microsoft Internet Explorer漏洞利用共三十七页为什么浏览器会自动(zdng)下载,并执行木马? 现在大部分的网页木马都是针对Windows系统自带的IE浏览器的,针对其他第三方浏览器的网页木马很少;但像Macthon,腾讯

5、TT等这种基于IE浏览器核心的浏览器也和IE浏览器一样,会受到网页木马的影响。那么,使用Firefox等非IE浏览器上网的用户是不是就不会中网页木马了呢?答案是否定的。现在有许多应用软件,例如RealPlayer等影音播放软件,RSS阅读器以及迅雷这些(zhxi)程序都是借助于IE核心来显示HTML页的第三方软件的,因此同样存在着中网页木马的风险,也就是说,网页木马是防不胜防的。共三十七页网页(wn y)木马发展历史 网页木马出现的历史要比木马和病毒出现的历史短的多,但究竟什么时候有的也无法考证了。先前大多数以恶意网页为主,比如劫持浏览器的首页、修改注册表、死循环弹出窗口等,在2001年的时候

6、出现过几个利用MIME头漏洞、BMP网页木马等。真正的流行实在2004年,网页木马开始大量出现,并且传播手段从仅仅的Web传播到发展出了邮件网页木马、CHM网页木马、隐藏在媒体文件中的RM/RMVB网页木马、WMV网页木马、Flash网页木马等几种新的形式。另外,挂马的手段也出现了诸如ARP欺骗挂马、通过QQ尾巴诱使用户(yngh)点击其中的链接等几种新的手段。共三十七页常被用于挂马的微软漏洞(ludng)漏洞编号漏洞名称MS06-001Microsoft Windows 图形渲染引擎WMF格式代码执行漏洞MS06-014Microsoft MDAC RDS.Dataspace ActiveX

7、控件远程代码执行漏洞MS06-057Microsoft IE WebViewFolderIcon远程整数溢出漏洞MS06-071Microsoft XML核心服务XMLHTTP控件内存破坏漏洞MS07-017Microsoft Windows动画光标畸形ANI头结构远程栈溢出漏洞MS07-004Microsoft Windows矢量标记语言缓冲区溢出漏洞MS07-027Microsoft Windows媒体服务器mdsauth.dll控件远程代码执行漏洞MS04-023Microsoft HTML Help任意代码执行漏洞MS05-001Microsoft IE Help ActiveX控件本

8、地安全域绕过漏洞MS06-004Microsoft IE WMF图形解析内存破坏漏洞MS06-005Microsoft Windows Media Player畸形位图文件处理堆溢出漏洞共三十七页常被用于挂码的第三方软件(run jin)软件名称漏洞名称联众游戏联众ConnectAndEnterRoom ActiveX控件栈溢出漏洞超星阅读器超星阅览器Pdg2 ActiveX控件栈溢出漏洞百度搜霸百度搜霸ActiveX控件远程代码执行漏洞Web迅雷Web迅雷ActiveX控件DownURL2方式远程缓冲区溢出暴风影音暴风影音2 mps.dll组件多个缓冲区溢出漏洞CCTVCCTV互动数字杂志I

9、DM远程溢出漏洞RealPlayerRealPlayer IERPPLUG.DLL ActiveX控件远程拒绝服务漏洞雅虎通Yahoo! Messenger 21 CYFT ft60.dll ActiveX控件GetFile方式任意文件上传漏洞McAfee Security CenterMcAfee Security Center McSubMgr.DLL ActiveX控件远程溢出漏洞WinZipWinZip FileView ActiveX控件存在缓冲区溢出漏洞PPStreamPPStream (PowerPlayer.dll 829) Activex Remote Overflow共三十

10、七页邮件网页(wn y)木马 网页木马没有具体目标,只能被动地等待受攻击者,但邮件网页木马的出现正倒是弥补了网页木马的这个缺点。邮件网页木马也使网页木马的利用(lyng)出现了一种新的形式,利用(lyng)邮件系统对以HTML形式发送的邮件的危险标记过滤不严,便在其中嵌入了网页木马。邮件网页木马具有很强的针对性,还配合社会工程学等手段,诱使目标单机邮件。加入目标恰恰没有打补丁,那么,恶意代码就进入目标的计算机中了。共三十七页CHM电子书木马(mm) CHM是一种十分流行的电子书格式,CMH是英语(yn y)“Compiled Help Manual”的简写,即“已编译的帮助文件”。CMH是微软

11、新一代的帮助文件格式,利用HTML作为源代码,把帮助内容以类似数据库的形式编译储存,编译好的扩展名为.chm的文件。chm档案可以提供如同一本书的内容目录,索引和搜寻等功能,非常方便资料的分类,整理和索引,所以微软的许多说明文件都是采用这种格式的,如最有名的MSDN就曾经采用了这个格式,也通过这个格式,微软将许多软件和函数库说明发行推广到了世界各个角落。CMH木马是网页木马的一种主要衍生形式,但它和普通的网页木马又有很大的不同。这是因为由于传统的网页木马还需要利用漏洞,但是CMH中的HTML页由于在本地我的电脑域执行,根本就不需要漏洞,有很高的权限,有很多的空间可供调用。所以,相比以往的网页木

12、马,CMH木马更加难以发觉,可以“杀人于无形之中”。说不定哪一天下载的电子书里面就隐藏着特洛伊木马。共三十七页多媒体网页(wn y)木马 随着互联网和多媒体技术的发展,很快就能从网上下载一部电影,故网页木马又盯上了这些多媒体文件。Helix Producer Plus 是一款图形化的专业流媒体文件制作工具,这款软件把其他格式的文件转化成RM或RMVB格式,也可以对已有的RM文件进行重新编译,在编译的同时,可以把事先准备好的网页木马插入其中。这样,只要(zhyo)一打开这个编辑好的媒体文件,插入在其中的网页木马也会随之打开,甚至还能控制网页木马打开的时间,让网页木马更加隐蔽。共三十七页 对于WM

13、A,WMV格式文件,是利用其默认播放器Windows Media Player 的“Microsoft Windows 媒体播放器数字权限管理加载任意网页漏洞”来插入木马的。当播放已经插入木马的恶意文件时,播放器首先会弹出一个提示窗口,指出此文件已经过DRM加密,需要通过URL验证证书,而这个URL就是事先设置好的网页木马地址(dzh),当用户单机“是”进行验证时,便成功进行了值马。和RM/RMVB文件一样,为了在WMV文件中插入木马,还需要一种工具WMDRM打包加密器,这是一款可以对WMA,WMV进行DRM加密的软件,软件本身是为了保护媒体文件的版权,但在攻击者手中,便变成了攻击的利器。 R

14、eal公司和微软公司分别修补了这些可能被黑客利用的漏洞,但现在这两个巨头在播放浏览器领域的产品份额很少,早已被暴风影音,Kmplayer等播放器取代。共三十七页Flash网页(wn y)木马 Flash动画是目前网络上最流行的一种互动式动画格式,这种动画必须用Macromedia公司开发的Flash Player播放器才能正常观看。Flash动画最初是用Future Wave公司开发的Flash软件来制作的,该公司被Macromedia收购后得以大力发展,而Macromedia开发的Flash软件现已成为制作Flash动画的主要工具之一,制作Flash动画的其他工具还有Swish,闪客巫师等。

15、目前Macromedia已被Adobe公司收购.Flash网页木马的原理是,在网页中显示或本地直接播放Flash动画时,让Flash自动打开一个网址,而该网址就是我们预先制作好的一个网页木马。 Flash网页木马可以嵌入普通网页,这就是说,它和普通的网页木马 没有什么大的区别,只是更加具有欺骗性而已。另外一种利用方式就是利用论坛进行挂马,由于很多论坛都支持播放Flash播放动画,故利用论坛传播是一种非常有效的手段(shudun),所有浏览过帖子的人都将成为受害者。共三十七页网页木马(mm)剖析共三十七页网页木马(mm)传播方式被动网马 被动木马是指黑客出于某种不可告人的目的入侵了某些大型网站,

16、例如:黑客为了获取某网络游戏的装备及金钱,入侵了某网游的官方网站或者其他一些访问量很大的网站,在其中的首页嵌入了挂马的代码。这样,访问过此网站的网民(无任何防护措施)的计算机中就会被植入木马,该网民下次登录(dn l)网络游戏的时候,木马就会将帐号及木马在后台悄悄地发送给盗号者。当然,并不是所有浏览该网站的网民都会中招,否则就天下大乱了;因为网络木马也要依赖具体的漏洞才能生存,及时打补丁的用户就不会受到影响。如果这个漏洞是未公开的,也就是俗称的“0day”,恐怕大多数网民就要遭殃了。共三十七页网页(wn y)木马传播方式主动挂马 主动挂马则更多属于一种钓鱼性的攻击,通过一些媒体,比如:电子邮件

17、、即时通讯软件:QQ、MSN等,由人为或者木马本身为了传播自己,给一些好友发送一些欺骗性的链接,诱使对方点击,来达到不可告人的目的。近年来,由于网站管理员的水平逐步提高,入侵一个网站并挂马已经并非易事,所以通过 即时通讯软件+网页木马来传播自己的病毒(bngd)数目迅速增多,在国内,最流行的就是“QQ尾巴”,许多病毒都是借即时通讯领域霸主腾讯QQ的东风来传播自己的。 共三十七页如何引入网页(wn y)木马?在页面插入一个隐藏的框架利用JavaScript引入网页木马利用body的onload属性引入网页木马利用层叠样式表CSS引入js,从而引入网页木马利用隐藏的分割框架引入网页木马利用数据库引

18、入网页木马利用统计(tngj)网站大规模挂马利用ARP欺骗引入网页木马共三十七页网页木马(mm)与漏洞 网页木马正是由于漏洞的存在,才得以不断繁衍。现在网络木马所利用的漏洞主要有两类:一类是逻辑性漏洞,另一类则是溢出(y ch)型漏洞。逻辑性漏洞的数量比较少,通常都是由利用系统本身提供的一些功能来完成木马的下载和执行的;而溢出(y ch)型漏洞则是利用程序编写中的一些漏洞来获得浏览器的控制权。两者在利用手段上有本质的不同。共三十七页逻辑性漏洞(ludng)BMP网页木马是早期比较典型的网络木马之一,利用的就是逻辑方面的漏洞。它先把一个EXE文件伪装成一个BMP文件,欺骗IE 自动下载,在利用网

19、页中的JAVASCRIPT脚本查找客户端的Internet临时文件夹,找到下载后的BMP文件,把它复制到TEMP目录,在编写一个脚本把找到的BMP文件用DEBUG还原成EXE,并把它放到注册表启动项中,在下一次开机时自启动。我们可以看到,在这个过程中,全都是利用Windows系统提供的函数和接口,漏洞就在于早期版本的IE浏览器在Internet域下仍允许Javascript脚本读写本地(bnd)文件和修改注册注册表,被恶意的黑客利用制作网页木马。新版本的IE便修补了这个逻辑漏洞,只有在我的电脑域下IE浏览器才有权限执行上述恶意脚本代码。共三十七页堆溢出(y ch)这个堆是Windows系统中的

20、一种物理结构用来动态分配和释放(shfng)对象,用在事先不知道程序所需的对象的数量和大小的情况下,或对象太大而不合时堆栈分配程序的情况。栈溢出和堆溢出是完全不同的:在可执行的程序的text区,栈是从高地址向低地址地扩展,是存放变量的地方,在编译时由编译器静态分配。而堆,是在可执行程序的heap区,从低地址向高地址扩展,是存放由malloc等函数动态分配的内存的地方,其结构在内存中的映射关系是:堆是从低地址向高地址增长的,而栈是从高地址向低地址增长的。堆溢出就是在给分配的堆复制字符时超过了所分配的内存大小。最简单的堆溢出示例程序如下:共三十七页#include#include int foo(

21、char *argv) HMODULE l; l = LoadLibrary(msvcrt.dll); printf(nnHeapoverflow Pocn); if(argc != 2) return printf(缺少(qusho)参数); foo(argv1); return 0;int foo(char *buf) HLOCAL h1 = 0, h2 = 0; HANDLE hp; hp = HeadCreate(0,0 x1000,0 x10000); if(!hp) return printf(Failed to create heap.n); h1 = HeapAlloc(hp,

22、HEAP_ZERO_MEMORY,4); printf(HEAP: %.8X %.8Xn,h1,&h1); strcpy(h1,buf); h2 = HeadAlloc(hp,HEAP_ZERO_MEMORY,260); printf(hello); return 0;在foo()函数(hnsh)中,HeapAlloc函数申请了4分字节大小的堆用于存放变量,而strcoy函数又对buf变量的长度没有建厂,如果将一个超长字符串复制到堆中,将破坏原有的堆控制数据结构,当第二次调用HeapAlloc()函数的时候,通过精心构造恶意的字符串,就能取得程序的控制权。共三十七页栈溢出(y ch) 大部分现

23、代(xindi)计算机系统都使用栈来给进程传递参数并且储存局部变量。栈是一个在进程映像内存的高地址内的后进先出(LIFO)的缓冲区。当程序调用一个函数时,一个新的“栈帧”会被创建。这个栈帧包含着传递给函数的各种参数和一些动态的局部变量空间。“栈指针”记录着当前栈顶的位置,由于栈指针的值会因为新变量的压入栈顶而经常的变化,许多实现也提供了一种“帧指针”来定位在栈帧的起始位置,以便局部变量可以更容易地被访问。调用函数的返回地址也同样存储在栈中,因此在函数中的局部变量覆盖了函数的返回地址是栈溢出的一个原因,这就潜在地准许了一个恶意用户可以执行他所想运行的任何代码。共三十七页#include#incl

24、ude char evil=AAAAAAAAAAAAAAAAAAAAAAAA; void main() char buff4; strcpy(buff,evil); return;上述代码中预留的缓冲区只有4个字节,而strcpy函数向其中复制了24个字节,导致了缓冲区溢出的发生,存储(cn ch)在栈中的函数返回地址将被覆盖。共三十七页TEB/PEB溢出(y ch)每个TEB都有一个缓冲区被用于将ANSI字符集转换为Unicode字符集,SetComputerNameA和GetModuleHandleA这两个API函数就会用到这个缓冲区,可以想象如果这两个函数没有对传入的字符串进行、长度检查

25、,那么溢出就会发生。如果这种情况真的发生了,如何才能取得程序的控制权呢?这和发生溢出的线程密切相关,如果这是程序的主线程,那么PEB中的数据将会被覆盖,PEB里面有很多重要的指针(zhzhn),一旦被覆盖,就能导致执行任意命令。如果发生在其他线程中,那么其他线程的TEB将会被覆盖。TEB里同样也有许多重要的指针,例如SEH里的EKCEPTION_REGISTRATION结构体,如果能触发异常,那么就能取得程序的控制权共三十七页整数(zhngsh)溢出引发的缓冲区溢出 一个整数,整型和指针的尺寸一般是相同的,以下例子是在32位的系统环境和32位的整数,长度和指针。 既然整数有一个固定的长度例32

26、位,那么它能储存的最大值是固定的,当尝试去存储一个大于这个固定值的最大值时,将会导致一个整数溢出。整数溢出很难被发现,因此没有办法用一个应用程序来判断先前的计算结果是否也是正确的。如果(rgu)是用来计算缓冲区的大小或者计算数组的大小,就会导致漏洞的产生。当然,并不是所有的整数溢出漏洞都是可利用的,因为整数溢出并没有直接改写内存;但有时,他们可导致其他类型的Bugs和缓冲区溢出。而且,整数溢出很难被发现,因此,就算是代码审核也未必能发现这类Bugs。 整数溢出引起的缓冲区溢出主要有两类,一类是“负数等于很大的整数”,另一类是“有符号数和无符号数比较”。共三十七页 负数在被当成无符号(fho)数

27、处理的时候,就是很大的整数,32位有符号整数-1可以表示成0 xFFFFFFFF,但是看成无符号数的时候,就是4294967295,示例代码如下:#include #include int foo(char *buf) int main(int argc, char *argv) printf(nnFormat String Error Pocn); if(argc != 2) return printf(缺少(qusho)参数); foo(argv1); return 0; int foo(char *buf) char s8; strncat(s,buf,sizeof(s)-strlen(

28、buf)-1); printf(Integer overflow!); return 0; 尽管strncat是类型安全的函数,但是因为整数溢出的问题,给它传递一个超长参数便间接地导致了缓冲区溢出的产生。共三十七页绝大多数的运算Bug都是由于有符号数和无符号数比较的不匹配而引起的,请看如下的一段典型代码: If(s255) memcpy(.,s); 这段代码在执行(zhxng)memcpy之前会对字符串的长度进行检查,如果字符串的长度小于255,memcpy函数将执行;然后有一种特殊情况,程序可能对变量s会做运算处理,如果处理过后的s的值是负的,那么自然是小于255,memcpy函数还是会被执

29、行的。memcpy函数的声明如下: void * _cdecl memcpy(void *,const void *,unsigned int); 该函数的第三个参数是无符号的,因此负数就会被当成很大的整数,从而会导致大块的缓冲区溢出。共三十七页网页(wn y)木马防范共三十七页浏览器安全(nqun)配置Internet Explorer如何降低IE浏览器中网页木马(mm)概率?IE浏览器菜单中的工具-管理加载项可以禁用IE浏览器的某些非必须的加载项。在IE的工具菜单中单击Internet选项,在Internet Option的对话框中,单击安全标签,并选择Internet图标,在该区域的安全

30、级别选项中,滑动滑条就能设置你浏览的所有网站的安全级别。(IE浏览器安全级别设置过高将禁用所有ActiveX控件,可能导致一些网站不可以正常浏览。如果难以正常浏览网页,你可以将你浏览的网站加到受信任站点列表中,这将允许网页可以在高安全设置的情况下正常浏览。对浏览器安全非常熟悉的用户可以在IE“工具”-“Internet选项”-“高级”配置选项中自定义IE浏览器对Internet域安全级别。共三十七页谷歌Chrome的设置(shzh)如何降低谷歌Chrome中网页木马的概率?左击Chrome右上角“工具”按钮,在单击“选项”窗口(chungku)中选中“高级选项”,在安全选项部分共有如下功能:启用网络欺诈和恶意软件保护;选择受信任的SSL证书;设定整个计算机的SSL设置;控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论