安全漏洞与恶意代码版本:3.0发布日期:2014-12-1生效日期:2015-1-1讲师姓名:陈阳怀主办单位:中国信息安全测评中心培训单位:联系邮箱:chenyanghuai@china.com.cn2课程内容2安全漏洞、恶意代码与攻防知识体知识域知识子域安全漏洞的产生与发展恶意代码的产生与发展恶意代码的实现技术安全漏洞与恶意代码安全漏洞的发现与修复安全攻击与防护恶意代码的防御技术知识域:安全漏洞与恶意代码知识子域:安全漏洞的产生与发展了解安全漏洞的概念和产生的原因了解国内外常见安全漏洞分类了解安全漏洞的发展趋势3安全漏洞的基本概念什么是漏洞(Vulnerability)也被称为脆弱性,计算机系统天生的类似基因的缺陷,在使用和发展过程中产生意想不到的问题(冯•诺依曼)漏洞的含义漏洞本身随着信息技术的发展而具有不同的含义与范畴基于访问控制的定义逐步发展到涉及系统安全流程、设计、实施、内部控制等全过程的定义4漏洞的定义学者们对漏洞的定义从访问控制角度定义(1982Denning)从风险管理角度的定义(1990Longstaff)使用状态空间描述的方法定义(1996Bishop)标准机构的定义存在于评估对象(TOE)中违反安全功能要求的弱点(1999年,ISO/IEC15408(GB/T18336))威胁源可以攻击或触发的信息系统、系统安全流程、内部控制或实施中的弱点(2000NISTIR7298)威胁可以利用的一个或一组资产的弱点;是评估对象(TOE)中的弱点;是在信息系统或其环境的设计及实施中的缺陷、弱点或特性(2009年ISO/IEC)56漏洞的理解从生命周期的角度出发,信息技术、信息产品和信息系统在需求、设计、实现、配置、维护和使用等过程中,有意或无意产生的缺陷,这些缺陷一旦被恶意主体所利用,就会造成对信息产品或系统的安全损害,从而影响构建于信息产品或系统之上正常服务的运行,危害信息产品或系统及信息的安全属性6漏洞产生的原因技术原因软件系统复杂性提高,质量难于控制,安全性降低公用模块的使用引发了安全问题经济原因“柠檬市场”效应环境原因从传统的封闭、静态和可控变为开放、动态和难控攻易守难安全缺陷安全性缺陷是信息系统或产品自身“与生俱来”的特征,是其的固有成分7漏洞的分类分类的目的准确的区分和描述不同的漏洞有助于漏洞的发布、存储和查询漏洞分类实例NVD:代码注入等21种类型CNNVD:根据漏洞形成分成22种类型……8知识域:安全漏洞与恶意代码知识子域:安全漏洞的发现与修复了解安全漏洞的静态与动态挖掘方法的基本原理了解补丁分类及修复时应注意的问题9漏洞的发现静态漏洞挖掘动态漏洞挖掘10静态漏洞挖掘不运行代码而直接对代码进行漏洞挖掘的方法适用对象完整的或不完整的源代码二进制代码中间代码片段方法流分析符号执行模型检测11动态漏洞挖掘在代码运行的状态下,通过监测代码的运行状态或根据测试用例结果来挖掘漏洞的方法特点与静态分析方法相比,动态分析方法的最大优势在于其分析结果的精确,即误报率较低方法模糊测试动态污染传播1213安全漏洞的修复安装补丁是漏洞消减的技术手段之一。数据显示,及时安装有效补丁可避免约95%的信息安全损失补丁修复中存在的两难问题:打什么样的补丁?——补丁质量问题如何打补丁?——操作方式问题什么时间打补丁?——修复时机问题13补丁分类从文件类型以源代码形式存在以二进制形式存在从内存角度文件补丁(冷补丁)内存补丁(热补丁)14补丁安装时应注意的问题补丁安装部署之前需要经过必要的测试需要从可靠来源不断获取最新补丁信息安装补丁时需要做好备份和相应的应急措施15安全漏洞的修复标准化的安全配置2002年,美国率先在军队推行标准化的安全配置与核查(IAVA)根据漏洞分析和风险评估的安全加固传统的安全加固手段越来越难以应付日益复杂的攻击行为,漏洞信息的及时披露和分发越来越重要。加固核查与问责通过安全审计核实漏洞消除情况和效果。16知识域:安全漏洞与恶意代码知识子域:恶意代码的产生与发展了解恶意代码的发展历史及趋势了解恶意代码的分类理解恶意代码的传播方式17什么是恶意代码什么是恶意代码《中华人民共和国计算机信息系统安全保护条例》第二十八条:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码(1994.2.18)恶意代码,是指能够引起计算机故障,破坏计算机数据,影响计算机系统的正常使用的程序代码。指令类型二进制代码、脚本语言、宏语言等表现形式病毒、蠕虫、后门程序、木马、流氓软件、逻辑炸弹等18恶意代码发展孕育和诞生1949:冯·诺依曼在《复杂自动机组织论》提出概念1960:生命游戏(约翰·康维)磁芯大战(贝尔实验室三名程序员)1977年科幻小说《P-1的青春》使得恶意程序有了计算机病毒的名称1983:真正的恶意代码在实验室产生19恶意代码发展1986年—第一个PC病毒:Brainvirus1988年—MorrisInternetworm—6000多台1990年—第一个多态病毒1991年—virusconstructionset-病毒生产机1991年—DIR2病毒1994年—GoodTimes(joys)1995年—首次发现macrovirus20罗伯特.莫里斯恶意代码发展1996年—netcat的UNIX版发布(nc)1998年—第一个Javavirus(StrangeBrew)1998年—netcat的Windows版发布(nc)1998年—backorifice(BO)/CIH1999年—melissa/worm(macrovirusbyemail)1999年—backorifice(BO)forWIN2k1999年—DOS/DDOS-DenialofServiceTFT/trin001999年—knark内核级rootkit(linux)21恶意代码发展2000年—loveBug(VBScript)2001年—CodeRed–worm(overflowforIIS)2001年—Nimda-worm(IIS/webbrowser/outlook/fileshareetc.)2002年—SQLslammer(sqlserver)2003年—MSBlaster/Nachi2003年—中文上网2004年—MyDoom/Sasser2006年—熊猫烧香22恶意代码发展2010年—Stuxnet(工业蠕虫)2012年—火焰病毒23各种蠕虫、木马悄悄的潜伏在计算机中,窃取信息……恶意代码的发展趋势从传播速度上来看恶意代码爆发和传播速度越来越快从攻击意图来看从游戏、炫耀逐步转向恶意牟利从功能上来看恶意代码的分工越来越细从实现技术来看恶意代码实现的关键技术不断变化从传播范围来看恶意代码呈现多平台传播的特征24恶意代码分类25照恶意代码运行平台按照恶意代码传播方式按照恶意代码的工作机制按照恶意代码危害分类蠕虫病毒后门木马有害工具流氓软件风险程序其他恶意代码的传播方式26移动存储文件传播网络传播网页电子邮件即时通讯共享主动放置软件漏洞[AutoRun]OPEN=Autorun.exeICON=icon.ico恶意代码传播方式-移动存储27自动播放功能Windows默认自动执行autorun.inf指定的文件设置组策略编辑器28恶意代码传播方式-文件传播文件感染软件捆绑强制安装:在安装其他软件时被强制安装上默认安装:在安装其他软件是被默认安装上28恶意代码传播方式-网页29将木马伪装为页面元素利用脚本运行的漏洞伪装为缺失的组件通过脚本运行调用某些com组件利用软件漏洞例如:在渲染页面内容的过程中利用格式溢出释放或下载木马恶意代码传播方式-邮件30社会工程学欺骗性标题吸引人的标题•Iloveyou病毒•库娃等……利用系统及邮件客户端漏洞尼姆达(畸形邮件MIME头漏洞)……恶意代码传播方式-通讯与数据传播即时通讯伪装即时通讯中的用户向其联系人发送消息。使用欺骗性或诱惑性的字眼P2P下载伪造有效资源进行传播31恶意代码传播方式-共享共享32管理共享C盘、D盘……Windows安装目录用户共享用户设置的共享典型病毒LovegateSpybotSdbot……恶意代码传播方式-主动放置利用系统提供的上传渠道(FTP、论坛等)攻击者已经获得系统控制权攻击者是系统开发者……33攻击者被攻击系统恶意代码传播方式-软件漏洞利用各种系统漏洞缓冲区溢出:冲击波、振荡波利用服务漏洞IIS的unicode解码漏洞:红色代码……34知识域:安全漏洞与恶意代码知识子域:恶意代码的实现技术理解恶意代码修改配置文件、修改注册表、设置系统服务等加载方式理解恶意代码进程、网络及系统隐藏技术理解恶意代码进程保护和检测对抗自我保护技术35恶意代码加载方式随系统启动而加载开始菜单中的启动项启动配置文件注册表启动项系统服务组策略……随文件执行加载感染/文件捆绑浏览器插件修改文件关联其他36随系统启动加载方式-启动配置开始菜单启动项启动配置文件Autorun.batWin.iniSystem.ini已经很少有病毒采用过于明显用户登录后才能启动37随系统启动加载方式-注册表注册表启动项:1.HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load2.HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit3.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx4.HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run5.HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce6.……38优势隐蔽性强方式多样加载位置Load键值Userinit键值RunRunServicesOnceRunServicesRunOnce……随系统启动加载方式-服务39优势隐蔽性强无需用户登录权限较高加载方式单独服务替换系统服务程序随系统启动加载方式-组策略优势类似启动项,但隐蔽性更高不足需要用户登录40随文件执行加载方式-感染/文件合并传统病毒宏病毒程序合并41随文件执行加载方式-浏览器插件优势隐蔽性强清理困难42随文件执行加载方式-修改文件关联43原理正常情况下文本文件(.txt)关联到记事本notepad.exe打开病毒修改文本文件(.txt)关联到病毒文件打开优势隐蔽性强,可关联任意类型文件,甚至可以关联目录操作44恶意代码隐藏技术进程隐藏进程迷惑DLL注入网络隐藏端口复用无端口反向端口系统隐藏隐藏、系统文件流文件隐藏Hook技术44恶意代码进程隐藏技术-进程迷惑随机进程名每次启动生成不一样的进程名,退出后无法查找系统进程类命名Windows.exeSystem1.exeKernel.exe相似进程名同名不同路径的进程c:\windows\system32\iexplore.exe(trojan)c:\ProgramFiles\InternetExplorer\iexplore.exe(right)名称相近的程序svchost.exe(right)svch0st.