采访 Code Risk – WordPress 插件的免费源代码分析服务

已发表: 2018-10-17

Hendrik Buchwald CodeRisk 首席执行官 与 WordPress 核心中的漏洞相比,WordPress 插件中的漏洞是导致更多网站被黑客入侵的原因。 发生这种情况的原因之一是缺乏资源。 软件总会有漏洞,尽管 WordPress 的核心代码已经过数千人的审查。 此外,基金会还分配了资源以确保代码尽可能安全。

另一方面,许多插件开发人员没有可用的资源来确保他们的插件代码是安全的,特别是如果它是一个小插件。 尽管这一切都会改变,正如 Hendrik Buchwald 在这次采访中解释的那样。 Hendrik 是 RIPS Technologies 的软件工程师、安全研究员和联合创始人。

RIPS 技术是做什么的?

RIPS Technologies 是一家位于德国波鸿的高科技公司。 我们为 PHP 应用程序提供自动化安全分析,作为本地软件安装或高度可扩展的云服务。 我们专门针对 PHP 语言的创新代码分析算法可以识别现代应用程序中的复杂安全漏洞,这是其他解决方案所无法比拟的。 我们的使命是为开发人员和安全专家提供最准确、最有效的安全分析。

您认为开发人员最常犯的安全错误是什么,您在 WordPress 插件中看到的前 3 个漏洞是什么?

不出所料,最常见的问题是跨站点脚本 (XSS) 漏洞,只要在未对 HTML 响应页面进行适当清理的情况下打印用户输入时就会出现这种漏洞。 一方面,这些问题经常出现,因为输出数据是 PHP 应用程序最常见的操作,因此比其他操作更容易受到安全违规的影响。 其次,鉴于 HTML 上下文的多样性及其在清理方面的缺陷,这些问题很容易引入。 跨站脚本 (XSS) 漏洞在 WordPress 中非常严重,因为它们可用于例如通过模板编辑器注入 PHP 代码。 幸运的是,它们确实需要与管理员交互。

第二个最常见的问题是 SQL 注入漏洞。 SQL 注入比跨站点脚本漏洞更严重,因为在最坏的情况下,它们可用于从数据库中提取敏感信息(例如密码),而无需任何用户交互。 因此,它们可用于全自动恶意攻击。

您认为最受欢迎/下载的 1,000 个插件的整体安全状况有多好或多坏?

这很难回答,因为我没有详细查看 1000 个最受欢迎的插件。 这样的操作需要几个月的时间才能完成,当我们准备好时,我们需要重新开始,因为一些插件更新非常频繁。

因此,为什么使用 Code Risk 等自动化安全服务很重要。 尽管从我们对存储库进行的自动和未经验证的源代码扫描生成的 CodeRisk 评分来看,我可以说大多数的代码都不错,尽管也有一些插件评分不佳。 这些插件中的大多数都非常大,并且具有很多功能。 这会自动增加在某处出现错误的机会。 从我们的手动测试中,我们也可以说大型插件经常存在逻辑漏洞。

你能告诉我们一些关于你为 WordPress 插件开发者提供的东西吗?

我们最新的项目 CodeRisk 帮助开发人员和用户免费评估其插件代码的安全风险。 目前,这仅限于托管在官方 WordPress 存储库中的 WordPress 插件。

我们会自动从 WordPress 存储库中获取新插件,并使用我们的 PHP 安全扫描器 RIPS 对其进行扫描。 RIPS 的详细结果组合成易于理解的风险值。 该值考虑了成功利用的严重性、与代码大小相关的已发现问题的数量以及问题被第三方滥用的可能性。

插件开发人员可以通过自动化系统为自己的插件请求完整的详细结果。 他们可以使用这些信息来修复可能的漏洞并强化他们的代码,从而使 WordPress 生态系统更加安全。 CodeRisk 背后的想法是让插件开发人员能够自行发现代码中的问题,即使他们并不精通安全。 虽然我们对 WordPress 安全性进行了大量研究,并向开发人员报告了许多漏洞,但插件太多,无法手动分析它们。

是否有许多插件开发人员订阅和使用您的免费源代码分析服务? WordPress 社区的反应如何?

目前有几十个插件开发人员使用 CodeRisk 来降低其插件中的安全漏洞风险。 到目前为止,我们收到了很多很好的反馈,CodeRisk 已经帮助解决了数百个问题。

自动扫描仪倾向于报告可能无法利用的误报和边缘情况。 考虑到许多开发人员并不精通安全,您正在采取哪些措施来帮助他们避免误报?

我们的用户应该意识到我们会突出显示存在安全风险的代码。 在意外的安全漏洞中,这还包括其他发现,例如可能在以后成为威胁的弱保护。

您不必知道某个问题是否以及如何被利用,以确保它在未来不会成为安全威胁。 例如,如果您打印函数的返回值,请确保对其进行正确编码以防止跨站点脚本漏洞。 即使返回值还不包含用户输入,将来也可能不会出现这种情况。

您认为这个免费的 WordPress 项目将走向何方? 你有计划吗? 也许为手持开发人员提供优质服务,帮助他们了解结果并充分利用它们?

CodeRisk 的下一个版本将增加对 WordPress 主题的支持,因为它们是大多数博客不可或缺的一部分,并且通常也包含漏洞。 在某些时候,我们希望将 CodeRisk 扩展到其他内容管理系统。 目前没有提供优质服务的计划,但如果有足够的需求,这可能会改变。

您能否为 WordPress 开发人员提供两到三个安全开发最佳实践,以便他们编写更安全的代码?

如果您想编写更安全的代码,切勿盲目相信现有代码。 始终假设函数可能会返回用户输入并将其视为此类。 有关如何编写安全 PHP 代码的一般信息,请查看 2018 年构建安全 PHP 软件指南。

有关该服务的更多信息,请访问 CodeRisk 网站。 如果您是 WordPress 插件开发人员,并且您的插件位于 WordPress 插件存储库中,请注册一个免费帐户以查看您的插件可能存在哪些漏洞。