91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NSA:建議從C/C++切換到內(nèi)存安全語言

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-11-14 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

美國國家安全局(NSA)發(fā)布了一份指南,旨在幫助軟件開發(fā)商和運營商預(yù)防和緩解軟件內(nèi)存安全問題。其鼓勵組織將編程語言從 C 和 C++ 之類的語言轉(zhuǎn)變?yōu)閮?nèi)存安全的替代語言 —— 即 C#、Rust、Go、Java、Ruby 或 Swift,以保護(hù)代碼免受遠(yuǎn)程代碼執(zhí)行或其他黑客攻擊。

“NSA 建議企業(yè)盡可能使用內(nèi)存安全語言,并通過編譯器選項、工具選項和操作系統(tǒng)配置等代碼強(qiáng)化防御措施加強(qiáng)保護(hù)?!?/p>

361e566a-6357-11ed-8abf-dac502259ad0.jpg

NSA 方面表示,內(nèi)存安全問題在可利用的漏洞中占比很大。并引用了微軟的數(shù)據(jù)指出,該公司從 2006 年到 2018 年 70% 的漏洞是由于內(nèi)存安全問題造成的;谷歌的 Chrome 在幾年內(nèi)也發(fā)現(xiàn)了類似比例的內(nèi)存安全漏洞。

該組織認(rèn)為,惡意的網(wǎng)絡(luò)行為者會利用不良的內(nèi)存管理問題來訪問敏感信息、頒布未經(jīng)授權(quán)的代碼執(zhí)行、以及造成其他負(fù)面影響,而這些通常會危及設(shè)備并成為大規(guī)模網(wǎng)絡(luò)入侵的第一步。

“常用的語言,如 C 和 C++,在內(nèi)存管理方面提供了很大的自由度和靈活性,同時嚴(yán)重依賴程序員對內(nèi)存引用執(zhí)行所需的檢查,簡單的錯誤就可能會導(dǎo)致可利用的基于內(nèi)存的漏洞。軟件分析工具可以檢測到許多內(nèi)存管理問題的實例,操作環(huán)境選項也可以提供一些保護(hù),但內(nèi)存安全軟件語言所提供的固有保護(hù)可以防止或減輕大多數(shù)內(nèi)存管理問題。

NSA 建議在可能的情況下使用內(nèi)存安全語言。雖然使用非內(nèi)存安全語言的附加保護(hù)措施和使用內(nèi)存安全語言并不能對可利用的內(nèi)存問題提供絕對的保護(hù),但它們確實提供了相當(dāng)?shù)谋Wo(hù)。因此,私營部門、學(xué)術(shù)界和美國政府的總體軟件界已經(jīng)開始倡議,推動軟件開發(fā)文化向使用內(nèi)存安全語言發(fā)展?!?/p>

不過 NSA 也指出,“內(nèi)存安全” 有點用詞不當(dāng),且這個概念也是相對的。并警告稱,即使使用內(nèi)存安全語言,內(nèi)存管理也不完全是內(nèi)存安全的。

“大多數(shù)內(nèi)存安全語言承認(rèn),軟件有時需要執(zhí)行不安全的內(nèi)存管理功能來完成某些任務(wù)。因此,有一些類或函數(shù)被認(rèn)為是非內(nèi)存安全的,并允許程序員執(zhí)行可能不安全的內(nèi)存管理任務(wù)。某些語言要求對任何內(nèi)存不安全的內(nèi)容進(jìn)行明確的注釋,以使程序員和程序的任何審查者意識到它是不安全的。內(nèi)存安全語言還可以使用以非內(nèi)存安全語言編寫的庫,因此可以包含不安全的內(nèi)存功能。盡管這些包含內(nèi)存不安全機(jī)制的方法顛覆了固有的內(nèi)存安全性,但它們有助于定位可能存在內(nèi)存問題的位置,從而可以對這些代碼部分進(jìn)行額外的審查?!?/p>

另一方面,一些內(nèi)存安全語言可能會以性能為代價。此外,學(xué)習(xí)一門新的語言也并不容易;譬如,Rust 雖然功能強(qiáng)大,但學(xué)習(xí)曲線相當(dāng)陡峭。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3211

    瀏覽量

    76383
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77143
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51657

