《Red code 蠕虫病毒剖析》由会员分享,可在线阅读,更多相关《Red code 蠕虫病毒剖析(32页珍藏版)》请在金锄头文库上搜索。
1、计算机病毒与防治,重庆电子工程职业学院,计算机病毒与防治课程小组,教学单元4-4 蠕虫病毒防治,蠕虫病毒特点,蠕虫病毒简介,蠕虫病毒发展趋势,第一讲 Red code 蠕虫病毒剖析,计算机病毒与防治课程小组,Red code 病毒防治,red code 病毒剖析,蠕虫病毒简介,计算机病毒与防治课程小组,近年来,由蠕虫引发的安全事件此起彼伏,且有愈演愈烈之势。从 2001年爆发的CodeRed蠕虫、Nimda蠕虫,SQL杀手病毒 (SQL SLAMMER蠕虫),到近日肆掠的“冲击波”蠕虫病毒,无不有蠕虫的影子,并且开始与传统病毒相结合了。蠕虫通常会感染Windows 2000! X
2、P/Server 2003系统,如果不及时预防,它们就可能会在几天内快速传播、大规模感染网络,对网络安全造成严重危害。看来,蠕虫不再是黑暗中隐藏的“黑手”,而是己露出凶相的“狼群”。,1988年11月2日,Morris蠕虫发作,几天之内6000台以上的Internet服务器被感染,损失高达数百万美元。,蠕虫时代,蠕虫病毒简介,计算机病毒与防治课程小组,1988年 Morris蠕虫爆发后,Eugene H. Spafford为了区分蠕虫和传统病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版木传播到另外的计算机上。”,蠕虫显示出类似于计算机病毒的一些特征
3、,它同样也具有四个阶段: 潜伏阶段 传染阶段 触发阶段 &n
4、bsp;发作阶段,什么是蠕虫呢?,蠕虫病毒特点,计算机病毒与防治课程小组,蠕虫病毒和传统病毒的比较,蠕虫病毒主要功能模块,计算机病毒与防治课程小组,蠕虫病毒发展趋势,计算机病毒与防治课程小组,1 利用操作系统和应用程序的漏洞主动进行攻击。此类病毒主要是“ 红色代码”和“尼姆达”,以及至今依然肆虐的“求职信”等.由于IE浏览器 的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去 手工打开附件的情况下病毒就能激活。 “红色代码”是利用了微软IIS服 务器软件的漏洞(idq.dll远程缓存区溢出)来传播。SQL蠕虫王病毒
5、则是 利用了微软的数据库系统的一个漏洞进行大肆攻击!,2 传播方式多样 如“尼姆达”病毒和“求职信”病毒,可利用的传播途径包 括文件、电子邮件、Web服务器、网络共享等等。,蠕虫病毒发展趋势,计算机病毒与防治课程小组,3 病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的 编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反 病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技 术,可以潜伏在HTML页面里,在上网浏览时触发。,4 与黑客技术相结合,潜在的威胁和损失更大!以红色代码为例,感
6、染后 的机器的web目录的scripts下将生成一个root.exe,可以远程执行任 何命令,从而使黑客能够再次进入!,Code Red病毒剖析,计算机病毒与防治课程小组,病毒名称:Code Red(红色代码)病毒,又名 W32/Bady.worm,病毒类型: 蠕虫病毒,危险级别:,病毒特点:该蠕虫感染运行Microsoft Index Server 2.0的系统,或是在Windows 2000、IIS中启用了Indexing Service(索引服务)的系统。,Code Red病毒简介,Code Red病毒爆发过程,计算机病毒与防治课程小组,红色代码病毒爆
7、发了!,2001年6月18日 微软公司宣布在IIS网络服务器软件中发现一个漏洞, 而IIS软件是架设网站最基础的软件之一。,7月13日 一家名为“左岸系统”的公司称,几台服务器遭到一种新病毒 的入侵,利用的正是IIS服务器软件的这个缺陷。,7月16日 发现微软软件漏洞的软件公司程序员把一种饮料名称赋予了这个 病毒,称之为:红色代码(CodeRed)。,7月18日午夜
8、 红色代码大面积暴发,被攻击的电脑数量达到35.9万台。被攻 击的电脑中44%位于美国,11%在韩国,5%在中国,其余分散在 世界各地。,Code Red病毒爆发过程,计算机病毒与防治课程小组,红色代码病毒爆发了!,7月19日 “红色代码”停止猛攻进入休眠期,不再进行大规模的活动。,7月20日 瑞星公司通过全球病毒监控网获得“红色代码”病毒样本。,7月31日 格林尼治时间午夜整点,“红色代码”将再度复活,
9、在全球 大面积蔓延,由于某些受感染的网站上出现“中国黑客入侵” 的字样,国外媒体产生“病毒制造者是否来自中国”的猜测。,7月19日 这个名为“红色代码”的病毒开始疯狂攻击美国白宫网站,白 宫网站管理员将白宫网站从原来的IP地址转移到另外一个地址, 才幸免于难。然而灾难并没有结束,这个蠕虫病毒已复制变成 &n
10、bsp;10多万个,并且以每4.5小时400MB的速度大量发送垃圾信息。,Code Red病毒剖析,计算机病毒与防治课程小组,“红色代码”采用了一种叫做“缓存区溢出”的黑客技术,利用网络上使用微软IIS系统的服务器来进行病毒的传播。这个蠕虫病毒使用服务器的端口80进行传播,而这个端口正是Web服务器与浏览器进行信息交流的渠道。“红色代码”主要有如下特征:入侵IIS服务器,code red会将WWW英文站点改写为:“Hello! Welcome to www.W! Hacked by Chinese!”;与其它病毒不同的是,CodeRed并不将病毒信息写入被攻击服务器的硬盘。它只是驻留在被攻击服
11、务器的内存中,并借助这个服务器的网络疯狂的传播。,缓冲溢出黑客技术,Code Red病毒剖析,计算机病毒与防治课程小组,每个病毒线程每100毫秒就会向一随机地址的80端口发送一长度为3818字节的病毒传染数据包。,Code Red病毒剖析,计算机病毒与防治课程小组,作为改进后的版本,“红色代码”可以创建300个线程在网络上查找未感染的计算机。,当判断到系统默认的语言是中华人民共和国或中国台湾时,查找线程数猛增到600个,占用大量系统资源和网络资源,造成网络拥堵。,病毒采用随机产生IP地址的方式,每个病毒每天能够扫描40万个IP地址,搜索未被感染的计算机。,更可怕的是,在感染计算机后,它还从病毒
12、体内释放出一个木马程序,驻留在计算机当中,为入侵者大开方便之门。,“红色代码II”是“红色代码”的变种病毒,Code Red病毒剖析,计算机病毒与防治课程小组,下面我们以第二代 “红色代码”为例,分析这个病毒。“红色代码-2”的英文名称为“I- worm.redcode”,该病毒的行为可以分为四部分:初始化、感染、繁殖、安装木马。,病毒源码分析,Code Red病毒剖析,计算机病毒与防治课程小组,当一个Web服务器感染“红色代码”病毒后,将首先进行初始化,步骤如下;,1.确定Kernel32. dll动态链接库中IIS服务器的服务进程地址,查找调用API函数GetProcAddress使用以下
13、API函数:/加载动态链接库的函数,用来加载Win32系统中的DLL文件,以便程/序能使用其中的函数,HMODULE Loadl.ibrary( LPCTSTR 1pFileName /DLL文件名称);,= 初始化= ,Code Red病毒剖析,计算机病毒与防治课程小组,/创建线程,病毒将使用该API函数创建白己的传染和破坏线程。,HANDLE CreatoThread( LPSECURITY ATTRIBUTES Ipsa, /线程的安全属性 DWORD dwStack
14、Sizc, /线程堆栈的大小 LPTHREAD_ START-ROUTINE pfnThreadProc, /线程所属进程 void* pvParam, /传给进程的参数 DWORD dwGreationFlags, /创建标志DWORD* pdwTreadld /线程的ID号);,Code Red病毒剖析,计算机病毒与防治课程小组,/在感染的主机上创建文件或通讯资源、磁盘设备、管道等。,HANDLE CreateFile(LPCTSTR 1pFileNam
15、e, /文件名称DWORD dwDesiredAccess, /存取模式DWORD dwShareMode, /共享模式LPSECURITY_ ATTRIBUTES 1pSecurityAttributes, /安全属性DWORD dwCreationDisposition, /创建方式DWORD dwFlagsAndAttributes, /文件属性HANDLE hTemplateVile /文件句柄);,Code Red病毒剖析,计算机病毒与防治课程小组,/将当前线程阻塞指定的毫秒数。,Sleep(int
16、TimeSpan);,/获得主机系统的语言,判断是中文还是英文。,LANGID GetSystemDefaultLang3D(void);,/改变在调用进程的虚拟地址空间中的存取保护。,HOOL VirtualProtect( LPVOID 1pAddress, /提交页的区域基地址 SIZE一 dwS i z e, /区域大小 DWORD INewProtect, /新的存取保护类型PDWORD 1pflOldProtect
17、/保存原来的存取保护值);,Code Red病毒剖析,计算机病毒与防治课程小组,2 加载WS2 32.d11库,使用socket函数,这些函数用来进行网络通讯。,/创建服务套接字,SOCKET socket(int af, /地址类型int type, /套接字类型 (流式套接字或数据报套接字)int protocol /套接字使用的协议);,/连接套接字,int connect(SOCKET, /套接字描述符const
18、struct sockaddr FAR *name, /连接名字int namelen /名字的长度);,Code Red病毒剖析,计算机病毒与防治课程小组,/发送数据,int send( SOCKET s, /套接字描述符 const char FAR *buf, /要发送的数据缓冲区 int Ion, /数据长度 int flags /调用标志);,/接收数据,int recv( &nb
19、sp;SOCKET s, /套接字描述符 const char FAR *buf, /接收数据缓冲 int Ion, /数据长度 int flags /调用标志);,/关闭套接字,int closesocket( SOCKET s, /套接字描述符,Code Red病毒剖析,计算机病毒与防治课程小组,3 从user32.DLL中调用ExitWindowsEx以重新启动系统。,/强制关闭计算机,BOOT, LxitWindowsLx( DINT uFlags,/关闭操作 DWORD dwReason /关闭的原因,Windows2000及以前的版本忽略该参数);,