您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 软件安全及典型服务安全
软件安全及典型服务安全软件安全及典型服务安全软件安全及典型服务安全软件安全及典型服务安全文伟平博士副教授ii@kdweipingwen@ss.pku.edu.cn北京大学软件与微电子学院信息安全系网络与软件安全保障教育部重点实验室网络与软件安全保障教育部重点实验室内容提要软件安全现状软件安全现状软件逆向分析软件逆向分析软件漏洞分析典型软件安全务安全典型软件安全-Web服务安全信息网络安全根源为什么带来众多的安全问题?为什么带来众多的安全问题安全状况越来越糟安全威胁越来越大主要根源是什么?安全管理的问题?安全管理的问题?硬件和软件脆弱性的问题!!!主要根源:我们的软件存在太多安全漏洞???!!!我们的软件存在太多安全漏洞???!!!软件漏洞发展趋势漏洞数量日益增多,且危害日益严重。美国国家漏洞库NVD收集的漏洞数量平均每天16个,其中高度危险的漏洞占近50%,且每年基本都呈递增趋势。著名的安全公司IBMInternetSecuritySystems的XForce小组著名的安全公司IBMInternetSecuritySystems的X-Force小组在其2007年趋势统计报告中指出,2007年X-Force收录的漏洞数量虽比2006年减少了5.4%,但威胁等级为高的安全漏洞数量却增加了28%量却增加了28%。漏洞存在的范围日益扩大。操作系统的安全漏洞仍是信息系统当前面临的主要问题操作系统的安全漏洞仍是信息系统当前面临的主要问题。应用程序的漏洞逐年增多,尤其是国产软件软件漏洞发展趋势漏洞利用趋于简单化网络搜索引擎可以很容易搜索各种攻击代码网络搜索引擎可以很容易搜索各种攻击代码。攻击程序已模块化漏洞利用趋于快速化漏洞利用趋于快速化蠕虫名称漏洞发布时间大规模爆发时间时间间隔尼姆达WormNimda20001017MS0007820010918336天尼姆达Worm_Nimda2000-10-17MS00-0782001-09-18336天Worm_Slammer2002-07-24MS02-0392003-01-25185天冲击波Worm_Blaster2003-07-16MS03-0262003-08-1126天震荡波Worm_Sasser2004-04-13MS04-0112004-05-0118天狙击波Worm_Zotob.a2005-08-09MS05-0392005-08-134天魔波WormMocbot2006-08-08MS06-0402006-08-124天魔波Worm_Mocbot20060808MS06040200608124天Exploit.Win32.MS08-067.g2008-10-23MS08-0672008-10-23前1天国外软件漏洞情况(美国)漏洞管理方面漏洞管理方面以民间组织CERT/CC、政府协调机构USCERT和政府部门美国国家标准与技术委员会NIST为核心政府部门美国国家标准与技术委员会NIST为核心,相关安全机构组织、专业安全技术公司、产品供应商、研究机构和个体为支撑的一个比较完善的体系。漏洞发现方面:主要依靠产品供应商(如微软公司、思科公司)、专业安全公司和组织、研究机构国外软件漏洞情况(美国)漏洞收集、验证和威胁评估方面:年蠕虫爆发成立第个组织1988年,Morris蠕虫爆发,成立第一个CERT组织1999年,美国建立了公共漏洞和暴露列表CVE2002年白宫发布了《保护网络空间的国家战略》由美国国家网络2002年白宫发布了《保护网络空间的国家战略》,由美国国家网络安全司NCSD负责具体执行该战略。2003年9月,美国国土安全部联合CERT/CC宣布成立美国官方的应急响应组织作为的运作机构急响应组织US-CERT,作为NCSD的运作机构。CERT/CC实际上已成为了US-CERT的主要组成部分,并共同维护了US-CERTVulnerabilityNotes数据库USCVueabtyNotes数据库美国国家标准与技术委员会NIST下属的计算机安全资源中心CSRC创建了国家漏洞库NVD国外软件漏洞情况(美国)安全漏洞发布安全漏洞发布根据漏洞的危害程度有不同的发布策略。满特害等安全对于满足特定危害等级(SeverityThreshold,0-180)的安全漏洞,US-CERT将专门发布告警信息(Alert)。对于危害不是特别严重但影响普遍的安全漏洞,通过一般的对于危害不是特别严重但影响普遍的安全漏洞,通过般的US-CERTVulnerabilityNotes方式在USCERT的网站发布。国内软件漏洞研究现状国内公司有一些公司具备一定的能力,但总体上看开展漏洞研究工作的公司还很有些公司具备定的能力,但总体上看开展漏洞研究工作的公司还很少。研究机构部分高校,研究所CNCERT/CC:年便开始了漏洞处置相关的工作拟定了与兼容的国内第2000年便开始了漏洞处置相关的工作;拟定了与CVE兼容的、国内第一个漏洞库结构标准——《中文计算机信息系统通用漏洞库(CNCVE)结构标准》;通过网站、公告、电子邮件等形式发布漏洞公告,2006年共整理发布与我国用户密切相关的漏洞公告个年发布了个整理发布与我国用户密切相关的漏洞公告87个,2007年发布了104个。目标:促进厂商做好漏洞修补服务,帮助用户做好安全防范。民间力量民间力量论坛黑客组织国内软件漏洞研究现状国家对安全漏洞研究工作的重视程度有待提高与国外已建立相对成熟的漏洞处置体系,并拥有众多漏洞与国外建相对成熟的漏洞处置体系并拥有众多漏洞处置相关机构相比,国内漏洞处置工作整体水平与国外相比仍有较大差距。缺乏对信息产品安全漏洞的监管,漏洞的预防、发现、评估、处置等各个环节缺乏统一的协调。漏洞自主发现能力较弱,水平不高,主要依赖国外绝大多数漏洞信息均是由国外相关组织首先发现和发布,绝大多数漏洞信息均是由国外相关组织首先发现和发布,国内再参考引用。缺乏对民间力量的有效引导,很多民间的漏洞分析缺乏对民间力量的有效引导,很多民间的漏洞分析者逐渐倾向于为黑客攻击服务。软件漏洞数据库数据库数据库美国NVD(NationalVulnerabilityDatabase)SecurityFocusVulnerabilityDatabaseSecurityFocusVulnerabilityDatabaseBugTraqCNCERT/CC安全漏洞数据库CNCERT/CC安全漏洞数据库脆弱性定义及描述语言()CVE(CommonVulnerabilitiesandExposures)OVAL(OpenVulnerabilityAssessmentLanguage)部分软件漏洞研发单位科研院所服务机构/企业国中科院研究生院国家计算机网络入侵CNCERT/CC国内中科院研究生院国家计算机网络入侵防范中心中科院软件研究所CNCERT/CC国家计算机病毒防范中心安天实验室中科院软件研究所装备指挥技术学院国防科技大学安天实验室绿盟公司启明星辰公司西安电子科技大学哈尔滨工业大学北京大学北京大学国外ComputerSecurityLabatUniversityofCalifornia,DavisXXCERT/CCMITRECo.(CVE)外y,CERIASatPurdueUniversityUniversityofWisconsinMITRECo.(CVE)ISSCo.SymantecCo.StockholmUniversity(SecurityFocus)培训提纲软件安全现状软件安全现状软件逆向分析软件逆向分析软件漏洞分析典型软件安全务安全典型软件安全-Web服务安全实际案例演示实际案例演示逆向分析背景知识编译器、调试器的使用编译器、调试器的使用Win32:VC6.0+OllyDbg进程内存空间结构进程内存空间结构汇编语言基本知识栈的基本结构函数调用过程函数调用过程VC6.0命令行环境变量我的电脑属性高级环境变量我的电脑-属性-高级-环境变量PATH:C:\ProgramFiles\MicrosoftVisualStudio\VC98\Bin;C:\ProgramFiles\MicrosoftVisualStudio\VC98\Bin;C:\ProgramFiles\MicrosoftVisualStudio\Common\MSDev98\Bin;INCLUDE:C:\ProgramFiles\MicrosoftVisualStudio\VC98\IncludeLIB:LIB:C:\ProgramFiles\MicrosoftVisualStudio\VC98\Lib命令行指令命令行指令clsourcefilename–编译并链接Win32平台调试器OllyDbgyg32-bitassemblerlevelanalysingdebuggerbyOlehYuschukFree支持插件机制支持插件机制OllyUni:查找跳转指令功能UiltraStringReferennce:查找字符串SofticeIDAProIDAProWin32进程内存空间系统核心内存区间0xFFFFFFFF0x80000000(4G2G)0xFFFFFFFF~0x80000000(4G~2G)为Win32操作系统保留用户内存区间用户内存区间0x00000000~0x80000000(2G~0G)堆动态分配变量向高地址增长堆:动态分配变量(malloc),向高地址增长静态内存区间:全局变量、静态变量代间始代码区间:从0x00400000开始栈:向低地址增长单线栈底地单线程进程:(栈底地址:0x0012FFXXXX)多线程进程拥有多个堆/栈程序在内存中的映像堆(Heap)堆的增长方向……内存低地址(p)堆的增长方向堆栈段内存非初始化数据段(BSS)栈(stack)栈的增长方向数据段递增方初始化数据段非初始化数据段(BSS)文本(代码)段内存高地址向系统DLL代码段内存高地址内核数据代码0x800000000x7FFFFFFFPEB&TEB内核数据代码080000000栈栈是一块连续的内存空间栈是块连续的内存空间先入后出生长方向与内存的生长方向正好相反,从高地址向生长方向与内存的生长方向正好相反,从高地址向低地址生长每一个线程有自己的栈每个线程有自己的栈提供一个暂时存放数据的区域使用指令来对栈进行操作使用POP/PUSH指令来对栈进行操作使用ESP寄存器指向栈顶,EBP指向栈使用ESP寄存器指向栈顶,EBP指向栈帧底栈内容函数的参数函数的参数函数返回地址的值EBP的值一些通用寄存器(EDI,ESI…)的值些通用寄存器(EDI,ESI…)的值当前正在执行的函数的局部变量汇编语言基础知识-寄存器寄存器名说明功能eax:累加器加法乘法指令的缺省寄存器,函数返回值ecx计数器REP&LOOP指令的内定计数器edx除法寄存器存放整数除法产生的余数ebx:基址寄存器在内存寻址时存放基地址esp栈顶指针寄存器SS:ESP当前堆栈的栈顶指针ebp栈底指针寄存器SS:EBP当前堆栈的栈底指针ebp栈底指针寄存器SS:EBP当前堆栈的栈底指针esi,edi源、目标索引寄存器在字符串操作指令中,DS:ESI指向源串ES:EDI指向目标串eip指令寄存器CS:EIP指向下一条指令的地址eflags标志寄存器标志寄存器cs代码段寄存器当前执行的代码段ss椎栈段寄存器stacksegment,当前堆栈段ds数据段寄存器datasegment当前数据段ds数据段寄存器datasegment,当前数据段汇编语言基础知识-汇编指令AT&T格式与Intel格式命令解释命令解释PUSH%esp-=4;
本文标题:软件安全及典型服务安全
链接地址:https://www.777doc.com/doc-1602519 .html