恶意代码技术分析与应急响应ZhenxiangCHENczx@ujn.edu.cn2021/4/22恶意代码技术分析及应急响应2提纲一.恶意代码及其分类二.恶意代码技术的发展三.恶意代码分析与防范四.讨论2021/4/22恶意代码技术分析及应急响应3什么是恶意代码•代码•计算机程序•在一定的环境下可以执行•恶意的行为•在不为用户所知的情况下破坏侵入用户的计算机系统,破坏计算机系统、网络或信息的保密性、完整性、可用性•恶意移动代码•在计算机之间传播2021/4/22恶意代码技术分析及应急响应4常见的恶意代码•计算机病毒•网络蠕虫•木马/后门•网页脚本•流氓软件•其他…2021/4/22恶意代码技术分析及应急响应5计算机病毒的主要特点•自我复制,非主动传播•存储介质、电子邮件等•寄生于宿主机或宿主程序•不以文件形式存在•隐蔽性和潜伏性•感染后不一定立刻发作;•依附于其他文件、程序、介质,不被发现•可触发性•触发条件:日期、时间、文件类型•破坏性2021/4/22恶意代码技术分析及应急响应6最早的计算机病毒:磁芯对战(CoreWar)•NationalSecurityAgency(NSA):RobertMorris•RedCode/PDP-1•CoreWar•Simplestprogram:•MOV0,12021/4/22恶意代码技术分析及应急响应7计算机病毒的分类•按攻击平台分类:DOS,Win32,MAC,Unix•按危害分类:良性、恶性•按代码形式:源码、中间代码、目标码•按宿主分类:引导型、文件型、•其他分类方法….•CARO(计算机反病毒研究组织)的命名方法:malware_type://platform/family_name.group_name.infective_length.variantdevolutionmodifiers•virus://W32/Beast.41472.A,WinCE/Duts.1520•W32/Beast.41472.A,WM/Concept.B:Fr2021/4/22恶意代码技术分析及应急响应8网络蠕虫(Worm)•美国传统词典•Aprogramthatreplicatesitselfandinterfereswithsoftwarefunctionordestroysstoredinformation.•一种能够自我复制的计算机程序,它利用网络上计算机系统的漏洞自主的将自己复制到其它计算机上•特点•主动传播,不依赖用户的介入•不依赖宿主程序,独立存在2021/4/22恶意代码技术分析及应急响应9蠕虫的历史回顾•MorrisWorm,1988年11月2日•Sadmind/IISWorm2001年5月•CodeRedWorm,2001年7月19日/8月4日•NimdaWorm,2001年9月18日•Slapper蠕虫2002年9月14日•Slammer,2003年1月25日•Dvldr32,2003年3月7日•Blaster,2003年8月12日•Nachi,2003年8月18日•Santy2003•Witty2004•…2021/4/22恶意代码技术分析及应急响应10特洛伊木马/后门•通过伪装成其他程序、有意隐藏自己恶意行为的程序,通常留下一个远程控制的后门•没有主动传播的功能•用户主动发送给其他人•放到网站上由用户下载2021/4/22恶意代码技术分析及应急响应11常见木马程序•BackOrifice:击键记录、屏幕获取等•冰河•广外女生•用于远程控制的商业软件RemoteAdministratorVNCPCAnywhere2021/4/22恶意代码技术分析及应急响应12修改标题修改起始页面,且禁止用户修改2021/4/22恶意代码技术分析及应急响应13钓鱼——伪造的网页2021/4/22恶意代码技术分析及应急响应14恶意代码的破坏性•没有破坏性,恶作剧•破坏系统文件•破坏用户数据•消耗系统资源:CPU/内存/硬盘/外设•消耗网络资源:网络拥塞/DDoS攻击•窃取用户隐私信息•有组织的网络犯罪2021/4/22恶意代码技术分析及应急响应15恶意移动代码发展趋势•各种手段的融合•电子邮件应用•网络文件共享•利用系统漏洞•P2P软件•社会工程(socialengineering)•变种速度越来越快•利益驱动的越来越多2021/4/22恶意代码技术分析及应急响应16RiseofAttacks-AttackSophisticationvsIntruderTechKnowledgeTrackingandTracingCyber-Attacks:TechnicalChallengesandGlobalPolicyIssues.CERTCoordinationCenter.Nov.20022021/4/22恶意代码技术分析及应急响应17互联网所面临的风险越来越大全球基础设施区域性网络多个网络单个网络单台计算机攻击目标和破坏程度FirstGen•BootvirusesWeeksSecondGen•Macroviruses•DenialofserviceDaysThirdGen•Distributeddenialofservice•BlendedthreatsMinutesNextGen•Flashthreats•Massiveworm-drivenDDoS•DamagingpayloadwormsSeconds1980s1990sTodayFutureRapidlyEscalatingThreattoBusinesses2021/4/22恶意代码技术分析及应急响应18提纲一.恶意代码及其分类二.恶意代码技术的发展三.恶意代码分析与防范四.讨论2021/4/22恶意代码技术分析及应急响应19恶意代码技术发展•传播与感染技术•隐藏技术与隐蔽通信•代码的演化技术2021/4/22恶意代码技术分析及应急响应20恶意代码的传播技术•引导记录传播•移动介质(如U盘传播)•可执行文件传播•数据文件传播(宏)•利用电子邮件传播•通过文件共享传播•网页脚本•P2P文件共享•即时通信软件(ICQ/MSN/QQ等)•系统漏洞传播•在内存中传播2021/4/22恶意代码技术分析及应急响应21引导型病毒—引导记录•主引导记录(MBR)55AA主引导程序(446字节)分区1(16字节)主分区表(64字节)分区2(16字节)分区3(16字节)分区4(16字节)结束标记(2字节)引导代码及出错信息A2021/4/22恶意代码技术分析及应急响应22引导型病毒—感染与执行过程系统引导区引导正常执行病毒。。。。。病毒。。。2021/4/22恶意代码技术分析及应急响应23利用移动介质的自启动功能传播•autorun.inf•icon•Open•RECYCLER目录•隐藏扩展名•伪装成系统图标2021/4/22恶意代码技术分析及应急响应24正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序正常程序病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头病毒程序头程序头病毒程序程序头病毒程序程序头病毒程序程序头病毒程序程序头病毒程序程序头病毒程序病毒程序病毒程序病毒程序正常程序DOS下的EXE文件感染2021/4/22恶意代码技术分析及应急响应25感染数据文件的病毒--宏病毒有毒文件.docNormal.dot激活autoopen宏写入无毒文件.docNormal.dot启动激活病毒2021/4/22恶意代码技术分析及应急响应26通过电子邮件传播•感染途径•邮件附件:PIF,VBS,SCR,EXE,BAT,•HTML邮件中的链接•系统漏洞,如Nimda所利用的MIME漏洞•传播方式•搜索邮件地址簿、临时文件中的Email地址•自带MTA,不需要通过Email服务器•欺骗手段•来自你可信的朋友、同事•来自微软或安全公司•好玩的游戏、屏幕保护、图片等•退信、回复2021/4/22恶意代码技术分析及应急响应27通过电子邮件传播•插入E-Mail附件•SMTP代理2021/4/22恶意代码技术分析及应急响应28利用社会工程传播的邮件病毒2021/4/22恶意代码技术分析及应急响应29利用网页脚本传播•Web浏览器的客户端功能扩展•JavaApplet•JavaScript•ActiveX•VBScript•脚本的恶意功能•读写文件•修改注册表•发送电子邮件HTMLHEADTITLEHELLO/TITLE/HEADSCRIPTLANGUAGE=VBSCRIPT!—Dimfso,f1Setfso=CreateObject(Scripting.FileSystemObject)Setf1=fso.CreateTextFile(C:\vbscript-test.txt,True,True)f1.WriteLine(Hello,VBScriptcanwriteanydateintoyourharddisk!!!)f1.WriteLine(Ifyoudon'tconfigureyourbrowsersecure)f1.Close--/SCRIPT/HEADBODYOBJECTclassid=clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0Bid=wshSCRIPTLANGUAGE=VBSCRIPTwsh.RegWrite(HKCU\\Software\\Microsoft\\InternetExplorer\\Main\\StartPage,)/SCRIPTHello,CheckyourC:\/BODYHTML2021/4/22恶意代码技术分析及应急响应30利用系统漏洞传播•利用系统漏洞:exploit•利用其他攻击留下的后门•W32/Borm利用Backorifice•Nimda利用CodeRed的后门CodeRedII留下的Web日志2001-05-0612:20:1910.10.10.10-10.20.20.2080GET/scripts/../../winnt/system32/cmd.exe/c+dir200–2001-05-0612:20:1910.10.10.10-10.20.20.2080GET/scripts/../../winnt/system32/cmd.exe/c+dir+..\200–Nimda攻击形式://x.x.x.x/c/winnt/system32/cmd.exe?/c+dir2021/4/22恶意代码技术分析及应急响应31恶意代码自保护技术•反反汇编(Antidisassembly)•多态病毒(PolymorphicViruses)•变形病毒(MetamorphicViruses)•反跟踪(Antidebugging)•反制病毒2021/4/22恶意代码技术分析及应急响应32反反汇编(Antidisassembly)•数据压缩•数据加密•Fix2001•干扰代码MOVCX,100h;thismanybytesMOVAH,40h;towriteINT21h;usemainDOShandlerMOVCX,003Fh;CX=003FhINCCX;CX=CX+1(CX=0040h)XCHGCH,CL;swapCHandCL(CX=4000h)XCHGAX,CX;swapAXandCX(AX=4000h)MOVCX,0100h;CX=100hINT2