temp
temp-thumb

微軟開源了一個更安全的 C 語言版本:Checked C

微軟開源了 Checked C[1] ,這是一個 C 語言的擴展版本,可以用於解決 C 語言中的一系列安全相關的隱患。正如其名字所示,Checked C 為 C 語言增加了檢查。這個檢查可以幫助開發者檢查常見的編程錯誤,比如緩存區侵占buffer overruns、內存訪問越界、不正確的類型轉換等。這些編程錯誤往往是造成許多重大安全漏洞的根本原因,比如破殼漏洞Shellshock、心髒出血漏洞Heartbleed、沙蟲Sandworm等。


Checked C 通過修改如何控制指針來解決這些問題,指針被進程員們用來定義他們的代碼所操作的內存地址。

當指針數量一多,指針控制就往往容易忙中出亂。項目越大,跟蹤它們就越困難。類似 Chromium、Firefox、Office、OpenSSL 以及其它的大型代碼庫在這方面都存在這樣的問題,你可以從它們的變更日志中看到大量的這類問題修復。

“Checked C 允許進程員更好的描述他們想要如何使用指針,以及指針應該指向的內存範圍”,微軟說[2],“這個信息可以用於在運行時環境中添加檢測,以偵測錯誤的數據訪問,而不是讓錯誤悄悄的發生而無所察覺。”

Checked C 給 C 語言添加了邊界檢查

Checked C 也將允許開發者檢測到他們以為 C 語言有、而實際卻沒有的功能誤用。按編程的說法來說,這個叫做“邊界檢查bounds checking”的功能,用於檢查變量/指針是否在它的範圍之內賦值。


Published on 2016-06-20 09:47:44
(文章來自) Article From: http://www.powerapple.com/news/chan-jing-ke-ji/2016/6/20/2675660.html