Security drools电子表格-电子表格规则的输入验证

Security drools电子表格-电子表格规则的输入验证,security,validation,drools,penetration-testing,Security,Validation,Drools,Penetration Testing,我目前正在研究设计一个使用drools决策表电子表格格式()的业务解决方案。业务用户将拥有并维护电子表格中的规则 使用决策表格式的一个主要好处是,将来可以很容易地修改规则,以适应不同的规则结构 Drools将基于电子表格的规则数据编译为本机规则格式。可以看到编译器的示例实现 我将从我的安全团队那里得到的一个关注是,规则电子表格数据是用户输入,所有用户输入都应该进行正确性验证,以确保它不包含恶意数据() 问题: 是否存在业务用户向规则电子表格添加恶意数据的安全风险 风险有多大/严重?例如,编译器是

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

使用决策表格式的一个主要好处是,将来可以很容易地修改规则,以适应不同的规则结构

Drools将基于电子表格的规则数据编译为本机规则格式。可以看到编译器的示例实现

我将从我的安全团队那里得到的一个关注是,规则电子表格数据是用户输入,所有用户输入都应该进行正确性验证,以确保它不包含恶意数据()

问题:

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

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

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

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

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

    • 这是你提到的固有安全风险
    • 非技术人员很容易修改规则操作部分,并有一个损坏的XLS文件
    • 定义和使用查找表是一件痛苦的事情
    我建议,一旦您的项目变得稳定,放弃电子表格,实现您自己的决策表用户界面,或者将guvnor嵌入您的web应用程序(如果您使用的话)