当前位置: 首页>>导航蓝色地址 >>麻省理工学院的研究人员为代码战士打造新武器

麻省理工学院的研究人员为代码战士打造新武器

添加时间:    


根据上周发布的新闻报道,麻省理工学院的研究人员已经开发了一种快速,准确的系统,用于识别在Ruby on Rails上编写的Web应用程序中的安全漏洞。

在测试中,研究人员 - 麻省理工学院教授丹尼尔·杰克逊(Daniel Jackson)和约瑟夫·伯德(Joseph Near)是加州大学伯克利分校的一名博士后研究人员,他们在50个流行的RoR应用程序上进行了研究,发现了23个以前未发现的安全缺陷。更重要的是,分析任何一个程序所用的时间最长为64秒。杰克逊说:“即使你写了一个小程序,它也坐落在一个庞大的图书馆,插件和框架大厦之上。”他近乎计划在5月份的软件工程国际会议上发表他们的发现。

“所以,当你看到像Ruby on Rails这样的语言编写的Web应用程序时,如果你尝试做一个传统的静态分析,你通常会发现自己陷入了这个巨大的沼泽中,这使得它在实践中变得不可行, “ 他继续。

静态分析是分析安全漏洞的程序代码的一种方法。

为了避免沼泽,近设计了一种方法来把RoR本身变成一个静态分析工具,以便通过框架的解释器运行一个程序产生了一个易于遵循,正式,逐行描述如何程序处理数据。

这些方法被合并在一个名为Space的调试器中,这将在5月份的文章中描述。

使用空间,程序的数据访问过程可以根据应用程序通常访问数据的方式进行评估。如果看起来程序是以非典型的方式访问数据,那么它很有可能存在安全漏洞。

在Veracode的企业安全战略总监Tim Jarrett指出,在访问控制漏洞上使用静态分析使研究显得与众不同。他告诉TechNewsWorld:“他们已经选择了解决大多数静态分析仪不想解决的一类安全问题。

Jarrett指出:“大多数构建了专注于安全问题的静态分析工具的组织都担心会发生数据从数据库中被窃取或损坏正在运行的网站的攻击。

Jackson和Near把注意力放在访问控制问题上,而不是专注于在应用程序中运行自己的代码的攻击者。他们希望确保用户有权在任何代码执行之前在应用程序中执行某些操作。

例如,一个在线论坛可能希望访问者在贡献任何主题主题之前登录。如果访问者可以在没有登录的情况下写入线程,这可能是研究人员方法可能标记的代码中的一个缺陷。 Jarrett指出,研究人员的调试器在识别编程安全缺陷方面似乎比人眼更精确。他说:“他们运行调试器来对付一些被分级的课堂作业,他们在那些应用程序中发现了一些没有被人类评论者标记为问题的东西。”他说。

调试器不知道的是它识别了多少误报。假阳性是代码确定为错误,但实际上是好的。

“这是现实世界中的一个问题,因为如果报告大量误报,通常会发生的事情是,接收报告的软件开发人员会看到它,并说'这是垃圾',而不是看任何调查结果,“Jarrett说。

对于软件静态分析来说,假阳性是一个普遍的问题,观察到巴拉克达网络公司安全工程副总裁Slawek Ligier。他向“TechNewsWorld”表示:“任何导致开发人员误报太多的工具都不会被正确使用或正确应用,因为开发团队将不得不花费太多时间从真正的漏洞中筛选出误报。

Ligier补充说:“如果你不得不花费太多的时间从你真正需要找到的东西中筛选出来,那么你将会遇到时间限制,而且你将无法做得很好。他说,虽然麻省理工学院的研究显示了前景,但是它有一定的局限性。 “因为它专注于Ruby on Rails 以及Ruby on Rails如何在其库中运行,这绝对是一个很大的局限性。“

Ruby on Rails在年轻的软件组织中已经获得了一些普及,但是还没有被广泛采用,Jarrett补充道。他估计是用RoR编写的,相比之下,有45%的应用程序是用Java编写的

“这不是一种即将让互联网上运行的每个应用程序都更加安全的方法 - 只是用Ruby编写的,而这只是一个相对较小的数字,“Jarrett说,”这可能会变得有趣,“他补充说,”如果他们能想出一种方法来将这种技术扩展到Ruby之外,并使其适用于其他语言的应用程序。“

John Mello 是一名自由撰稿人,为首席安全官杂志撰稿人,可以在Google+上与他联系

随机推荐

网站导航 福利地图