应用并管控“两库”是信创软件安全的核心能力
信创与“863 计划”、“973 计划”一脉相承,是我国 IT 产业发展升级采取的长期计划。其本质是发展国产信息产业,旨在实现“自主可控、安全可靠”的发展目标,同时也是国家经济数字化转型、提升产业链发展的关键。
信创产业及信创软件
信创产业,即信息技术应用创新产业,是我国 IT 产业发展升级采取的长期计划。信创建设从党政试点,关键行业逐步推广(2+8+N),逐步建立自主的 IT 底层架构和标准,实现全 IT 全产业链实力和结构的优化升级,主要包含 IT 基础设施、基础软件、应用软件和信息安全等板块。
根据中共中央关于制定国民经济和社会发展第十四个五年规划和二零三五年远景目标的建议相关内容,国家十四五规划以高质量发展为主题,改革创新为根本动力,加快建设现代化经济体系。经济发展重要方向上,要强化国内市场建设、扩大内需,以创新能力做驱动,积极发展战略新兴产业、基础设施和数字化建设。信创产业以信息技术产业为根基,通过科技创新,构建国内信息技术产业生态体系,是实现国家十四五规划发展目标的重要抓手。
随着信创产业的推进,我国的基础软件(包含操作系统、中间件、数据库等)及应用软件市场,将出现海量的信创替代和增量采购需求。据统计,仅以应用软件市场为例,2022 年中国信创应用软件市场规模约 5944.4 亿元,2025 年预计将达到 1.5 万亿元,2021-2025 年复合增长率约 35.1%。
图 信创产业链
“两库”是信创软件的重要组成部分
“两库”是对开源软件库与安全漏洞库的统称,它们是信创软件不可或缺的组成部分,开源软件库大幅提升了信创软件的研发效率,安全漏洞库则为信创软件提供了已知漏洞检测的数据支撑。
(1) 开源软件库:简称开源库,根据相应的开源软件许可证协议,公布软件源代码的网络平台。任何个人或组织均可下载并使用开源软件的全部功能,也可以根据自己的需求修改源代码,甚至编制成衍生产品再次发布出去,但需遵循开源许可协议,否则可能会引发知识产权纠纷。例如,2021 年广东省某科技公司便因违反 GPL3.0 协议下的源代码授权保护,被法院判为侵权并处于罚款。除了开源许可违规的潜在风险外,使用开源软件还可能面临安全问题,Synopsys 在《2022 开源安全和风险分析报告》中指出,97%的代码仓库包含开源软件,其中 81%的开源软件含有漏洞。信创产业方兴未艾,基于开源软件开发信创软件,可以大幅提升开发效率,但也不可避免的继承了开源软件带来的安全漏洞。
(2) 安全漏洞库:简称漏洞库,通过主动挖掘、社会提交、协作共享等方式,收集基础软件、应用软件、网络设备等软硬件系统的信息安全漏洞,并建立规范的漏洞研判处置流程、通畅的信息共享通报机制以及完善的技术协作体系,为重要行业和关键基础设施安全保障工作提供了重要的技术支撑和数据支持。我国的安全漏洞库主要包括:CNVD(国家信息安全漏洞共享平台)、CNNVD(中国国家信息安全漏洞库)等,另外,国际上的主流安全漏洞库还包括:CWE(通用缺陷枚举库)、CVE(通用漏洞披露库)、NVD(美国国家漏洞数据库)、CVSS(通用漏洞评估系统)等。我国信创软件的传统漏洞检测工具,均依赖上述漏洞库提供的漏洞特征,对信创软件进行已知漏洞检测。
“两库”给信创软件带来的漏洞挑战
2021 年 7 月,工业和信息化部、国家互联网信息办公室、公安部联合发布《网络产品安全漏洞管理规定》,规范了产品漏洞发现、报告、修补和发布等行为;明确了产品开发商、产品服务商、漏洞发现者、漏洞发布者等各类主体的责任和义务。信创软件市场的高速增长,催生出大量的信创软件代码、产品、开发商与服务商。而信创软件的激增,也必然引发其安全漏洞的激增。控制安全漏洞的数量、破坏性与影响范围,保障的信创软件的可信性和安全性,既是遵循法律法规的明确要求,也是整个信创安全体系的基础,成为目前亟须解决的问题。
开源软件库与安全漏洞库作为信创软件的重要组成部分,在提升信创软件的研发效率、提供已知漏洞检测的数据支撑的同时,也为信创软件带来了安全漏洞的挑战:
(1) 信创软件开发大量依赖开源软件,但对开源软件的安全漏洞缺乏足够的了解。开源软件安全漏洞的依赖关系、影响范围、破坏程度等信息不明确,将给信创软件带来极大的安全风险。
(2) 受到开源社区影响以及国际关系制约,信创软件的底层架构和依赖的第三方组件,可能会面临断供的风险,若未遵循开源许可协议,也会引发知识产权纠纷。
(3) 面对激增的信创软件代码及产品,缺少与其匹配的安全漏洞检测能力与手段:依靠人工检测,检测效率无法覆盖代码的增长速度。依靠漏洞库提供的漏洞特征进行检测,但由于信创软件与通用软件的技术架构与运行环境存在差异,CVE、NVD、CNVD、CNNVD 等通用漏洞库并不能完全适用与信创软件。
面对开源软件,加强软件成分分析能力
信创产业方兴未艾,基于开源软件库提供的开源软件进行研发,可以大幅提升信创软件的研发效率,但这种方式不仅会继承来自开源软件的安全漏洞,还要遵循 GPL/LGPL/BSD 等相关开源许可协议,否则可能会引发断供风险以及知识产权纠纷。
解决上述问题,软件成分分析(SCA,Software Composition Analysis)是最行之有效的技术手段。软件成分分析,是一种对二进制软件的组成部分进行识别、分析和追踪的技术,专门用于分析开发人员使用的各种源码、模块、框架和库,以识别和清点开源软件的组件及其构成和依赖关系,并识别已知的安全漏洞或者潜在的许可证授权问题,把这些风险排查在软件系统投产之前,也适用于软件系统运行中的诊断分析。具体可描述为如下四部分能力:
(1) 软件物料清单分析能力:扫描并生成与信创软件一起出现的开源软件列表,包括在构建阶段解析到的所有依赖项,这一输出结果就是软件物料清单,通常包括:软件名称、软件版本、来源或分布、文件路径等信息。
(2) 开源许可协议风险管理能力:对开源软件进行许可协议分析,明确其商业化限制,有助于规范的使用开源软件,避免信创软件因政治原因或违反开源协议,引发断供风险以及知识产权纠纷。
(3) 开源软件已知漏洞检测能力:基于安全漏洞库,对软件物料清单中的开源软件版本,进行已知漏洞特征比对,识别该开源软件存在的已知漏洞,并分析漏洞对信创软件带来的安全风险。
(4) 开源软件未知漏洞挖掘能力:基于模糊测试技术(具体详见第五章),对软件物料清单中的开源软件版本,进行未知漏洞挖掘,补充安全漏洞库所不具备的未知漏洞检测能力。
基于模糊测试,补齐漏洞检测能力短板
基于安全漏洞库提供的已知漏洞特征,进行已知漏洞检测,能够部分解决信创软件的安全漏洞问题。但为了有效的保障信创软件的可信性和安全性,仍有如下几个方面需要改进:
(1) 缺少信创软件专用漏洞库:信创软件是近些年的新兴产物,且与通用软件的技术架构与运行环境存在差异,CVE、NVD、CNVD、CNNVD 等通用漏洞库缺少对信创软件的漏洞积累,现有漏洞也不能完全适用于信创软件,我们需要积累专属于信创软件的漏洞库,为信创软件提供更加准确的漏洞的技术支撑和数据支持。
(2) 降低信创软件已知漏洞误报率:基于漏洞库提供的已知漏洞特征,可以快速识别已知漏洞,但另一方面也不可避免的造成了大量的误报信息。我们需要优化漏洞检测机制,补充漏洞定位及复现能力,从而降低信创软件漏洞误报率,提高漏洞处置效率。
(3) 提升信创软件未知漏洞挖掘能力:通过已知漏洞特征比对,可以发现已知漏洞,但对未知漏洞无能为力。并且已知漏洞特征的积累,也是来源与对未知漏洞的发现与分析。所以对未知漏洞的挖掘才是信创软件漏洞检测的底层能力,也是我们当前最为缺失的能力,亟须提升。
面对上述改进需求,模糊测试(Fuzzing)是最行之有效的技术手段。模糊测试是一种软件自动化测试技术,通过构造随机的、非预期的畸形数据作为程序的输入,并监控程序执行过程中可能产生的异常,之后将这些异常作为分析的起点,确定漏洞的可利用性。
1988 年,巴顿·米勒教授在针对 UNIX 操作系统质量问题的测试项目中,第一次引入了模糊测试的概念。通过大量输入完全随机的数据进行测试,能够引发大部分软件出现崩溃问题。虽然效果显著,但依然存在测试效率较低、漏洞产出不稳定等问题。
2013 年,AFL(American Fuzzy Lop)发布。这是一种基于覆盖引导的智能模糊测试技术,通过编译时插桩探索程序内部的执行路径,从而提高代码覆盖率,改善了传统模糊测试技术效率较低、漏洞不稳定等问题。华为、微软、谷歌等企业开始大范围应用模糊测试技术,并取得了极其显著的效果。但因为技术门槛过高,模糊测试技术目前只能在各头部大厂中得以应用。
2021 年,北京云起无垠科技有限公司成立。创始团队出身清华,多年来,在优化模糊测试算法的同时,也大幅降低了该项技术的使用门槛。云起无垠致力于将模糊测试技术产品化,让更多的企业可以享受到模糊测技术带来的便利,其产品具备如下优势:
(1) 海量测试用例:利用 AI 遗传算法辅助测试用例智能变异,基于反馈学习机制,自动生成海量(亿万级)测试用例,对目标软件进行安全检测,提升软件检测覆盖率。
(2) 误报率为零:基于内存级别的细粒度检测能力与动态执行验证能力,产品检测缺陷误报率无限趋近于零,且对被发现的软件缺陷,可定位、可复现、可验证。
(3) 发现未知缺陷:通过对软件的运行态进行安全检测,基于覆盖率引导技术定向引导测试用例变异,触发传统检测手段容易忽略的异常分支,从而发现未知缺陷。
(4) 降低人力成本:对软件进行自动化动态检测,中间过程无需人工参与,大幅提升检测效率,降低人力成本。
未来,云起无垠将基于模糊测试、软件成分分析等技术,专注于软件供应链安全领域,致力于解决软件(开源、闭源)已知和未知漏洞等威胁问题。同时,不断完善各类解决方案,为信创产业的发展提供安全助力,促进产业升级,向前发展。(云起无垠|CTO 崔卓)
评论