C++創始人回敬白宮安全警告


在美國政府的安全建議,包括替換C++等語言的報告後,C++創始人BjarneStroustrup近日表示,拜登政府忽視當代C++的優勢以及為提供強有力的安全保證所做的努力。


C++ 創始人 Bjarne Stroustrup 為這種已經廣泛使用的編程語言進行辯護,回應拜登政府的發佈的語言安全報告,這份報告呼籲開發人員使用內存安全語言,並避免使用C++和C等易受攻擊的編程語言。

就在 3 月 15 日,在對技術媒體的訪談回復中,Stroustrup 指出 1979 年設計的 C++ 的優勢,包括安全保證。

Stroustrup 說:“在某一方面,他們似乎已經意識到編程語言隻是工具鏈的一部分,因此改進的工具和開發流程至關重要。”

Stroustrup 還強調,安全性改進始終是 C++ 開發工作的目標。

“從第一天起以及整個發展過程中,提高安全性一直是 C++ 的目標。人們隻要將K&R C語言與最早的C++,拿早期的C++與當代的C++進行比較即可。

他還在CppCon 2023 主題演講中描述這一演變:“許多高質量的 C++ 都是使用基於 RAII(資源獲取初始化)、容器與資源管理指針等技術編寫,而不是傳統的 C 風格的混亂指針。”

美國白宮在2 月 26 日發佈的報告中,呼籲開發人員通過使用不存在內存安全漏洞的編程語言來降低網絡攻擊的風險。報告中未明確指明,但C++ 和 C 被認為是存在內存安全漏洞的語言的兩個典型。

美國國傢安全局 (NSA)於 2022 年 11 月發佈網絡安全信息表,已經將 C#、Go、Java、Python 和 Rust 列為被認為內存安全的語言。

美國國傢安全局 (NSA) 的技術總監尼爾·齊林 (Neal Ziring)一直在投一些"真相炸彈":

“內存管理問題已經被利用幾十年,並且在今天仍然非常普遍”。類似於如下代碼:

int main() {int *memory;

// Allocate 200 ints.memory = malloc(200 * sizeof(int));

// Allocate 100 more ints.// ERROR: This will compile, but will leave the previously// allocated memory hanging, with no way to access it.memory = malloc(100 * sizeof(int));

// Free second block of 100 ints.// The first block is not freed.free(memory);

return 0;}

malloc函數的功能是分配內存。第一次使用時分配的內存永遠不會被釋放。

如果像這樣不斷分配內存且從不釋放,則攻擊者可能能夠使用它來對軟件執行拒絕服務攻擊,導致服務器的內存不足。

在面臨這樣的安全報告,Stroustrup 列舉許多提高 C++ 在安全性方面的努力。

“事實上存在兩個與安全相關的問題。在數十億行 C++ 代碼中,很少有完全遵循現代準則的,而且人們對安全的某些重要方面的看法也不盡相同。我和 C++ 標準委員會正在努力解決這個問題。”

Stroustrup說:

“配置文件是一個框架,用來指定一段代碼需要什麼保證,並啟用實現來驗證它們。在C++委員會網站上有描述這一點的文件(關鍵字:WG21),並且還會有更多文件的可以查閱。但是,我們中的一些人沒有心情等待委員會有一些緩慢的進展。”

Stroustrup 還表示,“Profiles 是一個框架,它允許我們逐步改進質量與安全保證。例如,相對較快地消除大多數范圍錯誤,並通過本地靜態分析和最少的運行時檢查,逐步將安全保證引入大型代碼庫。我對 C++ 的長期目標是,讓 C++ 在需要的時間和地點提供類型和資源安全性。也許當前對內存安全的推動是我想要保證的一個子集,也將證明我的努力將會有幫助,C++ 標準委員會的許多合作夥伴也認同這一點。”

Stroustrup此前針對 NSA 捍衛 C++ 的安全性表示贊賞,但之後 NSA 在2022 年 11 月的公告中,建議開發者使用內存安全語言,而不是 C++ 和 C。

內存安全且能自動管理內存的編程語言,眾所周知的有:C#、Go、Java、Ruby、Rust 和 Swift等。


相關推薦

2022-07-02

白宮周五表示,已故蘋果公司聯合創始人史蒂夫-喬佈斯將被追授總統自由勛章,這是美國的最高平民榮譽。喬-拜登總統7月1日宣佈瞭17名總統自由勛章獲得者,名單中包括2011年去世的蘋果公司聯合創始人。這些獎項將於7月7日在

