咨询邮箱 咨询邮箱:service@yitianxinda.com 咨询热线 咨询热线:400-668-3065 微博 微信
软件公司如何快速有效地识别软件漏洞_北京软件开发公司
发表日期:2023-06-14 15:47:03    文章编辑:北京软件开发    浏览次数:
对于软件开发公司来说几乎每个新程序代码都有错误,在最坏的情况下,这些错误可能会危及安全性。为了快速有效地检测它们,德国波鸿鲁尔大学 Horst Görtz IT 安全研究所的研究人员开发了一种名为 Fuzzware 的软件开发检测系统。它专门分析嵌入式系统,即可以在智能灯泡、智能恒温器和工业控制系统中找到的微型计算机,仅举几例。鲁尔大学的科学杂志《 鲁宾》发表了一篇关于他们工作的文章。
波鸿博士 学生 Tobias Scharnowski 在 Thorsten Holz 教授的指导下于 2022 年 8 月在美国举行的第 31 届 Usenix 安全研讨会上介绍了研究结果。他与加州大学圣巴巴拉分校和阿姆斯特丹自由大学的同事合作开展了这项研究。
故意让软件崩溃
该小组使用所谓的模糊测试来检测软件开发代码中的错误。Fuzzers 是一种算法,它向被测试的软件提供随机输入,并检查它们是否会使应用程序崩溃。这种崩溃表明编程错误。模糊器不断改变输入,以便逐步探索尽可能多的程序组件。
某些应用领域已经建立了模糊测试,例如测试 Windows 或 Linux 等操作系统。然而,它尚未被广泛用于测试嵌入式系统,因为它们带来了许多挑战:软件(即所谓的固件)嵌入到与其交互的硬件中。系统通常具有相对较少的内存和较慢的处理器。如果研究人员想直接在系统上进行模糊测试,这就是一个问题。尝试所有可能的输入并等待系统响应将花费太长时间。
硬件虚拟仿真
这就是团队不直接在工业控制单元或灯泡中分析固件的原因。相反,他们虚拟地重新创建硬件——这个过程称为仿真。仿真器使固件相信它在真实设备中。为此,它必须以与真实硬件完全相同的方式与程序交互。
为了加速该过程,研究人员通过缩小可能的输入范围,在模糊测试过程中增加了另一个步骤。首先,它们对输入必须位于其中的框架进行建模,以便对固件具有逻辑性。例如:如果硬件是带有温度传感器的冰箱,则冰箱硬件可以将测量到的温度报告给冰箱的软件,即它的固件。实际上,任何给定的温度都不可能发生,它必须落在某个范围内。因此,固件仅针对特定温度范围进行编程。它根本无法处理其他值,因此无需对它们进行模糊测试。
有限的输入有助于高效分析
波鸿团队与来自圣巴巴拉和阿姆斯特丹的同事一起,使用 Fuzzware 测试了 77 个固件。与传统的模糊测试方法相比,他们筛选出了高达 95.5% 的所有可能输入。
这使得 Fuzzware 能够在相同时间内检查比传统方法多三倍的程序代码。在此过程中,该小组还发现了其他模糊测试方法未检测到的其他漏洞。
相关文章推荐
通过与北京软件公司​合作,企业可以获得所需的熟练开发人员,以加速创新和发展。北京软件公司 可以通过提供成熟的开发人员和定制解决方案来帮助企业弥补开发人员短缺的差距并实现业务增长。...
企业级软件或应用程序已经发展到几乎所有组织和企业都依赖它来保持市场竞争力的程度。无论您是需要跟踪捐赠者的非营利组织还是寻求更好的库存管理的汽车经销商,都没关系。移动企业应用程序为公司提供了前所未有的灵活性和功能。...
优秀的软件开发技术设施和具有丰富开发知识的高水平专家似乎对于软件开发项目的成功至关重要。...
对于软件开发公司来说几乎每个新程序代码都有错误,在最坏的情况下,这些错误可能会危及安全性...
北京软件开发公司对软件错误检测的研究促使软件开发工程师开发了一种方法——它就像两个说自己语言的朋友一样——来加强对电子邮件和社交媒体消息等数字内容的保护。...
工业控制系统 (ICS) 解决方案需要新的架构,并且需要更适应不断变化的环境的理念。重点介绍了六种方法: 学习目标 工业 4.0 时代的工业控制解决方案需要新的架构和理念。 由于工业...