端玛科技启用源代码分析技术处理大数据

上传人:宝路 文档编号:48085091 上传时间:2018-07-09 格式:PPT 页数:42 大小:5.62MB
返回 下载 相关 举报
端玛科技启用源代码分析技术处理大数据_第1页
第1页 / 共42页
端玛科技启用源代码分析技术处理大数据_第2页
第2页 / 共42页
端玛科技启用源代码分析技术处理大数据_第3页
第3页 / 共42页
端玛科技启用源代码分析技术处理大数据_第4页
第4页 / 共42页
端玛科技启用源代码分析技术处理大数据_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《端玛科技启用源代码分析技术处理大数据》由会员分享,可在线阅读,更多相关《端玛科技启用源代码分析技术处理大数据(42页珍藏版)》请在金锄头文库上搜索。

1、启用源代码码分析技术处术处理大数据 Checkmarx中国区技术专术专家陈陈安明陈安明介绍 端玛科技总经理,独立应用安全风险分析师, Checkmarx中国区技术专家。 是中国最早从事源代码分析技术调查和研究人员,专门从 事应用软件安全风险评估、风险消除、培训、教育和软件 安全生命开发周期SDL咨询。其优秀的软件安全方案、产 品及专业化的软件安全开发生命周期SDL服务已进入金融 银行、保险、电信、汽车、媒体娱乐、软件、服务和军事 等财富1000的企业议题概述 传统以安全为导向的源代码分析工具只能检测到黑客明显 可以利用的漏洞,而且这些工具所找到的安全漏洞的数量 非常多,即使这些结果是精确的,都

2、很难在短时间修复, 这样一来,我们就不得不面临两个现实问题: 一、我们如何对付那些工具没有覆盖到的代码? 二、我们怎样才能提高安全漏洞修复的能力? 为了应对这些挑战,我们把研究的侧重点放在了大数据 分析领域,将大数据的先进技术与我们的研究整合到一起 。借这次交流的机会,我想与大家分享一下我们的研究方 法以及我们的成果。源代码分析的历史 第一代源代码分析 系统安全知识是通过绑定静态的规则体现。静态规则 依据原始或者标准语言的缺陷来制定的,对用户而言 ,技术是不可见的。 用户代码架构和框架适应能力差。几乎无法适应在开 发语言基础上用户私有的架构和框架代码封装的扫描 。规则主要细节不公开,用户很难自

3、定义或者调整规 则满足用户自身的系统架构和代码封装的需求。 使用依赖操作系统环境和编译器 源代码分析的历史(续) 新一代源代码分析 系统的安全知识是通过绑定静态的规则体现。静态规则依据原始 或者标准语言技术架构和框架的缺陷来制定的,公开规则实现的 技术和细节。 用户代码架构和框架适应能力强。适应在开发语言基础上用户私 有的架构和框架代码的扫描。规则主要细节完全公开,用户很容 易自定义或者调整规则满足用户自身的系统架构和代码封装的需 求。 能够任意添加自己需要的有关业务逻辑和代码质量相关的查询 使用简便!虚拟编译器,无须代码编译。无需依赖操作系统环境 和编译。 分析范围:SQL 注入-恶意后门-

4、代码质量缺陷AbstractStore安全漏洞代码质量业务逻辑示例安全漏洞质量缺陷业务逻辑应用程序智能分析SCKD 源代码知识发现 “使用群体的智慧”(大数据) 通过代码的不规则性来识别安全漏洞零日?零配置? 如果我们连自己要问什么问题都不清楚,该怎么 办呢? 如果我们没办法对系统进行配置,怎么办? 我们需要一位“大师”, 来替我们问问题。 替我们配置系统。 替我们找到漏洞。 给我们提供指导。 有这样一位大师 是你! 是你! 是你! 还是你! 我们大家 形成集体智慧 大多数开发人员在大多数时间都能编写出 好的、标准 、高质量代码群体 我们可以根据代码统计来设定一个基准,并 发现偏差。源代码知识

