一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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)營商預(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)存安全語言,并通過編譯器選項(xiàng)、工具選項(xiàng)和操作系統(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)存管理問題的實(shí)例,操作環(huán)境選項(xiàng)也可以提供一些保護(hù),但內(nèi)存安全軟件語言所提供的固有保護(hù)可以防止或減輕大多數(shù)內(nèi)存管理問題。

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

不過 NSA 也指出,“內(nèi)存安全” 有點(diǎn)用詞不當(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)行額外的審查。”

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

審核編輯 :李倩

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

    關(guān)注

    8

    文章

    3102

    瀏覽量

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

    關(guān)注

    22

    文章

    2116

    瀏覽量

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

    關(guān)注

    1

    文章

    1653

    瀏覽量

    49751

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

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

收藏 人收藏

    評論

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

    源代碼加密、源代碼防泄漏c/c++與git服務(wù)器開發(fā)環(huán)境

    源代碼加密對于很多研發(fā)性單位來說是至關(guān)重要的,當(dāng)然每家企業(yè)的業(yè)務(wù)需求不同所用的開發(fā)環(huán)境及開發(fā)語言也不盡相同,今天主要來講一下c++及git開發(fā)環(huán)境的源代碼防泄密保護(hù)方案。企業(yè)源代碼泄密場景一、在很多
    的頭像 發(fā)表于 02-12 15:26 ?400次閱讀
    源代碼加密、源代碼防泄漏<b class='flag-5'>c</b>/<b class='flag-5'>c++</b>與git服務(wù)器開發(fā)環(huán)境

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應(yīng)用程序中。Spire.XLS for C++ 提供了一個對象模型 Excel
    的頭像 發(fā)表于 01-14 09:40 ?462次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    EE-128:C語言中的DSP:C調(diào)用匯編類成員函數(shù)

    電子發(fā)燒友網(wǎng)站提供《EE-128:C語言中的DSP:C調(diào)用匯編類成員函數(shù).pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:48 ?0次下載
    EE-128:<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的DSP:<b class='flag-5'>從</b><b class='flag-5'>C</b>調(diào)用匯編類成員函數(shù)

    AKI跨語言調(diào)用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    /C++代碼快速遷移至HarmonyOS NEXT。憑借卓越的兼容性,AKI已成為廠商與開發(fā)者打造鴻蒙原生應(yīng)用過程中廣泛使用的跨語言調(diào)用解決方案。 AKI是一款專為鴻蒙原生開發(fā)設(shè)計(jì)的FFI(外部函數(shù)接口
    發(fā)表于 01-02 17:08

    同樣是函數(shù),在CC++中有什么區(qū)別

    同樣是函數(shù),在 CC++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會默認(rèn)為返回 int。 但是 C++
    的頭像 發(fā)表于 11-29 10:25 ?720次閱讀

    C語言中申請的堆內(nèi)存能不能自動釋放

    C語言中申請的堆內(nèi)存能不能自動釋放?每次都要手動 free 太麻煩,也容易忘記。 學(xué)過 C++ 的同學(xué),應(yīng)該首先能想到智能指針。 但是這是C
    的頭像 發(fā)表于 11-27 09:33 ?412次閱讀

    C語言指針學(xué)習(xí)筆記

    本文底層內(nèi)存分析,徹底讓讀者明白C語言指針的本質(zhì)。
    的頭像 發(fā)表于 11-05 17:40 ?527次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>指針學(xué)習(xí)筆記

    C語言C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?588次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    C語言與Java語言的對比

    C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢和特點(diǎn),適用于不同的應(yīng)用場景。以下將從語法特性、內(nèi)存管理、跨平臺性、性能、應(yīng)用領(lǐng)域等多個方面對
    的頭像 發(fā)表于 10-29 17:31 ?841次閱讀

    如何模擬輸入設(shè)備切換到數(shù)字輸入設(shè)備

    電子發(fā)燒友網(wǎng)站提供《如何模擬輸入設(shè)備切換到數(shù)字輸入設(shè)備.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 10:41 ?0次下載
    如何<b class='flag-5'>從</b>模擬輸入設(shè)備<b class='flag-5'>切換到</b>數(shù)字輸入設(shè)備

    何時切換到集成負(fù)載開關(guān)

    電子發(fā)燒友網(wǎng)站提供《何時切換到集成負(fù)載開關(guān).pdf》資料免費(fèi)下載
    發(fā)表于 09-25 10:10 ?0次下載
    何時<b class='flag-5'>切換到</b>集成負(fù)載開關(guān)

    C++語言基礎(chǔ)知識

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識.pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?8次下載

    C++中實(shí)現(xiàn)類似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開始學(xué)習(xí)C++,有時候會面臨一個常見問題,就是如何向下轉(zhuǎn)型,特別是不知道具體類型的時候,這個時候就希望C++ 可以向Java或者Python中有instanceof這個
    的頭像 發(fā)表于 07-18 10:16 ?805次閱讀
    <b class='flag-5'>C++</b>中實(shí)現(xiàn)類似instanceof的方法

    SEGGER編譯器優(yōu)化和安全技術(shù)介紹 支持最新CC++語言

    SEGGER編譯器是專門為ARM和RISC-V微控制器設(shè)計(jì)的優(yōu)化C/C++編譯器。它建立在強(qiáng)大的Clang前端上,支持最新的CC++語言
    的頭像 發(fā)表于 06-04 15:31 ?1785次閱讀
    SEGGER編譯器優(yōu)化和<b class='flag-5'>安全</b>技術(shù)介紹 支持最新<b class='flag-5'>C</b>和<b class='flag-5'>C++</b><b class='flag-5'>語言</b>