您现在的位置是:电脑教程 >>正文
向内存安全语言迁移的五大挑战
电脑教程1815人已围观
简介近日,白宫国家网络主任办公室(ONCD)在题为《回归基础构件:通往安全软件之路》的报告中呼吁开发者放弃C、C++语言,转而使用“内存安全的编程语言”,例如Rust语言。传统编程语言C/C++虽然强大, ...
近日 ,向内白宫国家网络主任办公室(ONCD)在题为《回归基础构件:通往安全软件之路》的存安报告中呼吁开发者放弃C 、C++语言,全语转而使用“内存安全的言迁移编程语言” ,例如Rust语言。大挑

传统编程语言C/C++虽然强大,向内但一直饱受内存安全漏洞的存安困扰 。这些漏洞不仅复杂难懂 ,全语而且极易造成系统崩溃等严重后果。言迁移为了解决这一难题,大挑近年来内存安全语言逐渐兴起,向内并有望成为未来编程语言的存安主流 。
近日 ,香港云服务器全语helpnetsecurity采访了开源安全基金会(OpenSSF)的言迁移总经理Omkhar Arasaratnam,探讨了业界转向内存安全语言的大挑挑战与策略 ,内容整理如下:
内存安全语言的优势内存安全漏洞已经存在了半个多世纪。它本质上是将程序员从繁琐的内存管理工作中解脱出来。C/C++要求程序员手动分配和释放内存,这不仅复杂易错 ,还需要时刻追踪内存的使用情况,以免出现内存泄露等问题。而Java、Rust 、亿华云Python和JavaScript等现代语言则通过自动内存管理的方式 ,让程序员将精力集中在核心逻辑的编写上 ,避免陷入低级内存管理的泥潭。
在操作系统内核、系统编程等高危场景下,内存安全语言的优势尤为突出。操作系统内核拥有整个系统的最高权限 ,任何内存安全漏洞都可能导致系统崩溃甚至信息泄露。
尽管熟练的程序员可以使用C/C++等非内存安全语言避免内存漏洞,但现实情况并不乐观。高防服务器微软曾经统计过自家产品的漏洞 ,其中70%都与内存安全问题相关。谷歌针对安卓系统进行的类似研究也得到了相似的结论 :90%的安卓系统漏洞都与内存安全有关。
Go、Python 、Rust和Java等语言都是优秀的内存安全语言范例。其中 ,Rust有望成为Linux内核的第二个官方支持语言 。这将允许开发者用完全内存安全的源码库语言重写Linux内核的部分关键代码。
迁移的五大挑战向内存安全语言迁移并非易事,开发者和企业需要面对五大挑战:
开发者培训和认证滞后 :现有开发人员需要学习新语言 ,或者招聘熟悉内存安全语言的人才。同时,调试和构建系统也需要进行相应调整以支持新语言,相关的培训和认证服务相对滞后。硬件支持有限:C/C++等老牌语言可在几乎所有平台上运行 ,而Rust等新兴语言的硬件支持则相对有限。监管要求 :一些安全关键型系统有着严格的技术和安全需求,云计算在新语言缺乏相关认证的情况下 ,可能无法轻易迁移。潜在Bug :将老代码移植到新语言可能会引入新的Bug。即使是经验丰富的程序员,也可能因为重写过程中的细微差别导致程序运行结果与预期不符,从而产生线上故障 。部署阻力:关键基础设施系统内存安全代码的重新部署面临挑战 。迁移策略:安全优先用Rust重写所有现有代码显然并不现实 。OpenSSF建议开发者在开启新项目时优先考虑使用内存安全语言,同时将Rust应用于关键代码路径,源码下载例如身份验证、授权、加密以及处理网络或用户输入的部分。
虽然内存安全语言并非灵丹妙药 ,但却是提升代码安全性的重要一步。通过使用内存安全语言,程序员可以将更多精力放在核心逻辑的开发上 ,避免在低级内存管理上浪费时间和精力。
对于难以迁移的遗留代码 ,OpenSSF提供了《C/C++加固指南》 ,帮助开发者在不大幅改动既有代码库的情况下提升安全性。
需要注意的是 ,关键基础设施的工业控制系统通常难以通过企业网络进行更新 ,因此重新部署安全代码可能比重写本身更加耗时 。
OpenSSF鼓励社区在开始新项目时考虑使用Rust进行编写,并根据安全优先级将Rust用于关键代码路径(经常被滥用或攻击的部分 ,或者“皇冠上的宝石”的关键区域) ,例如从身份验证、授权、加密以及从网络或用户获取输入内容的代码。
内存安全语言的未来在某些关键领域 ,虽然新兴语言的安全性优势非常诱人,但贸然迁移反而会带来风险 。预计内存安全语言并不会在所有行业成为标准 ,一些对稳定性要求极高的领域出于谨慎考虑,可能会推迟采用内存安全语言 。
不过,从长远来看 ,使用内存安全语言来开发新项目具有普遍意义。例如 ,Alpha-Omega公司资助了用Rust开发的Rustls项目 ,旨在实现更安全的TLS和QUIC协议 。通过使用内存安全语言 ,业界可以避免类似于OpenSSL Heartbleed漏洞那样的安全事件 。
教育和认证是关键教育和培训是网络安全最强大的基础防线之一 。如今许多小学已经开始将Python作为编程语言入门课程 。OpenSSF希望未来能够尽早将Rust等其他内存安全语言引入基础教育。
此外,Rust基金会也提供了丰富的学习资源,例如备受好评的书籍《Rust编程语言》以及正在开发的培训和认证项目。通过积极的学习和社区协作,内存安全语言有望在未来发挥更大的作用 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/393f599601.html
相关文章
员工“删库跑路”,真能一走了之?
电脑教程在计算机行业,“删库跑路”流传已久,早已成为诸多程序员用来发泄工作压力的口头语。估计很难想到,魔幻照进了现实,真的有“傻大胆”敢为人先,企图删库跑路,一走了之。近期,原链家网北京)科技有限公司一韩姓员 ...
【电脑教程】
阅读更多特朗普签署文件,特赦暗网“丝绸之路”创始人
电脑教程重返白宫的“特朗普2.0”版本才上线两天,就在社交平台上标表示已经签署了对暗网“丝绸之路”创始人罗斯·乌尔布里希特Ross Ulbricht)的完全无条件赦免,兑现了他向加密货币社区和自由主义选民做出 ...
【电脑教程】
阅读更多涉嫌强迫用户共享数据,印度对Meta处以2500万美元罚款
电脑教程近日,印度竞争委员会已对社交媒体巨头 Meta 处以超过 2500 万美元的罚款,原因系该公司强迫 WhatsApp 用户同意与其他 Meta 平台全面共享数据。该委员会指责WhatsApp 于202 ...
【电脑教程】
阅读更多