共享Lua脚本的安全性

我正在考虑允许用户通过我的服务器分享他们自己构建的 Lua 脚本。但是我担心 Lua 脚本可能会在客户端导致漏洞。据我的理解,Lua 是为了防止这种情况而构建的。然而,我也看到过一些 Lua 漏洞。也许我应该寻找另一种方式,比如使用沙盒?

我的框架是基于 Qt 构建的,我正在考虑使用 QtLua

原文链接 https://stackoverflow.com/questions/10013160

点赞
stackoverflow用户68204
stackoverflow用户68204

在脚本执行时使用 沙盒 并确保禁止在客户端和服务器端加载和执行预编译的字节码。在沙盒中,使用“白名单”技术来为用户脚本提供经过验证和安全(在您的上下文中)的操作。

您可能希望在单独的进程(或线程)中运行脚本,并使用平台服务来限制脚本被允许消耗的 CPU 时间和内存量,否则一个被欺骗运行脚本 repeat until false 的用户将会消耗整个 CPU 核心,还有一些类似的攻击方式可以攻击内存。

在我看来,这更多是一种感知问题,因为在个人计算机上进行简单的拒绝服务攻击的可能性与启用导致密码或银行详细信息被盗用的漏洞不在同一个级别。

2012-04-04 21:23:12