使用机器学习来识别软件漏洞

来自 Draper 研究公司和波士顿大学的研究人员联合团队开发了一种使用机器学习算法的新系统,可以帮助更快、更有效地识别软件漏洞。

来源:Robogeek新闻频道(关于机器人技术的俄罗斯与世界新闻)

来自 Draper 研究公司和波士顿大学的研究人员联合团队开发了一种使用机器学习算法的新系统,可以帮助更快、更有效地识别软件漏洞。

黑客和攻击者不断想出新的方法来破坏网络系统和应用程序,通常是利用软件漏洞。弱点可能是开发系统的程序员所犯的小错误。它们可以快速传播,特别是通过开源软件或通过代码重用和改编。

每年,常见漏洞和披露 (CVE) 数据库中都会发布数以千计的此类漏洞,而且还有更多漏洞由开发人员自行识别和修复。如果这些问题没有得到妥善解决,漏洞可能会被攻击者利用,通常会带来灾难性的后果,正如最近备受瞩目的事件(例如 Heartbleed 漏洞和 WannaCry 网络蠕虫)所证明的那样。

通常,现有的程序分析工具只能根据给定的规则识别有限数量的潜在错误。然而,开放存储库的广泛使用为开发可识别漏洞模式代码的方法开辟了新的机会。

Draper 和波士顿大学研究人员开发的一款新工具利用机器学习来自动检测 C/C++ 代码中的漏洞,该工具已经显示出有希望的结果。

该团队编译了一个包含数百万个开源功能的大型数据库,并使用 Clang、Cppcheck 和 Flawfinder 三种静态工具对其进行标记,这些工具旨在识别潜在的漏洞。