2022-11-12

美國國傢安全局(NSA)正在敦促開發人員轉向內存安全語言--如C#、Go、Java、Ruby、Rust和Swift--以保護他們的代碼免受遠程代碼執行或其他黑客攻擊。在上述語言中,Java是企業和Android應用開發中使用最廣泛的語言,而Swift是排名前

2024-04-12

太陽微系統公司(SunMicrosystems)聯合創始人維諾德-科斯拉(VinodKhosla)也加入支持美國政府試圖迫使字節跳動公司對TikTok進行多樣化改造的行列。這位OpenAI的支持者在談到這個流行的短視頻平臺時毫不諱言,指出外國對手可能會

2024-03-21

業正成為"破壞性網絡攻擊"的目標。白宮和環境保護局(EPA)在周二發給美國各州州長的一封信中提到來自與伊朗和中國政府有關聯的黑客的持續威脅,並警告說類似的攻擊可能會破壞清潔飲用水的獲取,並&a

2023-10-30

供有關生成式人工智能的標準方面向前邁出一步。Credo AI創始人、國傢人工智能咨詢委員會成員納夫裡娜-辛格(Navrina Singh)說,行政命令是一個強烈的信號,表明美國對生成式人工智能是重視的。辛格說:"這是目前最正確

2023-04-06

博諾特警告說,上周特斯拉首席執行官馬斯克和蘋果聯合創始人沃茲尼亞克等科技名人對人工智能所做出的可怕預測與國會立法者應該采取的措施之間存在巨大鴻溝。馬斯克在內的1000多名科技領袖和研究人員在上周的一封公開

2022-07-07

日起宣傳解散,並更名為弘客聯盟。聲明稱,原紅客聯盟創始人林勇將紅客商業化,招集原紅客成員洽談合作,因志不同道不合,紅客聯盟拒絕合作,遭林勇以紅客聯盟創始人身份以打假為由,惡意造謠,煽動是非,引起紅客粉

2023-01-29

能力。該法案被視為加密貨幣交易所的福音,是失寵的FTX創始人山姆-班克曼-弗裡德(Sam Bankman-Fried)的寵物政治項目,在法案公佈的幾個月裡,他花數千萬美元的政治捐款,並在華盛頓花大量時間。班克曼-弗裡德向一個組織捐贈50

2023-11-29

沒有適應電動車技術。公開信簽署者之一的名人汽車集團創始人Tom Maoli進一步解釋,白宮實施的強制措施是想迫使消費者購買他們不想要的東西。然而,由於國會不會通過強制消費者購買電動車的法規,白宮另辟蹊徑,通過交通

2023-03-20

為新一代職場女性提供人才發展加速器服務的公司。聯合創始人雷切爾·貝洛(Rachel Bellow)解釋說:“這種調整經常發生,公司常常會利用經濟低迷的借口裁員。”“如果我們看看過去24個月的招聘和解雇數據,我們會發現Meta、

2022-07-04

亞馬遜公司創始人傑夫貝索斯批評瞭美國總統喬拜登的一條推文,呼籲石油公司高管降低汽油價格。貝索斯正在回應拜登對經營加油站和為消費者定價的公司的批評。“這是一個沖突和全球危險的時期,”總統周六在推特上寫道

2024-02-06

無縫互操作性將加速更廣泛的社區采用,從而與提高內存安全性的行業目標保持一致。該計劃的第一項工作將是起草一份工作范圍建議書,以便與利益相關者就互操作性推進工作的重點展開討論。這筆資金很可能將用於圍繞構建

2022-07-08

據MacRumors報道,已故蘋果公司聯合創始人、前CEO史蒂夫·喬佈斯周四被美國總統喬·拜登追授總統自由勛章。白宮在本周早些時候宣佈獲獎者時說,喬佈斯的發明改變世界通信的方式。史蒂夫·喬佈斯(2011年去世)是蘋果公司的

2024-02-29

擁有“古老”歷史的C和C++語言正在成為棄兒,因為安全問題,微軟已經嘗試在Rust重新編寫WindowsNT內核中的某些組件,谷歌和CloudFlare等也在提高Rust的使用率。為什麼大型科技公司都關註 Rust 呢?因為相對來說,Rust 安全性更高,