源代码安全检测在企业中的应用v3.pdf

上传人:b****2 文档编号:3214467 上传时间:2022-11-20 格式:PDF 页数:45 大小:2.04MB
下载 相关 举报
源代码安全检测在企业中的应用v3.pdf_第1页
第1页 / 共45页
源代码安全检测在企业中的应用v3.pdf_第2页
第2页 / 共45页
源代码安全检测在企业中的应用v3.pdf_第3页
第3页 / 共45页
源代码安全检测在企业中的应用v3.pdf_第4页
第4页 / 共45页
源代码安全检测在企业中的应用v3.pdf_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

源代码安全检测在企业中的应用v3.pdf

《源代码安全检测在企业中的应用v3.pdf》由会员分享,可在线阅读,更多相关《源代码安全检测在企业中的应用v3.pdf(45页珍藏版)》请在冰豆网上搜索。

源代码安全检测在企业中的应用v3.pdf

源代码安全检测在企业中的应用张彦2013年9月1提纲2源代码安全的现状1源代码安全检测概要2在企业软件质量管理中的一般应用3奇虎360源代码安全检测实践4源代码安全检测在企业中的应用提纲3源代码安全的现状1源代码安全检测概要2在企业软件质量管理中的一般应用3奇虎360源代码安全检测实践4源代码安全检测在企业中的应用一、源代码安全现状1.1网络安全聚焦于应用安全1.2应用安全聚焦于源代码安全1.3源代码安全发散于多个层面1.4如何应对日益严峻的源代码安全问题4北京奇虎测腾科技有限公司1.1网络安全聚焦于应用安全5互联网具有外向型的特互联网具有外向型的特征,网络应用成为发生征,网络应用成为发生安全攻击以及数据外泄安全攻击以及数据外泄的主要途径之一的主要途径之一IT研究与顾问咨询公司研究与顾问咨询公司Gartner统计数据显示,统计数据显示,75%的黑客攻击发生在的黑客攻击发生在应用层应用层应用层的安全问题实际就应用层的安全问题实际就是各类应用软件的安全问是各类应用软件的安全问题题NIST的统计也显示的统计也显示92%的漏洞属于应的漏洞属于应用层而非网络层用层而非网络层北京奇虎测腾科技有限公司1.2应用安全聚焦于源代码安全6当当今互今互联网联网存在存在众众多多开开源社源社区区,软软件件种类种类繁多繁多且可以自由且可以自由获获取,取,为开为开发发者提供大量的可借者提供大量的可借鉴鉴的原材料的原材料自由自由软软件和公用模件和公用模块块的的安全缺乏安全缺乏监监管,可能存管,可能存在未申明功能甚至是在未申明功能甚至是恶恶意功能意功能当开发当开发人人员员大量地“拿大量地“拿来来主主义义”式的”式的开发时开发时,所,所选选择择的的这这些些开开源代源代码码存在大存在大量安全量安全问题问题自由自由开发开发的的软软件或者件或者提出需求的“甲方”提出需求的“甲方”暂暂时没时没有源代有源代码码安全安全检检测测的要求的要求北京奇虎测腾科技有限公司1.2.1开源软件中存在的安全漏洞示例一-LibTIFF以LibTIFF为例(www.libtiff.org)Libtiff是用来读写标签图像文件格式(简写为TIFF)的开源库自2012年至今,根据中国国家漏洞库(CNNVD)记载,就出现过十多个安全漏洞LibTIFF中存在“内存损坏漏洞”和“缓冲区溢出漏洞”,攻击者可利用这些漏洞在用户运行的受影响库上下文中执行任意代码,也可能造成拒绝服务。

7北京奇虎测腾科技有限公司1.2.1开源软件中存在的安全漏洞示例一-LibTIFF漏洞编号漏洞编号描述描述CNNVD-201308-145SiliconGraphicsLibTIFF内存损坏漏洞和多个缓冲区溢出漏洞CNNVD-201305-077LibTIFF基于栈的缓冲区溢出漏洞CNNVD-201305-076LibTIFFt2_process_jpeg_strip()函数基于堆的缓冲区溢出漏洞CNNVD-201211-544LibTIFFDOTRANGE标签处理远程缓冲区溢出漏洞CNNVD-201211-074LibTIFFppm2tiff缓冲区溢出漏洞CNNVD-201209-558LibTIFFTIFF图形基于堆的缓冲溢出漏洞CNNVD-201207-394LibTIFFtiff2pdf缓冲区溢出漏洞CNNVD-201207-026libTIFFTIFF图像缓冲区溢出漏洞CNNVD-201206-359LibTIFFtiff2pdf整数溢出漏洞CNNVD-201204-024LibTIFFgtTileSeparate()整数溢出漏洞8北京奇虎测腾科技有限公司1.2.2开源软件中存在的安全漏洞示例二-struts2由不安全编码导致的安全事件struts2漏洞CVE-2013-2251:

