【问题标题】:drools spreadsheet - input validation of spreadsheet rulesdrools 电子表格 - 电子表格规则的输入验证
【发布时间】:2013-01-14 22:24:46
【问题描述】:

我目前正在研究设计一个使用 drools 决策表电子表格格式 (link to jboss drools documentation) 的业务解决方案。业务用户将拥有并维护电子表格中的规则。

使用决策表格式的一个主要好处是以后可以轻松修改规则以适应不同的规则结构。

Drools 将基于电子表格的规则数据编译为原生规则格式。编译器的示例实现可见here

我的安全团队担心的一个问题是,规则电子表格数据是用户输入的,所有用户输入都应该经过正确性验证,以确保其中不包含恶意数据 (see here for the rationale for input validation)。

问题:

  1. 是否存在商业用户向规则电子表格添加恶意数据的安全风险?
  2. 风险有多大/严重?例如,编译器是否充分验证了用户输入的数据?
  3. 如何降低风险?例如,另一方在将规则部署到生产环境之前直观地验证电子表格中的规则。

【问题讨论】:

    标签: security validation drools penetration-testing


    【解决方案1】:

    由于规则可以包含java代码,安全风险实际上大于恶意数据。用户可以轻松插入他选择的 java 代码来访问您的系统。

    您可以使用 drools 验证程序并编写自己的规则,但不可能消除所有风险。

    使用第三方验证规则可能有效,但进行验证的人需要是程序员才能正确评估风险,这将抵消首先使用电子表格的优势。

    在我看来,电子表格被高估了:

    • 存在您提到的固有安全风险
    • 非技术人员很容易修改规则操作部分并拥有损坏的 XLS 文件
    • 定义和使用查找表很麻烦。

    我建议,一旦您的项目变得稳定,就放弃电子表格并为决策表实现您自己的用户界面,或者如果您使用一个,则将 guvnor 嵌入到您的 Web 应用程序中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多