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

上传人:豆浆 文档编号:36855423 上传时间:2018-04-03 格式:PDF 页数:45 大小:2.04MB
返回 下载 相关 举报
源代码安全检测在企业中的应用v3_第1页
第1页 / 共45页
源代码安全检测在企业中的应用v3_第2页
第2页 / 共45页
源代码安全检测在企业中的应用v3_第3页
第3页 / 共45页
源代码安全检测在企业中的应用v3_第4页
第4页 / 共45页
源代码安全检测在企业中的应用v3_第5页
第5页 / 共45页
点击查看更多>>
资源描述

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

1、源代码安全检测在企业中的应用 张彦 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

2、互联网具有外向型的特互联网具有外向型的特 征,网络应用成为发生征,网络应用成为发生 安全攻击以及数据外泄安全攻击以及数据外泄 的主要途径之一的主要途径之一 IT研究与顾问咨询公司研究与顾问咨询公司 Gartner统计数据显示,统计数据显示, 75%的黑客攻击发生在的黑客攻击发生在 应用层应用层 应用层的安全问题实际就应用层的安全问题实际就 是各类应用软件的安全问是各类应用软件的安全问 题题 NIST的统计也显示的统计也显示 92%的漏洞属于应的漏洞属于应 用层而非网络层用层而非网络层 北京奇虎测腾科技有限公司 1.2 应用安全聚焦于源代码安全 6 当当今互今互联网联网存在存在众众多多开开 源社

3、源社区区,软软件件种类种类繁多繁多 且可以自由且可以自由获获取,取,为开为开 发发者提供大量的可借者提供大量的可借鉴鉴 的原材料的原材料 自由自由软软件和公用模件和公用模块块的的 安全缺乏安全缺乏监监管,可能存管,可能存 在未申明功能甚至是在未申明功能甚至是 恶恶意功能意功能 当开发当开发人人员员大量地“拿大量地“拿来来 主主义义”式的”式的开发时开发时,所,所选选 择择的的这这些些开开源代源代码码存在大存在大 量安全量安全问题问题 自由自由开发开发的的软软件或者件或者 提出需求的“甲方”提出需求的“甲方”暂暂 时没时没有源代有源代码码安全安全检检 测测的要求的要求 北京奇虎测腾科技有限公司

4、1.2.1 开源软件中存在的安全漏洞示例一 - LibTIFF 以LibTIFF为例(www.libtiff.org) Libtiff 是用来读写标签图像文件格式(简写为 TIFF)的开源库 自2012年至今,根据中国国家漏洞库(CNNVD) 记载,就出现过十多个安全漏洞 LibTIFF中存在 “内存损坏漏洞”和“缓冲区溢 出漏洞”,攻击者可利用这些漏洞在用户运行的 受影响库上下文中执行任意代码,也可能造成拒 绝服务。 7 北京奇虎测腾科技有限公司 1.2.1 开源软件中存在的安全漏洞示例一 - LibTIFF 漏洞编号漏洞编号 描述描述 CNNVD-201308-145 Silicon Gr

5、aphics LibTIFF 内存损坏漏洞和多个缓冲区溢出 漏洞 CNNVD-201305-077 LibTIFF 基于栈的缓冲区溢出漏洞 CNNVD-201305-076 LibTIFF t2_process_jpeg_strip()函数基于堆的缓冲区溢出 漏洞 CNNVD-201211-544 LibTIFF DOTRANGE标签处理远程缓冲区溢出漏洞 CNNVD-201211-074 LibTIFF ppm2tiff缓冲区溢出漏洞 CNNVD-201209-558 LibTIFF TIFF图形基于堆的缓冲溢出漏洞 CNNVD-201207-394 LibTIFF tiff2pdf缓冲区溢