远程代码执行CVE-2013-2048:

重定向受影响版本:

struts2.0.0struts2.3.159北京奇虎测腾科技有限公司1.2.2开源软件中存在的安全漏洞示例二-struts210漏洞编号漏洞编号漏洞标题漏洞标题WooYun-2013-29170某业务struts2命令执行漏洞WooYun-2013-30729某大学struts2命令执行漏洞WooYun-2013-32484某游戏网站存在命令执行漏洞WooYun-2013-32975某省地方电力公司网站struts2命令执行漏洞WooYun-2013-33002某省交通厅某系统命令执行漏洞北京奇虎测腾科技有限公司1.2.3开源软件中存在的安全漏洞示例三111.3源代码安全发散于多个层面12传统传统信息安全信息安全教教育育对对源源代代码码安全重安全重视视不不够够软软件件从业从业人人员员缺乏缺乏源代源代码码安全知安全知识识更广泛更广泛层层面的源代面的源代码码安全安全制度制度与标与标准建准建设设软软件代件代码码安全安全质质量保量保障缺乏方法障缺乏方法与与工具等工具等支撑支撑北京奇虎测腾科技有限公司1.3.1信息安全教育对源代码安全重视不够用防火墙来定义系统的“边界”,把内部服务器和网络与与外界隔离开来强调依赖加密技术来保证信息系统的安全当系统出现问题时,以补丁形式修复系统存在的漏洞使用杀毒软件进行杀毒13北京奇虎测腾科技有限公司1.3.2软件从业人员缺乏源代码安全知识没有接受过源代码编码安全培训不了解安全设计的基本原理对安全问题没有足够的理解不了解安全问题的常见类型不了解自动化源代码安全检测工具14北京奇虎测腾科技有限公司1.4如何应对日益严峻的安全问题一安全防护应该贯穿整个软件开发生命周期,而不再只是集中在测试阶段源代码安全检测作为编码阶段的重要安全测试手段,应得到足够的重视151.4如何应对日益严峻的安全问题二企业将源代码检测作为软件质量保证的一部分80%的世界财富500强企业,包括微软、AT&T、Dell、Oracle等知名软件年公司已经或正在部署软件源代码安全检测系统近年来多家源代码安全检测技术公司被微软、IBM、HP等公司收购16北京奇虎测腾科技有限公司1.4如何应对日益严峻的安全问题三加强开源代码检测,提高开源代码安全性为了减少开源软件存在的源代码缺陷,2006年初美国国土安全部与Coverity公司合作,设立了一个长期的开源软件安全测试计划,对包括Linux在内的1750多万行开源代码进行缺陷测试深入进行源代码安全研究国际开放Web软件安全计划(OWASP)、美国MTRE的常见缺陷列表(CWE)等组织和机构也在开展源代码安全研究国家层面的源代码安全保障制度建设17北京奇虎测腾科技有限公司1.4如何应对日益严峻的源代码安全问题一安全防护应该贯穿整个软件开发生命周期,而不再只是集中在软件测试阶段源代码安全检测作为编码阶段的重要安全测试手段,应得到足够的重视企业将源代码检测作为软件质量保证的一部分80%的世界财富500强企业,包括微软、AT&T、Dell、Oracle等知名软件年公司已经或正在部署软件源代码安全检测系统18北京奇虎测腾科技有限公司1.4如何应对日益严峻的源代码安全问题二加强开源代码检测,提高开源代码安全性为了减少开源软件存在的源代码缺陷,2006年初美国国土安全部与Coverity公司合作,设立了一个长期的开源软件安全测试计划,对包括Linux在内的1750多万行开源代码进行缺陷测试深入进行源代码安全研究,制定行业安全开发规范国际开放Web软件安全计划(OWASP)、美国MTRE的常见缺陷列表(CWE)等组织和机构也在开展源代码安全研究国家层面的源代码安全保障制度建设19北京奇虎测腾科技有限公司20源代码安全的现状1源代码安全检测概要2在企业软件质量管理中的一般应用3奇虎360源代码安全检测实践4源代码安全检测在企业中的应用二、源代码安全检测概要2.1源代码安全检测的范畴2.2源代码安全检测的原理2.3源代码静态分析技术比较21北京奇虎测腾科技有限公司2.1.1源代码安全检测的范畴源代码安全检测属于白盒测试范畴22白盒测试白盒测试黑盒测试黑盒测试优点1.开始时间早,编码阶段即可实施2.定位漏洞产生的代码位置,有利于漏洞修复3.覆盖范围广4.执行速度快,测试效率高5.需要源代码1.可以验证漏洞及其可利用性2.不要源代码缺点1.可能漏报一些运行时出现的漏洞2.由于覆盖更多的路径,导致不可执行路径中存在误报3.依赖于预先定义的模式1.依赖测试人员经验2.由于测试用例局限性导致不完整的测试覆盖北京奇虎测腾科技有限公司2.1.2与其他测试方法比较源代码安全检测与功能测试、性能测试比较23源代码安全检测源代码安全检测功能测试功能测试性能测试性能测试测试类型白盒测试黑盒测试黑盒测试测试对象源代码功能模块功能模块实施阶段开发阶段测试阶段测试阶段测试方法及目的在不运行源代码的情况下,检测源代码中存在的安全问题,提供安全问题的定位、修复意见等供开发人员改正采用黑盒测试策略设计测试用例,判断系统是否符合功能需求通过某种特定的方式对被测试系统按照一定的测试策略进行施压,获取该系统的响应时间、运行效率、资源利用情况等各项性能指标,来评价系统是否满足用户性能需求的过程北京奇虎测腾科技有限公司2.1.3源代码安全检测的工作内容源代码缺陷检测找出源代码中存在的安全问题源代码合规性检测检查开发人员编写的源代码是否符合编码规范不同层面、多角度对源代码进行安全检测24北京奇虎测腾科技有限公司2.1.4源代码检测的重要性在软件开发生命周期早期发现安全问题源代码安全检测可以在开发周期代码编写阶段实施,早期发现安全隐患NIST估计,如果是在发布后执行代码修复,其修复成本相当于在设计阶段执行修复的30倍指出问题的根源,而不仅仅是症状当出现一种新的安全问题时,静态分析工具可以对大量代码进行重新检查改进代码质量,提高攻击的门槛25北京奇虎测腾科技有限公司2.2源代码安全检测原理源代码安全检测主要采用的技术为静态分析技术基于编译器的静态分析方法词法分析和语法分析控制流分析数据流分析(污染传播分析和别名分析)符号执行过程间分析26北京奇虎测腾科技有限公司2.3其他静态形式化分析方法比较27静态分析技术静态分析技术技术特点技术特点不足之处不足之处类型推断在程序中传播并检查变量或函数的类型,分析速度快,适合检查属性域有限且与控制流无关的安全属性不考虑语句的执行条件和执行顺序,分析能力较弱抽象解释将程序映射成更加抽象的域,使分析更加具有可跟踪性并具有检验代码的作用分析成本昂贵,很难应用到大型软件检测中模型检测对有限状态的系统构造状态机或者有向图等抽象模型,能够严格检测程序时序上的缺陷存在模型与程序不一致或存在偏差,从而导致检测结果存在错误情况;此外,还存在状态空间爆炸问题定理证明通过将验证问题转换为数学上的定理证明问题来判断待分析程序是否满足指定属性,是形式化分析方法中最复杂、最准确的方法需要人工向源程序中添加特殊形式的注释来描述程序的前置条件、后置条件以及循环不变量28源代码安全的现状1源代码安全检测概要2在企业软件质量管理中的一般应用3奇虎360源代码安全检测实践4源代码安全检测在企业中的应用3在软件质量管理中引入源代码安全检测3.1开展源代码安全检测存在的阻碍3.2源代码安全检测的步骤3.3融入软件质量管理的一般流程3.4几类常见的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1