2020年3月23日, Linux /开源

在频繁的开源漏洞中生存下来

由格伦西勒

seiler_lg-3

在之前的帖子,我回顾了《常见漏洞和暴露》(CVEs),并考察了风河公司缓解威胁并实现加强安全态势的四步流程。

在这篇文章中,我将对比学习“自己动手”(RYO) Linux平台的方法,并阐明商业支持的Linux的一些优势。

不可否认,Linux的吸引力之一是DIY精神和RYO方法。Linux最明显的优点是它的源代码易于获得,免于授权和再分配成本,大量的系统软件、中间件和应用软件可以免费获得,以及多任务操作系统给设备软件带来的能力和灵活性。

创建自己的开发环境

让我们回顾一下“自己动手”的基本需求。Linux开发人员平台由三个基本元素组成:Linux内核、根文件系统和用于生成在目标硬件上运行的应用程序软件的工具链。运行您自己的Linux平台意味着您必须自己获取、构建和支持这些组件。

在任何自行开发的Linux平台开发项目中,一个障碍是获得必要的工具来为目标嵌入式设备构建系统软件、应用软件和Linux内核。许多开发人员使用一套基于GNU编译器集合的工具,这需要另外两个软件包:编译器使用的C库;以及为目标设备创建可执行程序和相关库所需的一套工具。最终的结果是一个工具链。

为嵌入式目标生成二进制文件是一个有趣的自举困境。因为还没有在目标硬件平台上运行Linux,所以还没有地方可以运行最流行的C编译器GCC的本机版本。类似地,许多设备软件平台没有足够的资源来存储和运行本地编译器。由于这些原因,Linux平台开发通常是在桌面计算机上使用一种称为交叉编译器的特殊工具链完成的,这种工具链运行在主机系统上,但生成的二进制文件将在不同的目标系统上运行。

一旦源代码准备好了,就必须以正确的顺序构建交叉编译环境的组件。通常有许多周期来编译内核、评估任何编译问题、修复该问题并重新编译,最后内核将干净地编译并可能在目标硬件上运行。下一步是将内核下载到主板并对其进行测试。您可能需要遍历多个内核构建周期来解决内核的问题,以正确初始化您的硬件并显示内核状态消息。无论部署的是内存文件系统还是物理文件系统,创建根文件系统的过程本质上是相同的。

一旦您自己的Linux系统引导并从根文件系统正确地执行应用程序,您就可以开始为特定于嵌入式设备的硬件编写任何自定义设备驱动程序。如果使用现成的硬件,半导体或电路板制造商可能提供这些设备驱动程序。否则,您将不得不编写自己的驱动程序,或者将它们直接集成到内核中,或者将它们交叉编译为内核将从其根文件系统加载的可加载内核模块。假设包可以干净地交叉编译,那么您就可以将它安装在您的工作根文件系统中,如果需要,可以重新构建该文件系统,如果需要,可以重新编译内核,然后重新部署和测试更新后的根文件系统和/或内核。

开发人员经常花费宝贵的时间来支持、维护和更新交叉编译环境、Linux内核和根文件系统,而不是致力于特性或产品差异。所有这些,都需要大量的人员投资和广泛的专业知识。

CVE景观

除了管理和维护开发环境的努力外,还有大量的传入cve——已知网络安全漏洞的通用标识符列表。监视不断增加的漏洞数量、识别、分类和评估Linux平台上的严重程度是复杂而耗时的。

来源:https://www.cvedetails.com/browse-by-date.php

要说明影响,请参见上面的图表。继2018年创纪录的16556人之后,2019年报告的cve数量将再创新高。可获得的最新信息反映了2019年的前9个月,其中包括12174个新发现的cve。

当然,并不是每个注册的CVE都会影响开发人员在他们的RYO中使用的Linux版本,但是你怎么知道呢?你仍然需要对惊人数量的曝光量进行评估,只是为了找到那些确实影响你的释放的。你可能还记得在公众意识中引起轰动的两个漏洞:Spectre/Meltdown和WannaCry,它们都说明了开发者在2019年面临的挑战。

风河发现了两件非常有趣的事情随着漏洞报告的激增。首先,漏洞的频率造成了一个不断移动的目标,许多开发人员没有资源或根本无法解决这个目标,这将使他们面临重大的业务风险。第二,CVEs的本质不是黑白,而是许多深浅不一的灰色。

结论

Wind River团队不断地扫描已知报告和新漏洞的冲击,并将它们与他们基于linux的发行版和产品中包含的特定组件进行比较。团队对漏洞进行分类、确定优先级并跟踪缓解行动,并简化修复。风河指示板提供了重点信息,其CVE监测和通知流程使客户能够从铺天盖地的CVE通知中脱颖而出,清楚地了解哪些通知需要注意,哪些可以安全地忽略。

重要的是要考虑“免费”Linux的实际成本,这可能是一个令人担忧的商业前景。经证明,商业支持的Linux比自行开发要便宜得多,而且开发速度也快得多。它还减少了与安全漏洞和许可问题相关的风险。

想了解更多吗?请访问构建与购买网站或更多信息风河系统公司Linux®

有问题或想法要分享吗?联系我们

其他名称和品牌可能被认为是他人的财产。CVE®是MITRE Corporation的注册商标。

以前的AIoT听起来不错
下一个社交距离时代的无人系统与生活