原文標(biāo)題:NSA:建議從 C/C++ 切換到內(nèi)存安全語言

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標(biāo)準(zhǔn)對比與Perforce QAC應(yīng)用詳解

    如何編寫真正安全C語言代碼?指南涵蓋MISRA C、CERT、CWE等國際安全編碼標(biāo)準(zhǔn)對比,以及如何借助Perforce QAC自動檢測漏
    的頭像 發(fā)表于 01-26 17:38 ?819次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>安全</b>編碼指南:MISRA <b class='flag-5'>C</b>、CERT <b class='flag-5'>C</b>、CWE 與 <b class='flag-5'>C</b> Secure 標(biāo)準(zhǔn)對比與Perforce QAC應(yīng)用詳解

    汽車網(wǎng)絡(luò)安全開發(fā)語言選型指南:C/C++/Rust/Java等主流語言對比+Perforce QAC/Klocwork工具支持

    汽車網(wǎng)絡(luò)安全如何選編程語言?CC++、Rust、Java……誰更適合AUTOSAR、ISO/SAE 21434?一文了解8種主流語言的優(yōu)劣
    的頭像 發(fā)表于 12-26 11:13 ?442次閱讀
    汽車網(wǎng)絡(luò)<b class='flag-5'>安全</b>開發(fā)<b class='flag-5'>語言</b>選型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>/Rust/Java等主流<b class='flag-5'>語言</b>對比+Perforce QAC/Klocwork工具支持

    C語言C++的區(qū)別及聯(lián)系

    C語言C++到底是什么關(guān)系? 首先C++C語言本來就是兩種不同的編程
    發(fā)表于 12-24 07:23

    CC++之間的聯(lián)系

    ,后來才逐漸演變?yōu)橐环N成熟的面向?qū)ο缶幊?b class='flag-5'>語言。 總之,C語言C++雖然有很多共同之處,但在編程范式、安全性、抽象層次等方面存在顯著差異。開
    發(fā)表于 12-11 06:51

    C語言C++之間的區(qū)別是什么

    區(qū)別 1、面向?qū)ο缶幊?(OOP): C語言是一種面向過程的語言,它強(qiáng)調(diào)的是通過函數(shù)將任務(wù)分解為一系列步驟進(jìn)行執(zhí)行。 C++C
    發(fā)表于 12-11 06:23

    C語言特性

    存儲和處理方式,提高系統(tǒng)的運行效率。 4、豐富的開發(fā)工具與社區(qū)支持 在嵌入式開發(fā)領(lǐng)域,大部分的開發(fā)工具都對 C/C++ 語言提供了良好的支持。經(jīng)典的 Keil、IAR,到開源的
    發(fā)表于 11-24 07:01

    請問GPIO切換到I2C模式時如何使用施密特觸發(fā)器功能?

    GPIO切換到I2C模式時如何使用施密特觸發(fā)器功能?
    發(fā)表于 08-29 08:16

    GPIO切換到I2C模式時如何使用施密特觸發(fā)器功能?

    GPIO切換到I2C模式時如何使用施密特觸發(fā)器功能?
    發(fā)表于 08-27 09:33

    GPIO切換到I,C模式時如何使用施密特觸發(fā)器功能?

    GPIO切換到I?C模式時如何使用施密特觸發(fā)器功能?
    發(fā)表于 08-22 08:19

    APROM 切換到 LDROM 以執(zhí)行程序更新或 LDRO 切換時,應(yīng)使用什么軟件重置?

    APROM 切換到 LDROM 以執(zhí)行程序更新或 LDRO 切換時,應(yīng)使用什么軟件重置
    發(fā)表于 08-22 07:46

    靈活高效ZBUFF — C內(nèi)存數(shù)據(jù)操作庫:優(yōu)化內(nèi)存管理的利器

    C語言開發(fā)中,高效的內(nèi)存管理是提升程序性能的關(guān)鍵。ZBUFF作為一款靈活高效的內(nèi)存數(shù)據(jù)操作庫,通過優(yōu)化內(nèi)存分配與釋放機(jī)制,為開發(fā)者提供了更
    的頭像 發(fā)表于 08-14 18:01 ?697次閱讀
    靈活高效ZBUFF — <b class='flag-5'>C</b><b class='flag-5'>內(nèi)存</b>數(shù)據(jù)操作庫:優(yōu)化<b class='flag-5'>內(nèi)存</b>管理的利器

    靈活高效雙引擎驅(qū)動:ZBUFF讓C語言內(nèi)存操作更智能!

    高性能系統(tǒng)。 一、ZBUFF核心庫常用函數(shù) 如果小伙伴們此前沒有接觸過C語言或者不精通C語言,把ZBUFF核心庫當(dāng)成新庫來學(xué)習(xí)即可,建議先從
    的頭像 發(fā)表于 08-11 13:27 ?595次閱讀
    靈活高效雙引擎驅(qū)動:ZBUFF讓<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>內(nèi)存</b>操作更智能!

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項目中同樣廣受歡迎且功能強(qiáng)大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發(fā)表于 07-24 15:32 ?956次閱讀
    <b class='flag-5'>C++</b> 與 Python:樹莓派上哪種<b class='flag-5'>語言</b>更優(yōu)?

    在通話中VoWiFi切換到VoLTE時掉話的故障分析

    某運營商VoWiFi業(yè)務(wù),用戶在通話中先從VoLTE切換到VoWiFi,再從VoWiFi切換到VoLTE時掉話。
    的頭像 發(fā)表于 05-23 10:09 ?1061次閱讀
    在通話中<b class='flag-5'>從</b>VoWiFi<b class='flag-5'>切換到</b>VoLTE時掉話的故障分析

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩
    的頭像 發(fā)表于 05-21 10:33 ?1056次閱讀
    主流的 MCU 開發(fā)<b class='flag-5'>語言</b>為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?