开源软件存在怎样的风险?

开源软件具有迭代周期短、模块数量多、生产线上化、供应全球化、仓储集中化、边际成本低等特性,且使用路径包括第三方镜像仓库、网盘、论坛、代码托管平台等存在安全隐患的软件源,极易引入未知风险,如篡改、漏洞、投毒/后门、维护性中断、开源合规风险等。

如何进行开源软件风险管理?

开源软件风险管理主要包括对代码漏洞、依赖性管理、安全维护、知识产权及合规性等多方面的综合防范,为了有效管理这些风险,可以建立开源软件安全审查机制、加强依赖性管理、提高安全维护意识、加强知识产权和合规性管理,同时,还可以借助政策和技术手段,打造以“政策+技术”双驱动为核心的防范体系来有效保障开源软件的安全。

产品简介 | Product Introduction

「微析」开源软件风险管理平台针对软件开发过程中代码和开源组件的大量引用,从而可能引入的安全漏洞、后门代码、未知风险以及知识产权问题,通过建立全球开源软件项目知识库、漏洞知识库、开源许可证知识库等,对软件源代码进行详细的对比分析,识别出软件源代码构成、存在的安全漏洞、开源协议等信息,帮助用户在安全、研发、管理、知识产权等多方面提高软件的开发管控能力。

核心功能 | Core functions


代码漏洞检测
基于深度学习算法实现,可用于快速精准的识别开源代码中的潜在漏洞,同时借助基于漏洞知识图谱的本地漏洞库,可以科学的评估出现漏洞的危险等级,锁定相应代码段,为用户提供切实可行的修复方案,并有效的帮助企业级项目开发提升信息安全能力和等级

许可证合规性
基于大规模数据库和文本分类算法实现,可用于开源项目的许可证识别与冲突检测,分析结果主要包括概要信息、许可证文件列表、许可证冲突列表以及许可证冲突详情等内容,可为用户提供准确可靠、清晰易懂、多维度多层次的许可证使用与条款级冲突检测结果,支持GPL、MIT、木兰宽松许可证等超3000种许可证



软件成分分析
基于大规模文件扫描和文件匹配,可精准识别出项目中特定的配置文件,同时可解析各种复杂形式的依赖关系文件和配置文件,生成项目的软件依赖成分列表和物料清单,包含组件信息、组件许可证信息,组件漏洞信息,利用开源成分分析自主开发的程度

漏洞情报知识库
基于知识图谱,通过不断扩展的数据源,从漏洞的不用角度来丰富多维的漏洞视角,快速掌握漏洞影响范围、影响软件版本、影响代码片段、CPE、修复版本、补丁、PoC、漏洞细节、缓解措施、安全公告、参考链接等,数据源领先,云端漏洞情报中心实时跟踪全球情报源,将不同来源漏洞自动完成漏洞知识融合与纠错

技术指标 | TECHNICAL INDEX

可支持的开源软件开发语言等

| C/C++ | Java | JavaScript | C# | Python | PHP

| Ruby | GO | Ruby | GO

可支持的开源软件漏洞库等

| CVE | CNVD | CNNVD

可支持的开源软件许可证等

| GPL | BSD | LGPL | MIT

架构说明 | Architecture Description

API接口层 API网关 负载均衡


业务服务层 大规模高性能代码扫描 开源软件合规性分析 开源软件安全情报共享与处置机制

业务服务层 代码成分分析 组件分析 漏洞分析 代码合规性检测 组件监测 监测策略 告警

业务服务层 密码安全分析 代码缺陷检测 知识产权分析 安全信息中心 安全情报信息挖掘


基础服务层 服务 工具

基础服务层 系统设置 系统监控 异步队列 日志审计 辅助功能


数据层 数据缓存 事务 读写数据库 缓存过期控制 文件读写 数据同步


数据库 基础数据库 用户及检测数据库

数据库 开源代码库 漏洞信息库 开源组件信息库 开源组件依赖信息库 开源许可证信息库 闭源库 用户信息库 检测项目信息库


运行环境 云服务器 独立文件服务器 国产化支持 操作系统 中间件