5、发现-SCKD 源代码知识发现 时下最为活跃 的研究课题之一 (数据库中的知识发现- http:/en.wikipedia.org/wiki/Knowledge_extraction )“知识发现描述的是一个自动搜索大规模数据模式的 过程,而该模式可以被称之为有关数据的知识。通 常我们称之为来自于输入数据的知识。从方法和术 语两个层面来说,知识发现与其发掘来源数据领域 的关系都非常紧密。”技术实现 建立参考数据、 寻找共同序列 查找违规情况获取数据S = input(); If (isValid(s) response.write(s); A = input(); If (isValid(A)

6、 response.write(A); K = input(); If (isValid(k) response.write(k); M = input(); If (isValid(M) response.write(M); C = input(); If (isValid(C) response.write(C); 查找偏差,设立基准* = input(); If (isValid(*) response.write(*); v = input(); response.write(v); ?X后门 若我的名字是Maty,登录If (isAuthenticated(user) . If (i

7、sAuthenticated(user) . If (isAuthenticated(user) . If (isAuthenticated(user) . If (isAuthenticated(user) . If (isAuthenticated(user) | user.name = “maty”) . If (isAuthenticated(user) | user.name = “maty”) . 增值 利用应用云服务?VAT = 1.05 VAT = 1.08 VAT = 1.08 VAT = 1.08寻找不同应用之间的相似之 处,建立一个内部标准。使用零定义! 只要我们能修复一

8、些应用就 行,这些应用会帮助我们 找到那些没被修复的。我们的优势总体来说: 我们能够找到群体中隐藏的知识,给它命名,并找到违规情况。 安全: 确定在每一个页面都对客户进行验证 自动识别消毒程序 后门 (“if (isValid(user) or user=“Maty”)”) 业务逻辑(“if (qty 0) charge (qty*amnt)”) 质量 发布的永远都是具体资源 最佳编码实践(自动识别策略) 变量初始化 群体的智慧 对于大型企业和代码库作用更为明显图形可视化 优化代码修复活动 “使用智能图形方法识别安全漏洞交汇 的连接节点及最佳的修复位置” 代码扫描结果修复问题 找到数以千计的准

9、确结果,但其实并不是我们希望看到的 。 例如Webgoat有大约220个跨站脚本和SQL 注入漏洞。 假设我们需要30分钟来修复一个漏洞+30分钟来验证修复 ,那就会需要220个小时,几乎是一个月的工作量 我们把这些工作缩到16个地方 约耗费1/14 的时间 这样一来,我们就有时间去打打高尔夫球了代码扫描分析结果现状 每一个代码扫描结果都有一个独立于其它调查结 果的数据流。单一数据流路径 跨站脚本String s = Request.QueryString“param1”; Response.Write(s);Request.QueryString“param1”;sResponse.Writ

10、e(s);Request.QueryString“param1”;sResponse.Write(s);代码扫描分析结果现状 一个漏洞,很好解决。 14个同时出现,怎么办?多个单一路径 跨站脚本 大量 工作但。 他们有什么共同点? 这些扫描结果之间有关联吗?组合路径我们就能够。 指出、点击、检查,甚至连源代码都不用读吗“ 我修复这里可以吗?”“或者这里?”我修复这里可以吗?修复这里其实效率更高还有这?自动提出“假设”问句= 找 到最佳的修复位置比较这两种情况:图形可视化修复建议的优势 展示相同安全漏洞类型和不同问题调用之间的相 关性。 处理的并不是个人或者单个问题路径的发现 事 实上是整个系统

11、。 让您得以更好地利用时间Webgoat 220个修复位置示例 只要轻轻一点,我们就可以把220个位置缩减到 16个。 结果越多,我们的解决方式就越能体现其效率Q&A Any Question? 代码安全漏洞和质量缺陷扫 描云服务中心为使用Java、JSP、JavaSript、 VBSript、C# 、ASP.net 、VB.Net、 VB6、 C/C+ 、ASP 、 PHP, Ruby、Perl 、PL/SQL、 Android、OWASP ESAPI、MISRA、和Objective-C (iOS) .(AppExchange platform)、API to 3rd party languages 等多种语言开发的软件开发 企业和项目提供源代码安全漏洞和质量缺陷扫描和分析,并提供结果审计 、管 理 和报表生成。 应用安全服务平台框架及内容应用安全在线eLearning培训在线培训课程是基于世界顶级的应用安全讲师和咨询专家的丰富的安全实践和教学经验 而组织,帮助开发组织快速了解和普及应用软件安全方面的知识、技能和成熟软件安全 分析方法和最佳实践。以期他们在最短的时间里学习到最需要的软件安全知识,从而有 效地应用到软件开发的生命周期里 应用安全开发标准指导系统

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

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