FIT2CLOUD 飞致云作为国内领先的开源软件公司,自 2017 年以来,陆续发布了JumpServer 开源堡垒机、DataEase 开源数据可视化分析平台、MeterSphere 开源持续测试平台、Halo 开源建站工具等项目,涵盖运维安全审计、BI 分析、软件测试等多个领域。每一款开源产品发布后,均收到了各领域广大用户的热烈欢迎和积极反馈,同时也受到国内外信息安全团队、安全实验室的关注,收到一些信息安全漏洞的报告。以 MeterSphere 项目为例,对应的漏洞主要可以分为三类:
1、 第三方开源组件的漏洞,例如MySQL、Redis、Kafka等。对于这类漏洞,一般情况下,在完成对应组件修复版本的升级以及测试验证后,MeterSphere 将在下一个发布版进行修复。
2、 因支持文件上传、前后置脚本而引发的漏洞,目前在国家信息安全漏洞共享平台 CNVD 中记录的相关漏洞简要情况见下图:
漏洞名称 | ID | 影响版本 | 披露日期 |
Metersphere任意文件上传漏洞 | CNVD-2022-68273 | v 1.15.4 | 2022-10-12 |
Metersphere存在任意文件删除漏洞 | CNVD-2022-37752 | ≤v1.18.0 | 2022-04-23 |
Metersphere存在命令执行漏洞 | CNVD-2022-08961 | 1.16.3 | 2022-02-24 |
Metersphere存在命令执行漏洞 | CNVD-2022-01152 | V1.13.0-V.1.16.3 | 2022-01-06 |
测试软件由于业务本身的要求,包含对测试数据文件的统一管理(用于上传下载、用例关联引用等)以及必要的前后置操作(主要是指接口测试中前后置处理,包括SQL语句以及Python/Beanshell等脚本),导致相关的漏洞出现的可能性高一些,LoadRunner、JMeter、禅道等测试软件都曾暴露过相同类型的漏洞。
(PS:安全的本质是信任,对于内部员工来说基本不会存在恶意行为的主观意愿,绝大部分测试人员一般也不具备漏洞利用的专业技术技能)
对于可执行脚本漏洞的处理方式主要有:
(1)限制脚本的执行权限,只允许有必要的用户或者进程执行脚本。
(2)对于外部输入的数据,进行严格的输入验证和过滤,避免恶意输入导致脚本执行异常。
(3)对于脚本中使用的系统命令和函数,进行严格的参数校验和过滤,避免恶意参数导致脚本执行异常。
(4)对于脚本中敏感操作,如文件读写、网络连接等,进行严格的权限控制和审计,避免恶意操作。
不难想象,如果根据上述方式进行处理,对测试的调试、执行等操作体验无疑会造成极大的干扰和阻碍,并大大降低测试人员的工作效率。所以对于这类漏洞,需要在用户体验和安全之间进行平衡,MeterSphere开源团队也正在着手考虑对应的设计。同时企业安全部门要清楚对应的潜在风险,并对风险作出全面的评估,测试部门需要分析和确认是否会对自身操作和工作效率带来重大影响,最后权衡后再做定夺。
3、 安全开发规范引起的漏洞,典型的就是由于使用未授权引起,例如在2022年3月份发布的漏洞通知及修复方案中所提到的未授权XXE漏洞、Prometheus未授权访问漏洞、getMdImage函数未授权调用漏洞等就属于这类情况。对于这类漏洞,MeterSphere 研发团队进行快速修改,并在当月小版本或下一个版本中发布。
FIT2CLOUD 飞致云始终把软件的信息安全放在首位,并根据 ISO/IEC 29147 以及 ISO/IEC 30111 标准,建立完善的信息安全控制和保障体系。
首先对软件研发团队内部定期开展安全培训,包括安全意识培训、安全编码培训等,以提高安全意识和技能。同时建立内部的代码安全测试和审查机制,定期对代码进行静态代码分析、动态代码分析和漏洞扫描等,主动发现和修复漏洞,并审查和漏洞评估等,以确保代码的安全性。
飞致云所有开源项目都添加了项目安全相关信息的 SECURITY.md 文件,文件中包括安全联系人、组织策略,并详细说明在发现漏洞时将做出的响应,规范白帽子如何负责任地披露安全问题,避免在修复方案发布之前无意中让其它人员意识到漏洞的存在。欢迎来自安全领域的团组和专家向我们开源项目组提交漏洞报告,不鼓励任何人直接公开安全漏洞细节。
飞致云已与国内知名的信息安全公司、安全实验室建立了长期合作关系,定期将发布版本交给专业的安全团队进行安全测试,并根据测试报告以及专业建议进行修改。
飞致云已经建立了完善的信息安全漏洞管理流程,包括漏洞报告、漏洞确认评估、漏洞修复和漏洞披露通知等。
收到安全漏洞反馈后,飞致云源项目组将立刻启动漏洞响应程序,在 T+1 个工作日内对漏洞上报进行正式的回复确认,并在T+3 个工作日内完成初步分析并回复和确认上报的安全问题,如确认为安全漏洞,将尽快确定缓解规避或修复方案。之后公司将通过技术博客、微信公众号、社区用户群、社区论坛、企业用户技术支持群正式对外发布安全公告。对于企业客户,还将由各产品的专业客户成功团队直接提供对应的修复方案实施服务。最后进行内部总结,并在各用户群中持续监控和确认结果。