3

NVIDIA 安全团队:如果我们停止使用 C 会怎样?

 1 year ago
source link: https://www.techug.com/post/nvidia-security-team-what-if-we-stop-using-c31a6dcdb782cf4f70253/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

整理 | 朱珂欣       责编 | 张红月

出品 | CSDN(ID:CSDNnews)

近日,在 AdaCore 上一篇关于 NVIDIA 正尝试使用 SPARK 语言取代 C 语言的案例研究,引发了大家关注。

本次案例研究聚焦于 NVIDIA 面对网络安全问题时存在的挑战,并尝试使用 SPARK 语言实现一些对安全较为敏感的应用程序或组件。同时,还说明了 NVIDIA 在关键组件开发中加大对 SPARK 的使用的方法,以及 NVIDIA 通过采用 SPARK 获得的好处及对潜在 SPARK 采用者的建议。

img1668051451819523690.png

图源:AdaCore 官网截图

安全性几乎无法通过测试来验证

NVIDIA 软件安全副总裁 Daniel Rohrer 曾坦言:“安全性是几乎无法通过测试来验证的。“随后,NVIDIA 安全团队开始寻找方案来应对日益恶劣的网络安全环境,并质疑过往的软件开发和验证策略,也意识到面向测试的软件验证,根本无法确保安全性。

Daniel Rohrer 还表示:“希望强调可证明性作为首选的验证方法,而不是测试。”

值得庆幸的是,可以从数学的角度,依托数学计算和形式证明代码的行为完全符合其规范,也因此使 NVIDIA 开始研究了 SPARK 。

从 C 转换为 SPARK 的原因:安全性和稳健性得到重大改进

SPARK 作为一种编程语言和一套验证工具,可以满足高保证软件开发的需求。SPARK 基于 Ada,既能对语言进行了子集化以删除无法验证的功能,又能扩展合同和方面的系统以支持模块化的形式验证。

早在 2018 年, NVIDIA 就进行了概念验证 (POC) 演习。在短短三个月内,两个安全级别较低的应用程序上实现了从 C 到 SPARK 的迁移。

在对投资回报评估后, NVIDIA 安全团队得出结论:伴随着培训、实验、新工具等新技术的提升,应用程序安全性和验证效率的也得到了提高。两个应用程序,在安全性和稳健性两个方面的重大改进。

由于 POC 的结果验证了最初的策略,SPARK 的使用也在 NVIDIA 内部迅速传播。现有的 50 名经过专业培养的开发人员在 SPARK 中实现了大量组件,许多 NVIDIA 产品现在都附带了 SPARK 组件。

网友:性能与 C 相比,没有看到任何性能差异?

然而,在 Hacker News 上,关于 NVIDIA 安全团队正尝试用 SPARK 语言取代 C 语言的案例,也引发了大家激烈的讨论:

  • “相信如果我们摆脱了 C 语言,所有软件安全问题都会得到解决”;

  • “有许多 C 语言开发人员会坚持认为他们已经获得了足够的经验,永远不会编写易受各种内存安全漏洞攻击的代码”;

  • “性能与 C 相比,我根本没有看到任何性能差异”。

未来,SPARK 还将给 NVIDIA 及其客戶提供哪些保证,我们拭目以待。

本文文字及图片出自 CSDN


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK