用于开发中的安全漏洞响应管理的方法和系统技术方案

技术编号:6316430 阅读:199 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于开发中的安全漏洞响应管理的方法和系统。在一个方面中,开发中的安全漏洞响应管理可包括以下操作:检测匹配安全漏洞模式的代码实例;生成与所述代码实例关联的一个或多个提示以响应所述检测;检索对匹配安全漏洞模式的代码实例的操作响应;以及将所检索的操作响应与所述代码实例关联。

【技术实现步骤摘要】

本专利技术一般地涉及计算机系统,更具体地说,涉及在开发中检测和管理程序代码 中的安全漏洞(vulnerability)。
技术介绍
计算机系统和网络中的安全性是一个正在受到关注的话题。由于更难以利用系统 和操作系统级别的安全漏洞,所以较容易的web应用层已成为黑客的主要关注点。例如,顺 序查询语言(SQL)注入和跨站脚本(XSQ被视为少数几种头号威胁。以上讨论的两个安全 性漏洞通常是可以避免的。例如,如果开发人员使用预置语句,则可以阻止SQL注入。此外, 输出转义(output escaping)可有效地增强web应用以保护它们免于XSS利用。Microsoft 已发布了安全性开发生命周期(SDL)以在该机制方面帮助开发人员。若干工具和方法也可用于发现代码中的风险。IBM fciti0nalTMAppSCanTM通过模 仿攻击web应用来执行动态应用安全性测试以便发现安全漏洞。此工具作用于内置在可执 行组件中以便测试的代码并因而应用于运行时。其他方法使用静态代码安全性分析工具来 在应用开发期间查找不安全的代码模式(污染的执行流),例如,使用白盒或灰盒方法来通 过代码分析识别安全漏洞。可以在未完成构建的情况下(例如,在开发期间)应用这些静 态分析工具。对程序中数据污染流的检测相对较准确,但即使如此,静态分析仍无法准确判 断执行流中是否存在已有的清理(sanitization)处理以及其有效程度。这些方法在准确 性方面仍然具有限制并需要开发人员的检查。当前用于安全开发的典型操作是使用静态分析和动态测试工具来查找安全漏 洞,然后在诸如 IBM Rational ClearCase (CC)和 IBM Rational ClearQuest (CQ)之 类的缺陷(bug)控制系统中生成安全性票(ticket),并使编程人员修复代码并关闭票;然 后一直等待直到测试阶段,并且再次执行整体安全性分析以查找漏洞。上述操作可存在若干限制。沿污染流可存在冲突的清理并且可在不同阶段(输入 阶段、数据库(DB)访问阶段,或页面显示阶段)完成清理以修复安全性漏洞。通常,负责的 开发人员对于不同阶段而言是不同的。假定两个开发人员都熟悉安全性并使用HtmlEntity 转义来防止XSS攻击。则他们可能错误地重复转义,例如,一个开发人员将‘〈’转义为 ‘&lt ;,并且数据被存入数据库,稍后,另一开发人员从数据库检索数据并进一步将‘&lt ;, 转义为‘&amp ;It ; ’。动态测试可发现此类情况,但是如上所述,其必须一直等待直到代码 构建。如上所述,漏洞位置和理想的清理代码通常未位于一起。例如,当用户输入被直接 用于连接SQL查询并用于访问数据库(DB)时,将出现SQL注入安全漏洞,但是有时清理位 置可能在接受用户输入的jsp页面中。因此,检查者难以将清理代码与CQ中的安全性票相 关联。由于初级的开发人员可能经常重复犯同样的错误,所以类似的安全漏洞模式经常 发生。反复修复类似漏洞会导致重复的工作。此外,修补漏洞会花费更多的时间。例如,在每次测试反复中执行安全性检查和修补漏洞的效率将低于在开发期间执行所述操作。后者 可帮助开发人员更准确地进行判断,因为开发人员更了解代码结构和漏洞修补上下文。进 而,执行清理的代码可因某些非安全性原因(方法名称、功能性等)而改变,这意味着安全 漏洞会重新出现,并且需要重新检查漏洞。
技术实现思路
提供了一种用于开发中的安全漏洞响应管理的方法和系统。在一个方面中,所述 方法可包括检测匹配安全漏洞模式的代码实例,以及生成与所述代码实例关联的一个或多 个提示以响应所述检测。所述方法还可包括检索对匹配安全漏洞模式的代码实例的操作响 应,以及将所检索的操作响应与所述代码实例关联。在一个方面中,用于开发中的安全漏洞响应管理的系统可包括处理器;以及可 操作以检测匹配安全漏洞模式的代码实例的模块。所述模块还可操作以生成与所述代码实 例关联的一个或多个提示以响应检测到匹配安全漏洞模式的代码实例。所述模块还可操作 以检索对匹配安全漏洞模式的代码实例的操作响应,以及将所检索的操作响应与所述代码 实例关联。以下参考附图详细描述了各种实施例的进一步的特性以及结构和操作。在附图 中,相同的标号指示相同的或功能类似的元素。附图说明图1是示出本专利技术的一个实施例中的管理安全漏洞的方法和清理方法的流程图;图2示出了与样例模式关联的知识的实例,借助所述模式,本专利技术的系统和方法 可导出与计算机程序或代码中暴露的潜在安全漏洞有关的提示;图3示出了本专利技术一个实施例中的呈现代码中发现的潜在安全漏洞和可能的修 复的用户接口屏幕快照;图4示出了系统如何在代码重写期间维护安全性检查信息;图5示出了其中可实现或执行本专利技术的系统和方法的计算机系统的实例;以及图6示出根据本专利技术实施例的用于开发中的安全漏洞响应管理的系统框图。具体实施例方式在一个方面中,本专利技术提供了 一种通过检查来自现有漏洞和/或可参照的数据安 全清理代码的提示来帮助开发人员编写安全代码的系统和方法。根据本专利技术实施例的方法 包括步骤检测匹配安全漏洞模式的代码实例;使用处理器生成与所述代码实例关联的一 个或多个提示以响应所述检测;检索对匹配安全漏洞模式的代码实例的操作响应;以及将 所检索的操作响应与所述代码实例关联。其中所述检索步骤可进一步包括接收与所述操作响应相关的上下文;存储所述 上下文与所述操作响应的关联、所述代码实例的位置和所述上下文;以及响应于所述上下 文被更改,重新评估所述上下文与所述操作响应的关联并提醒修改所述操作响应。其中所 述上下文可包括将修补安全漏洞的一个或多个位置。此处的漏洞或安全性漏洞指可由不适当的代码编程导致的应用安全漏洞,其会受到攻击者的利用。此处的提示指从先前的最佳实践推断出的安全性编程知识。作为 一个实例,对于· jsp页面(例如图3所示)中的<%= display content 部分,如 果display content直接来自用户输入“Userlnput”,则可能具有跨站脚本漏洞。在此 类实例情况中的最佳实践将是在作为display content之前验证herhput,如<% = IsSafe(Userlnput) % >。例如,本专利技术的系统和方法可跟踪和分析开发中的代码修改。开发中的分析指在 代码开发期间(即,在编写代码期间)执行分析,而不是在开发代码之后执行分析。本专利技术 的系统和方法可提供已发现漏洞(即,代码中的潜在安全漏洞)和对应清理位置的开发中 的管理。本专利技术的系统和方法还可借助积累的知识生成自适应提示以协助开发人员修复未 来漏洞。自适应提示指基于上下文的提示,其例子包括与提示关联代码的代码相似性、作者 关系以及项目关系,执行链中的其他节点的任何已有修复等。与仅检测安全漏洞并完全依 靠开发人员修复漏洞和关闭安全漏洞票的传统工具相比,本专利技术的系统和方法不仅可以检 测安全漏洞,而且还在代码上下文中将其与数据清理操作关联。利用此知识,在一个实施例 中,本专利技术的系统和方法可发展其能力并在开发生命周期内生成提示。本专利技术的系统和方 法还可提供检查和培训功能,使得开发人员可在代码开发期间学习其他开发本文档来自技高网
...

【技术保护点】
1.一种用于开发中的安全漏洞响应管理的方法,包括:检测匹配安全漏洞模式的代码实例;生成与所述代码实例关联的一个或多个提示以响应所述检测;检索对匹配安全漏洞模式的代码实例的操作响应;以及将所检索的操作响应与所述代码实例关联。

【技术特征摘要】

【专利技术属性】
技术研发人员:罗琳F德科凯拉尔张煜吉濵佐知子寺口正羲PK马尔金杨顺祥浦本直彦
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1