6、出漏洞 CNNVD-201207-026 libTIFF TIFF图像缓冲区溢出漏洞 CNNVD-201206-359 LibTIFF tiff2pdf整数溢出漏洞 CNNVD-201204-024 LibTIFF gtTileSeparate() 整数溢出漏洞 8 北京奇虎测腾科技有限公司 1.2.2 开源软件中存在的安全漏洞示例二 - struts2 由不安全编码导致的安全事件 struts2漏洞 CVE-2013-2251:远程代码执行 CVE-2013-2048:重定向 受影响版本: struts 2.0.0 struts 2.3.15 9 北京奇虎测腾科技有限公司 1.2.2 开源软

7、件中存在的安全漏洞示例二 - struts2 10 漏洞编号漏洞编号 漏洞标题漏洞标题 WooYun-2013-29170 某业务struts2命令执行漏洞 WooYun-2013-30729 某大学struts2命令执行漏洞 WooYun-2013-32484 某游戏网站存在命令执行漏洞 WooYun-2013-32975 某省地方电力公司网站struts2命令执行漏洞 WooYun-2013-33002 某省交通厅某系统命令执行漏洞 北京奇虎测腾科技有限公司 1.2.3 开源软件中存在的安全漏洞示例三 11 1.3 源代码安全发散于多个层面 12 传统传统信息安全信息安全教教育育对对源源

8、代代码码安全重安全重视视不不够够 软软件件从业从业人人员员缺乏缺乏 源代源代码码安全知安全知识识 更广泛更广泛层层面的源代面的源代码码安全安全 制度制度与标与标准建准建设设 软软件代件代码码安全安全质质量保量保 障缺乏方法障缺乏方法与与工具等工具等 支撑支撑 北京奇虎测腾科技有限公司 1.3.1信息安全教育对源代码安全重视不够 用防火墙来定义系统的“边界”,把内部服 务器和网络与与外界隔离开来 强调依赖加密技术来保证信息系统的安全 当系统出现问题时,以补丁形式修复系统存 在的漏洞 使用杀毒软件进行杀毒 13 北京奇虎测腾科技有限公司 1.3.2 软件从业人员缺乏源代码安全知识 没有接受过源代码

9、编码安全培训 不了解安全设计的基本原理 对安全问题没有足够的理解 不了解安全问题的常见类型 不了解自动化源代码安全检测工具 14 北京奇虎测腾科技有限公司 1.4 如何应对日益严峻的安全问题一 安全防护应该贯穿整个软件开发生命周期, 而不再只是集中在测试阶段 源代码安全检测作为编码阶段的重要安全测 试手段,应得到足够的重视 15 1.4 如何应对日益严峻的安全问题二 企业将源代码检测作为软件质量保证的一部分 80%的世界财富500强企业,包括微软、AT&T、 Dell、Oracle等知名软件年公司已经或正在部署 软件源代码安全检测系统 近年来多家源代码安全检测技术公司被微软、 IBM、HP等公

10、司收购 16 北京奇虎测腾科技有限公司 1.4 如何应对日益严峻的安全问题三 加强开源代码检测,提高开源代码安全性 为了减少开源软件存在的源代码缺陷,2006 年初美国国 土安全部与Coverity公司合作,设立了一个长期的开源软 件安全测试计划,对包括Linux在内的1750多万行开源代 码进行缺陷测试 深入进行源代码安全研究 国际开放Web软件安全计划(OWASP)、美国MTRE的常见 缺陷列表(CWE)等组织和机构也在开展源代码安全研究 国家层面的源代码安全保障制度建设 17 北京奇虎测腾科技有限公司 1.4 如何应对日益严峻的源代码安全问题一 安全防护应该贯穿整个软件开发生命周期,而不

11、再 只是集中在软件测试阶段 源代码安全检测作为编码阶段的重要安全测试手段 ,应得到足够的重视 企业将源代码检测作为软件质量保证的一部分 80%的世界财富500强企业,包括微软、AT&T、Dell、 Oracle等知名软件年公司已经或正在部署软件源代码安全 检测系统 18 北京奇虎测腾科技有限公司 1.4 如何应对日益严峻的源代码安全问题二 加强开源代码检测,提高开源代码安全性 为了减少开源软件存在的源代码缺陷,2006 年初美国国 土安全部与Coverity公司合作,设立了一个长期的开源软 件安全测试计划,对包括Linux在内的1750多万行开源代 码进行缺陷测试 深入进行源代码安全研究,制定

