应该感谢蓬勃发展的开源社区为我们贡献了空前的项目和解决方案,而且是以开源代码的方式提供给我们。这给开发人员带来的好处是,可以获得非常有用的开源解决方案,但不利的一方面是,代码质量差异非常大。
所幸我们有Common Vulnerabilities & Exposures(CVE,通用漏洞披露)数据库,其中报告并追踪着成千上万的软件漏洞。随着软件数量的不断增加,CVE数据库中记录的漏洞也在不断增加。事实上,2021年度CVE报告提交的漏洞数量是历史上最多的,超过了20000个。
如果不扫描检查,嵌入式开发人员很可能就会在其软件产品中混入了包含严重安全漏洞的代码,并且完全不知道这些漏洞的存在,由此导致的安全风险巨大。《Forrester应用软件安全现状报告(2021)》中指出:近三分之一的安全漏洞是由软件漏洞引起。
嵌入式软件开发团队需要专门的策略和战术,以便消除其解决方案中日益增长的安全漏洞风险。数十年来,为消除安全漏洞对嵌入式系统的影响,风河持续提供软件解决方案和专业服务,并积累了丰富的专业知识,从而成为嵌入式开发人员的坚强后盾。
基于风河多年来所积累的资源,我们为进行CVE扫描并解决安全漏洞提供了10项必备功能。
1.漏洞生命管理周期
开发团队让产品不断推陈出新,软件代码也被一次又一次地修改。功能在更新、添加和重构,软件包、第三方代码也不断发生着各种变化。面对这样的情况,漏洞扫描工作永远都不可能一劳永逸。
漏洞生命周期管理——Gartner
开发团队应该将漏洞检测工作以完整生命周期的方式进行管理,其中包括持续评估、优先级排序、扫描和检测等环节。同时,也应该形成一套扩大已知漏洞库的方法,以便使检测能力随着时间的推移而不断提升。最终结果应该是,采用漏洞管理生命周期方法实现显著降低平台与应用代码风险,化解潜在安全漏洞风险。
2.精确性
如今CVE数据库的增长速度比以往任何时候都快,已知漏洞数量不断创下历史新高。更不幸的是,并没有迹象表明这一趋势有任何放缓。漏洞威胁日趋严峻,威胁行为数量众多,安全性攻击的危害程度令人担忧。
然而,许多已知CVE对于嵌入式开发人员来说是不相关的。有效漏洞管理的一个关键成功因素是通过裁减市面已知的CVE列表来构建会显著影响嵌入式开发团队的CVE数据库。
2.精准分类CVE来源
面向嵌入式开发,针对众多来源的CVE,风河公司建立了精准分类的数据库。在整个漏洞管理生命周期内,软件开发团队都可以利用这个CVE数据库来确保漏洞扫描的精确性和有效性。这不仅节省了漏洞分析所需的时间和资源,而且也让开发人员可以获得风河公司在解决安全漏洞方面积累的经验。
3.保持及时更新
漏洞扫描的水平依赖于CVE资源,因此保持漏洞数据库及时更新,对于解决好安全风险问题至关重要。新的漏洞每天都会产生,而收集汇总的机构各不相同,包括美国国家漏洞数据库、Mitre以及其他资源库。因此,汇总众多资源以保持CVE数据库处于最新状态,这并非易事。
Wind River CVE数据库专门为嵌入式开发团队而精心编制,为保持CVE处于最新状态提供了关键性的支持。凭借这些资源,您可以确信——最新出现的漏洞也不会成为漏网之鱼。
4.漏洞识别自动化
风河公司推荐采用自动化方法来检测漏洞。这项工作的前提是创建软件物料清单(Software Bill-of-Materials, SBOM),包含Linux OS平台以及应用软件中用到的每个软件包。我们的解决方案可以协助创建这个组件细目,以便您始终拥有所用软件包清单。
SBOM采用软件包数据交换(Software Package Data eXchange,SPDX)格式,不仅包括描述符信息,还包括版本、名称、许可证、提供商以及与软件包相关的其他元数据。通过这些信息,开发人员可以创建包含其Linux操作系统和应用软件的详细软件清单,由此成为随后为所用软件量身定制智能漏洞扫描的基础。
5. 分类效率
对于许多刚刚开始漏洞评估流程的团队来说,最初的扫描很可能会是令人崩溃的——在较大规模的代码库中有时会发现数百甚至数千个漏洞。
首先遭遇的挑战就是你根本不知道从哪里着手。通用漏洞评分系统(Common Vulnerabilities Scoring System)为跟踪的每个CVE提供严重程度评分。风河漏洞扫描器可以根据这个评分结果提供对代码影响最大的CVE优先列表。有了CVSS评分,开发人员就可以专注于解决方案中风险最大的漏洞。
CVE依照严重性予以分级
如前所述,反复的评估工作对于确保已知风险不会再次引入软件代码至关重要。将过旧的软件包、软件组件链接或编译到应用中,这是十分常见的情况。风河公司的漏洞扫描功能可以保存高优先级CVE列表,以确保对其进行持续评估,这对于有效评估Linux平台和应用软件相关的风险至关重要。
6.自动识别许可证和合规性
并非所有风险都以软件漏洞的形式出现。当今软件中大约有80%包含开源和第三方软件组件,安全风险不容忽视。而这些开源软件包还包括许可证限制和使用指南。如果不遵守这些限制和指南,可能会受到严重的处罚。
IP和许可证扫描如果不是自动进行,就会非常耗时。所幸的是,通过标准化SPDX等格式来描述软件包,并维护严格的SBOM,开发人员可以实现许可证和合规性的自动扫描。
7. DevOps集成
请您想象这样一个场景:在传统的瀑布式开发模型中,开发团队完成其平台或应用软件方面的工作,然后将成果交给发布团队,在此之前要执行一些验证工作,包括漏洞扫描。如果此时发现软件栈中使用的开源软件包存在基本安全风险,他们别无选择,只能将全部软件返工给开发团队去消除漏洞,这必然会导致项目进度落后于计划。
这种情况并不罕见,而且用这种方法解决安全漏洞问题,其代价十分昂贵!这就让我们想到,DevOps以及“Shifting Left(左移)”所带来的好处,例如借助于自动化技术提前进行漏洞扫描,在开发周期中的更早阶段及时察觉风险,从而以更加简便的方式在更低成本的阶段防患于未然。
CVE扫描是Wind River Studio中的流水线单元(Pipeline Element)
在构建过程的早期就可以进行漏洞与CVE自动扫描,从而使开发人员在开发周期中的较早环节消除已知的安全风险。这反过来又为产品生命周期带来了不少好处,包括更高的安全水平和更灵活的模型,以便解决已发现的安全问题。
8.仪表板和健康监视器
我们正在进入集成化的时代,应用软件越来越互联网化,我们正在从孤立信息和离线内容转向健康状态和安全监控的一体化视图。虽然搜索引擎和各种漏洞数据库很有用,但开发团队和工程项目领导者需要对其平台和应用系统进行整合与简化,而不是从不同来源寻找和拼凑各种信息。
CVE扫描仪表板
仪表板是查看此类整合视图的重要方式。良好、有益的仪表板应该提供系统状态的高级视图,让人一目了然,同时在必要时支持向下挖掘(Drill-Down)和详细报告。仪表板显示的内容也应该可以自动更新以确保不会过时。
9. 报告功能
软件和硬件供应链中的风险日益增多,已经成为企业关注的焦点。许多终端用户要求供应商的安全验证方法具备透明度和报告功能,甚至还可能要求供应商提供有关安全保障的其他信息。这些要求在漏洞评估方面体现得尤为明显。客户期望供应商针对已知漏洞对其系统组件进行验证,因为他们同样也需要证明自己所提供的设备是足够安全的。
提供安全报告是一项耗时的工作,但其中许多内容可以通过CVE扫描自动化和整合数据聚合来生成。开发团队会发现,很有必要对CVE检测自动化做出适当投资,来呈现CVE的检测和解决时间。他们也可能需要呈现已发现CVE的严重程度,这对于系统中的关键组件尤为如此。
10. 信息安全和隐私保护
CVE扫描功能虽然能带来了不少好处,但也会带来信息安全风险。在Linux平台或应用系统中,任何包含已知漏洞信息的工具和尚未修补的CVE都可能成为软件堆栈中的弱点,被攻击者当作突破口。您使用的任何CVE扫描工具都应该是安全的,并且来自可信的供应商。
在评估CVE扫描的安全解决方案时,需要谨记三个特征:
1) 访问控制:具备严格的访问控制机制,以防止未经授权访问敏感信息。
2) Manifest保护:能够保护正在扫描CVE的资产——通常是源代码和软件包。这些Manifest必须得到保护,以确保SBOM和其他有关Linux平台或应用组件的敏感信息不会落入坏人手中。
3) 客户隐私保护:扫描工具不应损害供应商和客户之间的关系。这种关系应该通过各种机制保护起来,例如加密、访问控制或其他各种手段的结合应用。
风河是您的安全伙伴
CVE扫描自动化技术应该作为开发团队发现漏洞的一种有效手段。其中,最大的困难不是发现漏洞,而是修复漏洞——知道哪些补丁适用于哪些版本,善于选择升级路径和安全技术,从而有效地解决漏洞。
Wind River Studio Linux Services团队长期服务于众多的工程项目,为客户提供安全最佳实践指导,同时为您的Linux平台、应用软件和系统带来专业知识和经验。此外,针对Yocto Linux和Wind River Linux,风河公司都长期维护补丁包,可以确保您的操作系统始终处于最新版本,而补丁包则可以随时修补已知的漏洞。
无论您的企业处于漏洞管理旅程的哪个阶段,Wind River Studio Linux Services都可以提供帮助。您可以通过风河公司专门为嵌入式系统设计而精心维护的CVE数据库来识别CVE,也可以通过与Studio Linux Service团队合作来解决您产品中棘手的安全风险。
总之,风河始终都是您的安全伙伴。