2020年3月23日, Linux /开源

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

由Glenn Seiler.

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年设定16,556纪录后,2019年报告的CVES的数量是在步伐上设定另一个记录。最新信息可实现2019年的前九个月,其中包括12,174个新CVES。

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

随着脆弱性报告飙升,风河已经发现了两个非常有趣的东西。首先,漏洞的频率创造了一个无休止的移动目标,许多开发人员没有资源或根本无法解决,这使他们暴露于重大的业务风险。其次,CVES的性质不是黑白,但许多灰色色调。

结论

Wind River团队不断地扫描已知报告和新漏洞的冲击,并将它们与他们基于linux的发行版和产品中包含的特定组件进行比较。团队对漏洞进行分类、确定优先级并跟踪缓解行动,并简化修复。风河仪表盘提供亮点及其CVE监控和通知过程使客户能够通过CVE通知的洪水,并清楚地了解哪一个需要注意减轻的缓解,可以安全地忽略这一点。

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

想了解更多吗?请访问构建与购买网站或更多信息WindRiver®Linux.

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

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

以前的充满爱情有一个很好的戒指
下一个社交距离时代的无人系统与生活