12、行业安全开发规范 国际开放Web软件安全计划(OWASP)、美国MTRE的常见 缺陷列表(CWE)等组织和机构也在开展源代码安全研究 国家层面的源代码安全保障制度建设 19 北京奇虎测腾科技有限公司 20 源代码安全的现状 1 源代码安全检测概要 2 在企业软件质量管理中的一般应用 3 奇虎360源代码安全检测实践 4 源代码安全检测在 企业中的应用 二、源代码安全检测概要 2.1 源代码安全检测的范畴 2.2 源代码安全检测的原理 2.3 源代码静态分析技术比较 21 北京奇虎测腾科技有限公司 2.1.1 源代码安全检测的范畴 源代码安全检测属于白盒测试范畴 22 白盒测试白盒测试 黑盒测试

13、黑盒测试 优点 1. 开始时间早,编码阶段即可实施 2. 定位漏洞产生的代码位置,有利于 漏洞修复 3. 覆盖范围广 4. 执行速度快,测试效率高 5. 需要源代码 1. 可以验证漏洞及其可利用性 2. 不要源代码 缺点 1. 可能漏报一些运行时出现的漏洞 2. 由于覆盖更多的路径,导致不可执 行路径中存在误报 3. 依赖于预先定义的模式 1. 依赖测试人员经验 2. 由于测试用例局限性导致不 完整的测试覆盖 北京奇虎测腾科技有限公司 2.1.2 与其他测试方法比较 源代码安全检测与功能测试、性能测试比较 23 源代码安全检测源代码安全检测 功能测试功能测试 性能测试性能测试 测试类型 白盒测

14、试 黑盒测试 黑盒测试 测试对象 源代码 功能模块 功能模块 实施阶段 开发阶段 测试阶段 测试阶段 测试方法 及目的 在不运行源代码 的情况下,检测 源代码中存在的 安全问题,提供 安全问题的定位、 修复意见等供开 发人员改正 采用黑盒测试策略 设计测试用例,判 断系统是否符合功 能需求 通过某种特定的方式对被测 试系统按照一定的测试策略 进行施压,获取该系统的响 应时间、运行效率、资源利 用情况等各项性能指标,来 评价系统是否满足用户性能 需求的过程 北京奇虎测腾科技有限公司 2.1.3 源代码安全检测的工作内容 源代码缺陷检测 找出源代码中存在的安全问题 源代码合规性检测 检查开发人员编

15、写的源代码是否符合编码规范 不同层面、多角度对源代码进行安全检测 24 北京奇虎测腾科技有限公司 2.1.4 源代码检测的重要性 在软件开发生命周期早期发现安全问题 源代码安全检测可以在开发周期代码编写阶段实施,早 期发现安全隐患 NIST估计,如果是在发布后执行代码修复,其修复成本 相当于在设计阶段执行修复的30倍 指出问题的根源,而不仅仅是症状 当出现一种新的安全问题时,静态分析工具可以对 大量代码进行重新检查 改进代码质量,提高攻击的门槛 25 北京奇虎测腾科技有限公司 2.2 源代码安全检测原理 源代码安全检测主要采用的技术为静态 分析技术 基于编译器的静态分析方法 词法分析和语法分析 控制流分析 数据流分析(污染传播分析和别名分析) 符号执行 过程间分析 26 北京奇虎测腾科技有限公司 2.3 其他静态形式化分析方法比较 27 静态分析技术静态分析技术 技术特点技术特点 不足之处不足之处 类型推断 在程序中传播并检查变量或函数的 类型,分析速度快,适合检查属性 域有限且与控制流无关的安全属性 不考虑语句的执行条件和执行 顺序,分析能力较弱 抽象解释 将程序映射成更加抽象的域,使分 析更加具有可跟踪性并具有检验代 码的作用 分析成本昂贵,很难应用到大 型软件检测中 模型检测 对有限状态的系统构造状态机或者 有向图等抽象模型,能够严格检测

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号