网络安全风险分析.ppt
《网络安全风险分析.ppt》由会员分享,可在线阅读,更多相关《网络安全风险分析.ppt(85页珍藏版)》请在三一办公上搜索。
1、第二章 常见网络风险分析-Part1,常见程序漏洞问题恶意代码攻击 木马和后门 拒绝服务攻击欺骗攻击,常见程序漏洞问题,什么是程序中的“bug”?开发者犯错误-导致设计中过失编码(error)-一个或多个错误(fault)。错误:系统内部观点,开发者所见 失效:系统外部观点,用户看到的问题。对系统要求行为的违反。不是所有的错误都会导致失效,例如错误代码从来未被执行或者系统从来没有进入某种状态。,程序漏洞产生原因,原因:(1)、受编程设计人员的能力、经验和安全技术所限,操作系统及各种应用程序在设计中出现逻辑错误是不可避免的。(2)、对程序内部操作的不了解,或没有足够的重视,编程人员总会假定程序在
2、任何环境中能够正常运行。当假设得不到满足,程序内部的相互作用和安全策略产生冲突便形成了安全漏洞。,(3)、数据处理中出现的错误。例如对变量赋值及发送的一些请求命令。例如WebLogic服务端发送类似GET.rnrn的请求时,远程WebLogic服务端在处理生成重定向的请求时会泄漏该主机的NetBIOS主机名。(4)、安全缺陷和具体的系统环境密切相关。在不同种类的软、硬件设备中,同种设备的不同版本之间,由不同设备构成的不同系统之间,都存在各自不同的安全问题。例如低于或版本的OpenSSL存在堆栈溢出漏洞,该漏洞可导致远程攻击者获得系统的shell。,(5)、某些服务或应用程序会向远程客户提供关于
3、本机的一些信息,这种信息泄漏也是一种安全缺陷。例如Finger服务,域名解析服务等。(6)、有些服务本身不是漏洞或不存在安全缺陷,但是却能被远程主机利用来进行辅助攻击。例如Visual Route Web服务器允许攻击者攻击程序在不暴露自身到目标主机路由的情况下执行向第三方主机的路由跟踪。,没有技术手段可以消除所有的程序漏洞。测试技术上:应该做什么,不应该做什么。不可能详尽地测试状态和数据的每一种组合来检验系统。恶意代码还具有隐蔽性。技术发展上:程序设计和软件工程技术的发展速度远远超过计算机安全技术的发展技术。保护过去的技术,举例-计算机攻击的剧烈增长,CERT computer emerge
4、ncy response team 计算机应急响应小组,卡内基梅隆大学,追踪和报道在全世界范围内报道的计算机攻击的种类和数量。任务:警告用户和开发者出现的新的问题,提供解决的必要信息。,据中国互联网协会统计,2008年,中国大陆受到来自境外的网络攻击数量同比增长了148%。工信部发言人在接受新华社记者专访时指出,仅2009年,我国被境外控制的计算机IP地址就多达100多万个,被黑客组织篡改的网站累计达4.2万个,其中政府网站被篡改的数量达2765个。在受网络病毒威胁方面,我国仅被“飞客”蠕虫病毒感染的计算机数量每月就达1800万台,占全球感染主机的30%,位居世界第一。被植入僵尸程序的计算机数
5、量也位居世界首位,占世界总量的13%。,美国是世界上最大的网络攻击源头。据美国最大的网络公司Symatec公司发表的2008年互联网安全威胁报告,世界上25%的网络攻击源自美国,33%的僵尸控制服务器和43%的“钓鱼网站”位于美国。对中国的网络攻击和入侵也主要源自美国。据中国国家互联网应急中心对部分木马和僵尸程序的抽样检测结果,2009年我国境内被木马程序和僵尸程序控制的主机IP数量分别为26.2万个和83.7万个,分别有16.5万个和1.9万个境外主机地址参与控制这些计算机,其中源自美国的数量排名第一,分别占16.61%和22.34%。可以说,美国已成为全球最大的网络攻击策源地。,应急响应服
6、务的诞生CERT/CC1988年Morris 蠕虫事件直接导致了CERT/CC的诞生。CERT/CC服务的内容:安全事件响应安全事件分析和软件安全缺陷研究缺陷知识库开发信息发布:缺陷、公告、总结、统计、补丁、工具教育与培训:CSIRT(computer security incident response team)管理、CSIRT技术培训、系统和网络管理员安全培训指导其它CSIRT(也称IRT、CERT)组织建设,举例,计算机安全总署(computer security institute,CSI)和FBI,调查500家大型机构,90%有安全隐患,25%每年有2-5例安全事件,37%超过10
7、例。对167名网络安全人员调查,75%经历过网络攻击,超过50%认为攻击频繁。223名被调查者损失455 000 000美元,国内安全事件响应组织建设情况,计算机网络基础设施已经严重依赖国外;由于地理、语言、政治等多种因素,安全服务不可能依赖国外的组织 国内的应急响应服务还处在起步发展阶段CCERT(1999年5月),中国第一个安全事件响应组织NJCERT(1999年10月)中国电信ChinaNet安全小组解放军,公安部安全救援服务公司 中国计算机应急响应组/协调中心CNCERT/CC信息产业部安全管理中心,2000年3月,北京,国际间的协调组织,国内的协调组织,国内的协调组织,产品用户,网络
8、接入用户,企业部门、用户,商业IRT,网络服务提供商 IRT,厂商 IRT,企业/政府 IRT,如:安全服务公司,如:CCERT,如:cisco,IBM,如CERT/CC,FIRST,如CNCERT/CC,如:中国银行、公安部,愿意付费的任何用户,安全应急响应组的分类,CSIRT的服务内容应急响应安全公告咨询风险评估入侵检测教育与培训追踪与恢复,安全应急响应服务组织的服务内容,安全应急响应服务的特点,技术复杂性与专业性各种硬件平台、操作系统、应用软件;知识经验的依赖性由IRT中的人提供服务,而不是一个硬件或软件产品;突发性强需要广泛的协调与合作,主要客户群是CERNET(中国教育科研计算机网)
9、会员,但也有受理其他网络的报告和投诉目前主要从事以下服务和研究:事件响应:入侵、垃圾邮件以及邮件炸弹、恶意扫描和DoS事件处理给站点管理员提供安全建议提供安全信息公告和安全资源反垃圾邮件、禁止扫描的公告操作系统补丁、工具软件网络安全领域的研究,包括安全管理、入侵检测、安全体系结构、PKI等。,程序缺陷分类,有意(恶意)无意:确认时的过失(不完善性或不一致性),域过失,序列化和混淆,不充分的识别和鉴别,边界条件违规,其他可利用的逻辑过失。,非恶意的程序漏洞(1),缓冲区溢出及其安全威胁例:char sample10;for(i=0;i=9;i+)samplei=Asample10=B超出边界,溢
10、出的四种情况,溢出到用户数据空间:覆盖一个已经存在的变量或写入一个还未使用的位置-影响程序的运行结果,不会影响到其他程序运行溢出到用户程序区间:覆盖一条已执行的指令(以后不会再执行),用户不会觉察到影响;覆盖的是未执行的指令,尝试执行操作码是0 x42(B的内码)的指令,不存在,非法指令停机,存在,将后续字节作为指令的剩余部分执行,结果取决于上下文的含义。溢出到系统数据区域:用错误的数值进行计算或尝试。溢出到系统代码区域:尝试执行不适当的操作,两类常用的缓冲区溢出攻击:,替换系统空间的代码控制操作系统,提升自己的权限。利用堆栈指针或返回值的寄存器子过程调用时,参数、返回地址和其他局部变量都被压
11、入堆栈中,调用前的堆栈指针也被压入,堆栈寄存器重新装载新的值,控制权交给子过程。子过程运行时,按堆栈寄存器指向读出参数。攻击者可以改变旧堆栈指针或返回地址,从而改变过程调用的相应环境,将程序定向到希望执行的代码处。,Imagine simple password-checking code passwd.int funct(char*inp)char buf10;strcpy(buf,inp);.Function storage allocated on run-time stackFirst return address Then locations for input parameterT
12、hen space for buffer(10 chars)What if strlen(inp)10?输入参数长度10Fill up bufferWrite over function parameterWrite over return address“Return”will jump to location determined by input,Return addr,char*inp,buf9,buf8,buf1,buf0,缓冲区溢出举例,MSFT indexing service,an extension to IIStelnet 80GET/somefile.idq?Telnet
13、 to port 80 and send http GET with buffer over 240 bytesAttacker can take over server攻击者可控制服务器Form of attack used by Code Red to propagate红色代码TFTP server in Cisco IOSCan use overflow vulnerability to take over serverMany many more examples,(1)基于源码的静态分析。基于源码的词法分析、模型化、标记驱动、符号分析等静态分析技术能在程序发布前检测和修正缓冲区溢出
14、脆弱性。它包括如下内容:词法分析、变量范围模型化、基于前后条件的标记驱动、符号分析等方式。(2)基于可执行代码的分析转换。在不能得到源码的情况下,最直接的办法就是对可执行码进行分析、转换,来检测和预防缓冲区溢出。它包括以下内容:定位边界函数、保护返回地址、检测系统调用、缓冲区代码的反汇编检查等方式。,缓冲区溢出攻击防护,Understanding C functions and the stack.Some familiarity with machine code.对机器代码有些了解Know how systems calls are made.知道如何系统调用The exec()syste
15、m call.Attacker needs to know which CPU and OS are running on the target machine.vs.,What is needed,Some unsafe C lib functions,strcpy(char*dest,const char*src)strcat(char*dest,const char*src)gets(char*s)scanf(const char*format,)printf(conts char*format,),(3)扩展编译器功能。编译器是源码变成可执行码的桥梁。有很多缓冲区溢出脆弱性检测和预防技
16、术解决方案是通过扩展原编译器,增加缓冲区边界信息并插入边界检查代码来实现的。它包括如下内容:增加返回地址保护功能、扩展指针表示信息、插入内存修改日志、增加安全类型等方法(4)运行时拦截并检查。运行时拦截危险函数并进行安全检查是对原系统影响较小的软件实现方法。它包括以下内容:拦截脆弱函数、运行时防止溢出等。,(5)堆和栈不可执行。大部分基于堆栈缓冲区溢出脆弱性的攻击依赖于堆栈可执行。如果不允许堆栈执行程序,就能防御这类攻击。(6)抽象执行网络数据。所谓抽象执行是指在检查网络数据时分析它是否表示了有效的机器指令,通过抽象执行可以检测网络数据中是否包含带有缓冲区溢出脆弱性的程序。数据请求包如果包含了
17、缓冲区溢出脆弱性,那它的有效指令链会比正常的数据请求包中的有效指令链长很多,对可能包含缓冲区溢出脆弱性的数据包再在虚拟机上模拟执行,以进一步验证。,(7)软件测试。使用一些软件测试技术也能检测缓冲区溢出脆弱性,其主要缺点是需要测试者提供触发脆弱性发生的测试数据。它主要包括以下内容:基于错误注入的测试、基于属性的测试、渗透测试等方法。(8)打乱和加密。该技术使得攻击代码即使注入,也不能运行。它主要包括以下内容:打乱内存地址、打乱系统调用入口、对段设置保护属性、加密可执行代码等方法。(9)基于硬件的支持。硬件技术是最底层的技术,如果能用于检测和预防缓冲区溢出脆弱性,将是一个性能最高、解决最彻底的方
18、案。它主要包括以下内容:增加硬件堆栈、使用两个堆栈、地址保护、地址完整性检查等方法。,用户在浏览器输入数据,用户端程序可以检查并抛弃不正确的数据,要求用户重新输入,但递交结果是包含在URL中传递的,浏览器不会对URL进行检查。用户可以编辑URL,从而可以改变参数,发送它们。而服务器是无法区分是客户正常输入还是直接编辑URL来的。那么这些参数就没有经过完善验证。例:某公司电子商务应用.价格改变 攻击者可以利用这个特性,修改返回URL中的价格,非恶意的程序漏洞(2)-不完全验证,UNICODE漏洞 Unicode是一种编码标准,目前已被包括Microsoft在内的很多软件开发商所采用。Unicod
19、e用%2f和%5c分别代表/和,也可以用所谓的“超长”序列来代表这些字符。“超长”序列是非法的Unicode表示符,它们比实际代表这些字符的序列要长,超长的表示法,例如用%c0%af代表/(用了两个字节)。IIS不对超长序列进行检查,这样在URL中加入一个超长的Unicode序列,就可以绕过Microsoft的安全检查。,IIS Example,used by Nimda wormpasses to cmd command scripts directory of IIS has execute permissionsInput checking would prevent that,but
20、not thisIIS first checks input,then expands unicode,http:/,http:/,UNICODE漏洞造成的危害归纳为有如下:(1)对目标主机web页面的简单修改。(2)对目标主机的文件进行操作:显示文件内容;删除文件;COPY文件的同时将该文件改名;COPY文件到另外的文件夹;移动文件夹到指定的目录;显示某一路径下相同文件类型的文件;利用attrib命令实现某些操作:可以查看到目标主机某些文件的属性、可以改变目标主机文件的属性、可以解除文件的属性。(3)利用上传木马及泄漏的信息进一步控制目标主机。,非恶意的程序漏洞(3)-不恰当的日志,PDG
21、soft(用于创建在线店面的软件)web transaction processing systemCreates logfile that is world-readable:/cgi_bin/PDG_cart/order.logFile contains mailing addresses,credit card numbers,.Can use(or could use)Google to find sites that have this fileBug discovered a few years agoPDG issued patch:changed protection doma
22、in of log file,encrypts log file1.5 years later,FBI reports:still lots of sites vulnerableAdmins dont install patches Why?Cisco Resource Manager(CRM)Administrative tool,runs on admin machineLogs everything admin does(including uname/pwd)World-readable file;anyone on system can read itLegato Networke
23、r,2002Also logs unames/pwdsLog file not protected,将用户信息记录在没有保护的文件中,非恶意的程序漏洞(4)-检查时刻到使用时刻错误,举例:买东西付钱 在接受安全检查之后到访问之前,已经接受了检查的条件变了.阻止漏洞被利用-数字签名和鉴别:公钥加密基础设施,.,非恶意的程序漏洞(5)-无意识的功能造成不安全,IdeaDesigner tries to add useful features Introduces vulnerability in the processExampleFinger服务是一个能提供三种主要类型信息的客户机/服务器系统。
24、Finger服务用于查询用户的信息:某人的用户标识、全名、现在是否登录、最后用该用户标识登录的人、邮件阅读否、办公地址等等。Finger服务会产生信息泄漏错误。LessonThink about security implications of features,非恶意的程序漏洞(6)-不必要的权限,Principle of least privilegeApplications should only have minimal privileges needed to do jobProblems with setuid programs running as rootUnix allows
25、 many programs to run as root-a bad ideaIn 1999,50%of sendmail(Unix环境下使用最广泛的邮件传输代理程序)servers were vulnerableMost DNS servers run bind,60%of them with vulnerabilitiesMany sendmail attacks and patches over the yearsOld and amusing attack based on bad input checkingRecommendationApply principle of leas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 风险 分析
链接地址:https://www.31ppt.com/p-5376008.html