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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    9

    文章

    3214

    瀏覽量

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

    關(guān)注

    22

    文章

    2124

    瀏覽量

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

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51695

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

    C語(yǔ)言特性

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

    請(qǐng)問(wèn)GPIO切換到I2C模式時(shí)如何使用施密特觸發(fā)器功能?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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