评估 权衡您正在考虑的技术,产品和项目的利弊。

二进制代码扫描仪,例如购买安全漏洞保险

在我上一篇文章中“如何解决物联网安全滴答序列炸弹,”我们研究了物联网设备和组件市场的预期增长,据波士顿咨询集团(Boston Consulting Group)报道,到2020年,这些市场预计将达到2670亿美元的销售额。我还强调了固件安全性漏洞,如果未解决,这些漏洞将大大损害IoT的采用和增长,这将严重损害IoT的采用和增长。。

回顾一下,内置在嵌入式零件和物联网设备中的大多数固件都使用开源软件组件。这些组件的较新版本没有安全漏洞。然而,从具有挑战性到OEM开发团队及其第三方软件供应商的不可能,可以准确有效地跟踪其代码中的所有开源软件组件,尤其是当他们的主要重点是专注于开发高阶系统时。

为什么?

因为大多数固件是外部采购的,或包含使用第三方供应商的代码开源代码组件。此外,第三方代码通常以二进制格式分配,而无需源代码。这几乎无法最初确定任何潜在的已知安全漏洞。随着更知名的安全漏洞进入运输固件,消费者,分销商或OEM发起的诉讼可能性很可能蓬勃发展。

鉴于漏洞是在固件中,并且代码通常以二进制格式采购,因此最有效,最具成本效益的方式是使用二进制代码扫描仪。根据Gartner的说法,如果您没有要分析的原始应用程序的源代码,对编译的二进制代码的分析很重要。将其视为购买已知的安全漏洞保险。

开发人员可以从中选择四种技术:静态代码分析仪和校验和基于指纹的二进制代码扫描仪。每个人都根据所需的工作提供价值。

为什么静态代码分析仪对二进制代码扫描不是最佳

有三种主要方法执行静态分析:对Java等解释语言的字节代码的检查,源代码的分析或对原始二进制文件的检查。

没有纯态二进制代码分析仪。静态代码分析仪旨在检查二进制代码首先拆卸二进制代码,然后分析重新配置的源代码,以实现常见编程错误。有趣的是,在包括美国在内的许多国家中,违反第三方法规的拆卸被解释为逆向工程,因此违反了知识产权法。

作为最佳实践,应将纯二进制代码扫描仪用作第一道防线,因为它们寻找已知的安全漏洞。

校验和基于指纹指纹的二进制代码扫描仪

一段时间以来,已使用校验和基于哈希的二进制代码扫描仪来查找已知的安全漏洞。尽管具有合理的功效,但它们受到最常用开源组件的预编译二进制文件的有限数据库的约束。

如今,有一些二进制代码扫描仪使用基于指纹的算法。他们检查了从二进制中提取的“指纹”,然后将其与从众多开源存储库中托管的开源成分收集的指纹进行比较。一旦通过此基于指纹的匹配确定了组件及其版本,就可以简单地找到与漏洞数据库中的组件相关的已知安全漏洞,例如国家脆弱性数据库(NVD)

基于指纹的扫描仪的另一个优点是,与校验和扫描仪相比,它们可以识别开源软件组件的修改版本的强大能力。此外,与校验和基于哈希的二进制扫描仪不同,基于指纹的扫描仪无需为不同的CPU架构保留单独的校验和哈希值数据库。与传统二进制代码扫描仪相比,这种能力大大提高了其灵活性和准确性。

指纹二进制代码扫描仪

OEM应该将两个基于指纹的二进制代码扫描仪视为针对安全漏洞的第一条和最佳防御线。第一个是二元分析工具(蝙蝠)。它已成功使用了六年多。

另一个是一种使用BAT背后的技术的市售软件和基于云的服务。有了它,开发人员和用户可以在其嵌入式应用程序和IoT设备中快速轻松地扫描开源软件,以识别超过180,000多个已知的安全漏洞,这些漏洞已在许多数据库中分类。这些漏洞数据库(包括NVD和VULNDB)每天都会更新。商业产品还增加了企业支持,二进制代码的“模糊匹配”以及对Jenkins等自动化构建系统的支持。

作为最佳实践,OEM应该开始检查固件漏洞使用基于指纹的扫描,然后在使用可选工具之前修补安全漏洞。如果组织面临财务或时间限制,则应将基于指纹的二进制代码扫描视为最低限度。

所有的物联网议程网络贡献者都负责其帖子的内容和准确性。意见是作家的,不一定会传达物联网议程的思想。

搜索CIO

搜索安全

搜索联网

搜索数据中心

搜索数据管理