停止代码注入可以解决无服务器安全问题

无服务器计算并不是无忧无虑的计算。除了云服务提供商的账单之外,使用它的人不必担心服务器的其他问题。但是建议他们对应用程序安全性给予一些考虑。

在无服务器模式下,认为平台即服务,但在应用程序正在运行而不是重复发生时- 开发人员仍然需要为他们的代码负责。

安全方面的担忧较少,因为AWS及其同行拥有一大批员工操作人员来保护隐藏的基础架构。但那些创建无服务器功能的人不能简单地假设一切正常。

“应用程序本身及其所有接口都应该对运行该应用程序的客户的负责任,”位于以色列特拉维夫的两年历史的安全公司PureSec销售和业务开发副总裁Ran Nahmias解释说。

上个星期,PureSec与旧金山的AWS Summit一起,使其无服务器安全运行时环境(SSRE)以测试版形式提供, 作为行使该责任的一种方式。

PureSec的软件为那些运行无服务器代码的人提供 - 无论您称之为应用程序还是功能 - 能够检测和缓解常见应用程序漏洞,例如注入攻击,路径遍历攻击,错误配置的资源,相关性错误以及暴露的机密等。

该代码作为一个库可以包含在具有单个导入行的项目中。而且,无需服务器模式的计费按照活跃进行使用。如果没有人使用您的云功能,则无人支付。

作为无服务器功能威胁的示例,请考虑使用恶意制作的命令通过SQL注入在AWS Lambda上调用函数:

sls invoke -f insecure_app -d "{\"username\":\"foo' union select password from usersTable;--"}" -l

PureSec的SSRE会拦截请求并阻止其执行,同时将有关攻击的信息传递到日志文件和仪表板。

该软件还包含一个行为引擎来检测偏离可训练规范的模式。

首席技术官Ory Segal观察到开发者并不总是始终遵循最小特权原则。对于具有写入权限的AWS S3存储桶,由只需读取权限的代码调用,PureSec的软件就会捕获这种差异。

Segal还举例说明了使用AWS DynamoDB数据库的应用程序。如果应用程序只需要一个特定的表格,但被配置为允许更广泛的访问,那么也会被检测到。

根据对PureSec进行的1000个开源无服务器项目的扫描,21%有一个或多个关键漏洞或配置错误。(可以说,最值得注意的发现是DotNet项目的漏洞是其他运行时编写的项目的两倍:Go,Java,Python和NodeJS。)

Segal表示,开发PureSec软件的挑战在于如何在没有root权限的情况下使其工作。

“现有的安全解决方案不适合无服务器模式,”他说。“这里的主要技术障碍是我们也是guest用户。”

他表示,普遍可用性计划于七月份发布。

  • 发表于:
  • 原文链接http://www.theregister.co.uk/2018/04/12/a_code_injection_to_stop_code_injection

扫码关注云+社区

领取腾讯云代金券