偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

微軟IT故障提醒:RUST比C/C++更好

開發(fā) 前端
微軟在 Rust 工具上花費了大約 1000 萬美元,Azure 是首要目標。該公司還希望建立一個 Rust 的長期支持版本,類似于Linux 操作系統(tǒng)。

基于 Rust 的系統(tǒng)能否避免上周 CrowdStrike 的災難?

譯自Microsoft’s IT Outage Reminder: Rust Is Better Than C/C++,作者 Agam Shah。

上周,全球范圍內的 Windows 系統(tǒng)都出現(xiàn)了藍屏死機 (BSOD),原因是安全供應商 CrowdStrike 提供的錯誤配置更新。

這次故障被一些人稱為世界上最嚴重的故障,它癱瘓了關鍵基礎設施。然而,微軟的一位官員在周末也提醒開發(fā)人員注意更好的編碼實踐,以提高系統(tǒng)可靠性,降低系統(tǒng)崩潰和藍屏死機的可能性。

微軟Azure 的 CTOMark Russinovich表示,開發(fā)人員應該逐步棄用 C/C++,轉而使用內存安全的 Rust 語言,以減少系統(tǒng)崩潰和藍屏死機。當然,這條推文與 CrowdStrike 的錯誤更新沒有直接關系。

周六,Russinovich轉發(fā)了一條 2022 年的推文,內容是:“是時候停止啟動任何新的 C/C++ 項目,并在需要非 GC 語言的場景中使用 Rust。為了安全性和可靠性,行業(yè)應該宣布這些語言已過時?!?/p>

空指針

藍屏死機的原因有很多,包括 Windows 中的內存錯誤、驅動程序問題和進程問題,這些問題都依賴于用 C/C++ 編寫的內核。前 Google 員工Zack Vorhies表示,這次故障是由于 C/C++ 代碼錯誤造成的,但這一說法被 Google 研究員Tavis Ormandy駁斥了。

Vorhies將大規(guī)模故障歸咎于空指針,即代碼中指向無效內存位置的一行代碼,他將其描述為“來自內存不安全的 C++ 語言的空指針”。

Ormandy 駁斥了 Vorhies 的說法,CrowdStrike 表示:“這與通道文件 291 或任何其他通道文件中包含的空字節(jié)無關?!?/p>

支持 Rust

微軟多年來一直支持 Rust,但在內部,代碼遷移仍在進行中。該公司意識到,從 C/C++ 切換不可能在一夜之間完成。

“我們正在努力。Azure 中已經有很多 Rust 代碼,Windows 中也有一些 Rust 代碼,”Russinovich 在最近的一條推文中說。

對 Rust 的采用是循序漸進的;第一步是創(chuàng)建原型應用程序,以證明 Rust 代碼可以與 Windows 協(xié)同工作。微軟還將保護系統(tǒng)硬件的周邊應用程序遷移到 Rust。

UEFI 固件

微軟正在圍繞 Rust 創(chuàng)建其 Surface 硬件的安全啟動模塊。UEFI(統(tǒng)一可擴展固件接口)包含將系統(tǒng)從啟動引導到 Windows 操作系統(tǒng)的固件代碼。UEFI 代碼通常位于主板上,并在計算機開機時訪問。

UEFI 固件加載到內存中,Rust 提供內存安全機制,以防止系統(tǒng)崩潰或被利用。許多硬件漏洞和安全問題都起源于計算機內存內部。

美國政府的主要技術安全機構網(wǎng)絡安全基礎設施和安全局 (CISA)在 12 月呼吁公司切換到內存安全技術。

“除了 C/C++ 之外,大多數(shù)現(xiàn)代編程語言已經是內存安全的。內存安全的編程語言管理計算機的內存,因此程序員無法引入內存安全漏洞,”CISA 在咨詢說明中說。

Rust 保護 PC

微軟正在使用圍繞 Rust 構建的安全性和固件來保護其自有硬件,微軟企業(yè)和操作系統(tǒng)安全副總裁Dave Weston在一次采訪中說。

該公司的 Secured-core 計劃包括為 Surface 和 Windows PC 提供穩(wěn)定且安全的啟動環(huán)境。該公司已將許多固件組件從 C 遷移到 Rust,這提高了系統(tǒng)穩(wěn)定性,并降低了系統(tǒng)暴露于黑客攻擊的漏洞的可能性。微軟還為其名為 Pluton 的安全處理器創(chuàng)建了一個完全用 Rust 編寫的實時操作系統(tǒng)。Pluton 包含一個可信平臺模塊 (TPM),用于存儲生物識別數(shù)據(jù)等關鍵安全信息。

