为了加速业务创新,应用开源技术提升开发效率成为企业的主流选择,但这也导致了日益依赖复杂的软件供应链。虽然有诸多优点,但广泛应用开源组件也带来了新的安全挑战,软件成分分析(SCA)应运而生。
软件成分风险日益加剧
Synopsys 公司近期发布了《2020 年开源安全和风险分析(OSSRA)报告》,其中提到关于代码安全漏洞数据显示:在2019年内,所有审计的代码库中有75%代码库包含已知安全漏洞,49%包含高风险漏洞。报告显示,去年有70%的代码库进行了开源,同比增长了10%,这对安全漏洞的增加有一定程度的影响。虽然如今很多企业对开源组件进行应用,但是大部分对开源协议以及引用规范并不是十分清晰,从而会引起各种不必要的争议甚至法律纠纷。
软件成分分析应运而生
软件供应链一直是国内企业忽略的主题,尽管组件问题一直都有发生,同时SCA相关工具市场份额也一直被国外企业长期垄断。早在2013年版和2017年版的《OWASP Top 10》文档中,就对“使用含有已知漏洞的组件”进行了收录和分析,以提醒安全团队和开发团队注意由组件自带安全漏洞而对应用引入的安全风险。2019年,Gartner在《应用安全测试(AST)魔力象限》报告中把SCA纳入AST技术领域范围,从而形成了包含SAST、DAST、IAST和SCA的应用软件安全测试技术体系;并正式发布了有关软件成分分析(SCA)的技术洞察报告,对软件成分分析技术进行了准确定义:软件组件分析产品对应用程序进行分析,以检测开源软件组件是否带有已知的安全漏洞或功能漏洞,及需要恰当授权许可的商业软件或第三方产品。它有助于确保企业软件供应链仅包含安全的组件,从而支持安全的应用程序开发和组装。
至此,SCA正式走进国人视野。
企业如何落地软件成分分析
企业落地SCA通常有以下典型痛点:
- 对开源组件管控缺乏统一规划和管理体系;
- 搞不清自主研发或外包研发的软件系统使用了哪些开源组件;
- 搞不清这些开源组件当前的安全状况;
- 没有专人专岗,且理不清与软件开发团队、安全保障团队之间的工作关系。
基于上述思路,上海控安研发工业软件成分分析工具SmartRocket Scanner,通过使用者所上传的二进制文件或是源代码的连接,检索其中所利用的开源文件,并与国内外数据库进行比对,检测文件中所存在的安全漏洞与许可证隐忧等问题,并提供相对应的信息与修复建议。
此款工具在C/C++等代码分析方面具有显著优势,是国内首款采用双引擎模式分析源代码与二进制文件的漏洞扫描工具,可支持C/C++在内的10多种主流编程语言。
特色功能
- 快速分析软件所用到的开源库,能够透彻扫描每一条源代码或二进制文件。
- 检测开源库的漏洞,通过与CVE漏洞库作对比,给出相应的报告。
- 分析开源库的许可证合规性,检测潜在的使用许可隐忧。
- 分析漏洞关系网,可了解并追溯漏洞的来源,降低安全管理的复杂性。
产品优势
全面的程序语言支持
支持10+种程序语言(C、C++、Python、Java、JavaScript、PHP等)
支持20+种不同格式的二进制文件(.apk、.jar、.exe、.arm等)
误判率低
误判率<7%
针对Java, JavaScript, Python等语言误判率可低于2%
高效率研发团队
及时更新数据库信息,处理用户反馈建议,使拥有更完善的使用体验
部署方式多样化
支持即用软件(SaaS)和内部设置(On Premise)两种部署模式
对安全管理者的建议
Gartner报告中向负责应用程序安全和数据安全的管理者提出了几点建议:
- 每个程序都应该拥有一个持续构建的详细软件材料清单,通过这个清单来从而全面洞察并验证每个应用软件的组件是否可用。制定策略确定可接受的开源组件、对在代码中发现漏洞或受限软件许可的合理响应,来管理风险。
- 强化软件供应链,检查内部和外部源代码、支持脚本、配置文件和其他工件,并创建可信开源组件的内部存储库,同时对外部存储库的使用进行合理管理来降低安全风险。
- 不光要考虑安全漏洞和授权许可问题,其他也需要利用软件全方位考量。
来源:freebuf.com 2020-07-29 14:34:45 by: shanghaikongan
请登录后发表评论
注册