【问题标题】:User Defined Functions Security Risk用户定义函数安全风险
【发布时间】:2019-02-25 23:45:08
【问题描述】:

我读到如果我在 cassandra.yaml 中将 enable_user_defined_functions 设置为 true,那么用户定义的函数 (UDF) 会带来安全风险,因为它们是在服务器端执行的。在 Cassandra 3.0 及更高版本中,UDF 在沙箱中执行以包含恶意代码的执行。默认情况下它们被禁用。 我的问题是,在我将 enable_user_defined_functions 设置为 true 后,它们会在沙箱中执行吗?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    除非您将 enable_user_defined_functions_threads 明确设置为 false(您确实不应该这样做),否则 UDF 将异步运行到由有限安全管理器和特殊类加载器锁定的池。

    尽管存在安全漏洞,您仍应只允许您的 UDF 代码使用受信任的来源。

    【讨论】:

    • 如果我将 enable_user_defined_functions 明确设置为 true,我的 UDF 会在沙箱中执行吗?
    • 如果我将上述设置设为 true,我的 cassandra 节点是否更容易受到外部攻击?
    • 是的,它将始终在沙箱中执行。不,它不会使其更容易受到外部攻击。如果攻击者以某种方式获得了使用管理员/模式更新权限运行任意 CQL 命令的能力,它的作用可能会变得更加危险(尽管如果他们能做到这一点,无论如何你都会遇到麻烦)。如果您进行某种多租户并允许不同的客户访问但不希望他们相互影响,这可能是一个问题 - 尽管这也是 Cassandra 不支持的东西。
    猜你喜欢
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 2011-09-14
    相关资源
    最近更新 更多