“微軟致力于通過設計使更多事物變得安全。這是擁有我們自己的安全處理器而不是等待行業(yè)發(fā)展帶來的優(yōu)勢之一。我們將轉向 Rust……它在該領域比傳統(tǒng)原生語言具有巨大優(yōu)勢,”韋斯頓說。

內存泄漏一直是 TPM 的主要問題。QuarksLab去年指出了 TPM 2.0 代碼中的兩個漏洞,這些漏洞將內存暴露給越界讀寫,可能將關鍵信息暴露給虛擬化環(huán)境中黑客的攻擊。像 Rust 這樣的內存安全語言可以幫助防止此類問題。

微軟與 Rust 的歷史

大約十年前,Mozilla 推出了一個包含 Rust 組件的 Firefox 瀏覽器,現(xiàn)在越來越多的程序員正在采用它。其他內存安全語言包括Golang,Java,C#, Swift 和Python.

微軟進行了兩次實驗來檢查 Rust 在可行性和性能方面的可行性。Win32K 通常是頻繁攻擊的常見選擇,因為它提供了一種方便的特權提升攻擊。

“我們從 Rust 最能提供安全價值的地方開始,”韋斯頓在2020 年 6 月的播客中說。

第一個是字體解析器,它在瀏覽器或 Office 客戶端中創(chuàng)建了遠程攻擊面。將他們的現(xiàn)代 Web 應用程序 SDK 字體解析器 DirectWrite 轉換為 Rust 花費了 2 到 3 個月的時間。

“大約花了兩個到三個月的時間,由兩名開發(fā)人員完成。有趣的是,性能實際上得到了提升,”韋斯頓在播客中說。

第二個實驗涉及 Win32k 中的一些圖形設備接口 (GDI) 表面,Win32k 是一個最初設計于 1980 年代后期的內部圖形組件。微軟不想重寫整個代碼,因此它嘗試將 Win32k 的各個組件切片出來以用 Rust 實現(xiàn)。實驗成功完成,Rust 組件現(xiàn)在與 Windows 一起發(fā)布。

“這尤其重要,因為 Microsoft Windows 是用 Visual C++ 編譯器或 C 編譯器編譯的,而 Rust 的后端實際上是 LLVM [低級虛擬機],”韋斯頓說。

Azure 中的 Rust

微軟還在 Azure 中廣泛實施 Rust。

該公司正在實施一個用 Rust 編寫的虛擬機管理器,它將管理 Azure 中的 Hyper-V。

Rust 也正在 Azure Boost 中實施,韋斯頓稱之為“Azure 的未來架構”。

“這就是我們將 Azure 主機的更多性能方面卸載到智能網(wǎng)卡和/或 FPGA 等專用卡上的地方,用于存儲,”韋斯頓說。

微軟在 Rust 工具上花費了大約 1000 萬美元,Azure 是首要目標。該公司還希望建立一個 Rust 的長期支持版本,類似于Linux 操作系統(tǒng)。

責任編輯:武曉燕 來源: 云云眾生s
相關推薦

2010-01-15 16:25:48

學習C++

2010-01-15 19:28:59

C++

2024-02-26 07:26:27

RustC++開發(fā)

2020-09-03 07:17:28

Rus微軟C++

2010-01-13 18:44:03

C++編譯

2010-01-15 18:06:20

C++引用

2010-01-28 15:31:34

學習C++語言

2010-01-26 10:01:17

學習C++

2022-10-21 18:41:23

RustC++Azure

2010-01-11 14:05:01

C++學習方法

2023-09-26 19:17:01

項目Windows操作系統(tǒng)

2010-01-08 17:13:46

Visual C++環(huán)

2010-01-20 17:32:16

C++函數(shù)

2010-01-22 13:20:27

C++代碼

2010-01-25 14:43:00

C++構造函數(shù)

2010-01-08 15:45:04

設置Dev C++

2010-01-15 16:17:04

Carbide C++

2010-01-22 18:06:24

C++代碼

2010-01-25 11:13:18

C++棧對象

2023-08-15 10:33:06

微軟必應人工智能
點贊
收藏

51CTO技術棧公眾號