在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Windows 11初嘗Rust,36000行內(nèi)核代碼已重寫!

jf_8lIj6kO1 ? 來源:CSDN ? 2023-05-19 16:39 ? 次閱讀

Rust 這兩年在大廠的追捧下,憑借著出色的內(nèi)存效率、速度與安全性,開始爆火。現(xiàn)如今,這把“火”直接燒到了誕生了 40 余載的 Windows 身上!

不久之前,微軟企業(yè)和操作系統(tǒng)安全副總裁 David Weston 在以色列 Blue Hat IL 2023 安全大會(huì)上透露,微軟將效仿 Linux,用 Rust 重寫部分 Windows 內(nèi)核。

“我們正處于在 Windows 中用 Rust 爬行、行走、運(yùn)行的階段”, David Weston 說道。“我們談?wù)摰氖堑厍蛏献顝?fù)雜的工程產(chǎn)品之一。但我們的目標(biāo)是為了提高安全性……因此,你將在未來幾周或幾個(gè)月內(nèi)看到 Windows 內(nèi)核中使用 Rust 編寫,這真的很酷。這里的基本目標(biāo)是將這些內(nèi)部 C++ 數(shù)據(jù)類型中轉(zhuǎn)換為 Rust 等價(jià)物。”

這不,微軟的確兌現(xiàn)了承諾,短短兩周之后,有消息傳出最新的 Windows 11 Insider Preview 版本是第一個(gè)包含 Rust 代碼的版本。

“如果你在 Windows 11 Insider ring 上,那么將首次感受到 Rust 在 Windows 內(nèi)核中帶來的魔力。”

c8bab0b6-f4cc-11ed-90ce-dac502259ad0.png

Rust 已重寫了Windows 內(nèi)核中的36,000 行代碼

當(dāng)然,透露出最新消息的人,不是別人,而是頗有話語權(quán)的 Azure CTO Mark Russinovich。

這也不禁讓我們想起去年 9 月,Mark Russinovich 在其個(gè)人推特賬號發(fā)表動(dòng)態(tài)稱是時(shí)候停止使用 C/C++啟動(dòng)任何新項(xiàng)目,并建議在需要使用 noc-GC 語言的場景下使用 Rust 編程語言。

如今在微軟 Windows 內(nèi)核宣布采取 Rust 重寫之際,Mark Russinovich 便迫不及待地在第一時(shí)間與外界分享最新進(jìn)度,難掩其對 Rust 語言的支持以及對 C/C++ 的嫌棄之情。

雖說 Mark Russinovich 的個(gè)人立場并不能代表企業(yè)對外的觀點(diǎn),但是微軟對 Rust 的態(tài)度早已對外袒露。

早在 2019 年,便有外媒報(bào)道,微軟正在嘗試用 Rust 重寫 Windows 底層組件,旨在移除不安全的代碼。

當(dāng)前,據(jù)微軟企業(yè)和操作系統(tǒng)安全副總裁DavidWeston 在安全大會(huì)上分享,微軟已經(jīng)用 Rust 重寫了 Windows 內(nèi)核中的 36,000 行代碼。

更早些時(shí)候,微軟用 Rust 重寫了 DirectWrite Core 庫的概念驗(yàn)證,它是 Windows 的 DWrite 引擎的 Windows App SDK 實(shí)現(xiàn),用于文本分析、布局和渲染。當(dāng)下,DWriteCore 包含了大約152,000 行 Rust 代碼和 96,000 行 C++ 代碼。

Weston 還指出,“Windows 內(nèi)核中現(xiàn)在有一個(gè)用 Rust 編寫的系統(tǒng)調(diào)用。”

c8ea6e82-f4cc-11ed-90ce-dac502259ad0.png

為什么要選擇Rust?

微軟之所以想要逐漸摒棄 C/C++ 而擁抱 Rust,根據(jù) Weston 的說法,Rust 代碼比當(dāng)前的 C++ 代碼更容易編寫和理解,也更安全。

對于那些不熟悉的人來說,Rust 是一種現(xiàn)代的類 C 編程語言,受到開發(fā)人員的喜愛,因?yàn)樗鼜?qiáng)制創(chuàng)建安全的本地代碼,而沒有托管語言的開銷。

實(shí)際上,Rust 與 C 和 C++ 等語言的性能相當(dāng),同時(shí)更易于調(diào)試和維護(hù),而且最重要的是在內(nèi)存安全方面幾乎打遍天下無敵手。

一直以來,內(nèi)存安全的漏洞是多個(gè)企業(yè)與開發(fā)者頗為頭疼的難題。

此前,CSDN 也報(bào)道過,根據(jù)長期關(guān)注內(nèi)存漏洞的開發(fā)者@LazyFishBarrel 的統(tǒng)計(jì),蘋果公司iOS 和 macOS 系統(tǒng)中 60%-70% 的漏洞是內(nèi)存安全漏洞。

c936dc0e-f4cc-11ed-90ce-dac502259ad0.png

微軟在2019 年的一次會(huì)議上透露,從 2006 年到 2018 年,其發(fā)現(xiàn)的 70%的漏洞都是因內(nèi)存安全問題造成的。

c94f180a-f4cc-11ed-90ce-dac502259ad0.png

據(jù) Google 估計(jì),Chrome 中存在了類似比例的內(nèi)存安全漏洞,另外90% 的 Android 系統(tǒng)漏洞也都是內(nèi)存安全問題。

針對這一問題,美國國家安全局(NSA)在去年也曾發(fā)布指南,鼓勵(lì)多個(gè)組織將編程語言從 C/C++轉(zhuǎn)為使用內(nèi)存安全的語言,如 C#、Rust、Go、Java、Ruby 和 Swift。

NSA 認(rèn)為,黑客極有可能會(huì)利用代碼中管理不善的內(nèi)存漏洞,而這種漏洞在程序員使用靈活性更高的編程語言時(shí)更容易出現(xiàn)。NSA 網(wǎng)絡(luò)安全技術(shù)總監(jiān) Neal Ziring 表示,在開發(fā)消除此類漏洞的軟件時(shí),必須始終使用內(nèi)存安全語言和其他保護(hù)措施。

微軟現(xiàn)如今用 Rust 重寫部分 Windows 內(nèi)核代碼,也是在為內(nèi)核安全而考慮。

因?yàn)閮?nèi)核是計(jì)算機(jī)操作系統(tǒng)的核心部分,對整個(gè)系統(tǒng)的運(yùn)作至關(guān)重要。

同時(shí),它也是電腦開機(jī)后最先啟動(dòng)的東西之一,然后它就永久地存在于內(nèi)存中,充當(dāng)計(jì)算機(jī)應(yīng)用程序和硬件之間的媒介。

如果一個(gè)攻擊者成功地破壞了內(nèi)核,他們就可以完全控制運(yùn)行內(nèi)核的設(shè)備,這無疑是最糟糕的結(jié)果。

此外,這些問題不僅僅在 Windows 系統(tǒng)上會(huì)出現(xiàn),MacOS、Linux 等系統(tǒng)也同樣存在這樣的問題。

內(nèi)核漏洞的很大一部分集中在內(nèi)存管理上。傳統(tǒng)來看,最流行的內(nèi)核編碼語言是 C 和 C++,這兩種語言雖然提供了出色的性能和不錯(cuò)的靈活性,但是一旦涉及到安全問題時(shí),就沒那么有用了。

因此,一旦有心懷不軌的人想要發(fā)起網(wǎng)絡(luò)攻擊,內(nèi)存將會(huì)成為重災(zāi)區(qū)。往往內(nèi)存的缺陷或者 Bug 又會(huì)極易被利用,也會(huì)存在諸多的惡意代碼。

對此,F(xiàn)aceTime 安全實(shí)驗(yàn)室前研究總監(jiān) Christopher Boyd 在一篇博客中進(jìn)一步分析表示,內(nèi)存的一個(gè)重要部分是可怕的緩沖區(qū)溢出攻擊,該攻擊自 1970 年代以來一直存在。這是指寫入緩沖區(qū)的數(shù)據(jù)溢出并覆蓋了附近的內(nèi)存。當(dāng)系統(tǒng)的內(nèi)存以這種方式被篡改時(shí),就會(huì)導(dǎo)致各種形式的利用。

盡管很多企業(yè)一直強(qiáng)調(diào)讓程序員編寫更安全的代碼,改進(jìn)底層語言,并采取 Windows 地址空間布局隨機(jī)化(ASLR)等緩解措施,然而,緩沖區(qū)溢出仍然是一個(gè)巨大的問題。

ChristopherBoyd 表示,要想徹底根除這些問題的唯一方法就是,從 C 和 C++ 轉(zhuǎn)到像 Rust 這樣可以自動(dòng)管理內(nèi)存的內(nèi)存安全語言。

而且這一方法已經(jīng)被很多企業(yè)采用了,譬如 2021 年,Android 系統(tǒng)開始支持 Rust 開發(fā)操作系統(tǒng),導(dǎo)致該平臺的內(nèi)存安全漏洞大幅下降。

如今微軟在用 Rust 語言改進(jìn) Windows 11 內(nèi)核,并添加了 36000 行內(nèi)核代碼時(shí),據(jù) The Register 報(bào)道,初步性能測試沒有看到 Rust 化的內(nèi)核對性能造成降低。

Rust 取代不了 C/C++已在 Windows 內(nèi)核中 40 年的工作

當(dāng)然,微軟不僅僅是用 Rust 改寫 Windows 內(nèi)核,也將引入其 Pluton 安全處理器

當(dāng)Weston 在安全大會(huì)上說到 Pluton 時(shí),他表示,"我們正朝著使用 Rust 的內(nèi)存安全語言的方向發(fā)展。我們還沒有達(dá)到這個(gè)目標(biāo),但我們正在努力......可信計(jì)算基地的內(nèi)存安全問題是真實(shí)存在的,而且可以說是最令人痛苦的問題,不僅是因?yàn)槿绻?TPM 被破壞,[黑客]有可能接觸到各種東西,而且當(dāng) TPM 必須更新時(shí),它們有一個(gè)重置狀態(tài),對用戶來說是非常痛苦的。有 Rust 的存在是超級關(guān)鍵的"。

不過,需要注意的是,微軟不會(huì)做的是用 Rust 替換內(nèi)核中 C/C++ 的整個(gè)“40 年工作”。為此,Weston 解釋道,“雖然我們(微軟)喜歡 Rust,但我們需要一種策略,其中還包括保護(hù)更多的本地代碼。”

Rust 是否真的能夠如愿保證安全性?

最后,毫無疑問的是,Rust 的引入必將會(huì)讓 Windows 在內(nèi)存安全方面取得不錯(cuò)的進(jìn)展。

就像在2022 年底,Linux-6.1 首次引入 Rust 語言作為內(nèi)核模塊的開發(fā)語言,形成了 Rust for Linux 項(xiàng)目那樣,讓 Rust 成為 C 語言之后的第二語言。對此,開發(fā)者也期望在引入 Rust 語言后,在內(nèi)核代碼抽象和跨平臺方面能做得比 C 更有效,且會(huì)提升內(nèi)核代碼質(zhì)量,有效減少內(nèi)存和多線程并發(fā)缺陷 。

針對如今 Windows 內(nèi)核采用 Rust 改寫,不少網(wǎng)友紛紛押注:

Rust 是超越 C/C++ 的前進(jìn)之路。

數(shù)十年的漏洞已經(jīng)證明在使用 C/C++ 時(shí)防止內(nèi)存破壞的 Bug 是多么困難。雖然像 C# 或 Java 等垃圾回收語言已證明對這些問題更具彈性,但在某些情況下它們無法使用。對于這種情況,我們押注 Rust 將作為 C/C++ 的替代品。Rust 是一種現(xiàn)代語言,旨在與高性能 C/C++ 競爭,但語言中內(nèi)置了內(nèi)存安全和線程安全保證。雖然我們無法在一夜之間用 Rust 重寫所有內(nèi)容,但我們已經(jīng)在 Azure 基礎(chǔ)設(shè)施的一些最關(guān)鍵組件中采用了 Rust。我們預(yù)計(jì),隨著時(shí)間的推移,Rust 的采用率將大幅提高。

不過,也有網(wǎng)友表示:“在 Javascript/Web 生態(tài)系統(tǒng)工作多年后,我在過去的幾年中也一直在全職使用 Rust。我不能說它與 C++ 相比如何,但我在 Rust 中的生產(chǎn)力仍然遠(yuǎn)遠(yuǎn)低于我在 Typecript 中的生產(chǎn)力。我在生產(chǎn)系統(tǒng)中使用 Rust,但在 Typescript 中做原型。”

生產(chǎn)力和安全性究竟該如何平衡,對此,你是否用過 Rust?在生產(chǎn)環(huán)境中使用 Rust 是種怎樣的體驗(yàn),是否會(huì)減少內(nèi)存漏洞的發(fā)生呢?歡迎留言分享你的看法。

審核編輯 :李倩

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

    關(guān)注

    30

    文章

    4837

    瀏覽量

    69122
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13669
  • 生態(tài)系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    704

    瀏覽量

    20792

原文標(biāo)題:Windows 11 初嘗 Rust,36000 行內(nèi)核代碼已重寫!

文章出處:【微信號:玩轉(zhuǎn)VS Code,微信公眾號:玩轉(zhuǎn)VS Code】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何編寫高性能的Rust代碼

    為了最大限度地提高Rust應(yīng)用程序的性能,你需要了解支持代碼的底層硬件架構(gòu),如何優(yōu)化算法和數(shù)據(jù)結(jié)構(gòu),以及如何對代碼進(jìn)行配置和基準(zhǔn)測試。在本文中,我們將簡要介紹這些主題,希望能更好地理解如何編寫高性能的
    的頭像 發(fā)表于 11-03 14:28 ?904次閱讀
    如何編寫高性能的<b class='flag-5'>Rust</b><b class='flag-5'>代碼</b>

    使用S32K146時(shí)想添加SCST內(nèi)核自檢代碼進(jìn)行內(nèi)核檢測,要怎么實(shí)現(xiàn)?

    使用S32K146時(shí)想添加SCST內(nèi)核自檢代碼進(jìn)行內(nèi)核檢測,現(xiàn)在使用IDE S32DS,使用API??調(diào)用測試函數(shù)時(shí)發(fā)現(xiàn)測試中m4_scst_exception_hard_fault1出現(xiàn)異常導(dǎo)致
    發(fā)表于 04-14 07:42

    Rust代碼中加載靜態(tài)庫時(shí),出現(xiàn)錯(cuò)誤 ` rust-lld: error: undefined symbol: malloc `怎么解決?

    “ [i]malloc ”、“ [i]exit ”。我驗(yàn)證了使用 ` [i]nm ` 命令。 問題是我打算使用 ffi 在 rust 中使用這個(gè)靜態(tài)庫。當(dāng)我嘗試在我的 Rust 代碼中加載靜態(tài)庫
    發(fā)表于 06-09 08:44

    Linux下的AVR單片機(jī)開發(fā)

    Linux下的AVR單片機(jī)開發(fā) Posted on 2009/04/02 by PT — 7 Comments ↓ 原帖地址: 此前接觸過AVR單片機(jī),發(fā)現(xiàn)無論是書店里面的教材,還是網(wǎng)上一大堆
    發(fā)表于 11-24 09:57 ?650次閱讀

    微軟開發(fā)基于Rust的新編程語言,將很快開源

    此前,微軟表示正探索將Rust作為C和C++的安全替代方案,并且也對外展示了使用Rust重寫Windows組件的體驗(yàn),根據(jù)微軟的說法,Rust
    的頭像 發(fā)表于 12-03 10:36 ?3963次閱讀

    Rust添加到Linux6.1內(nèi)核的方法

    在歐洲開源峰會(huì)上,Linus Torvalds 宣布,他將在當(dāng)天(在內(nèi)核維護(hù)者峰會(huì)上)推動(dòng) Rust 進(jìn)入即將推出的 6.1 Linux 內(nèi)核
    的頭像 發(fā)表于 09-19 10:24 ?1424次閱讀

    Linux內(nèi)核中整合對 Rust 的支持

    Linux Plumbers Conference 2022 大會(huì)上舉行了一個(gè) Rust 相關(guān)的小型會(huì)議,該會(huì)議討論的大方向大致為:正在進(jìn)行的使 Rust 成為一種合適的系統(tǒng)編程語言的工作,以及在主線 Linux 內(nèi)核中整合對
    的頭像 發(fā)表于 09-19 11:06 ?1213次閱讀

    Linux內(nèi)核Rust基礎(chǔ)設(shè)施優(yōu)化補(bǔ)丁應(yīng)用

    這個(gè)補(bǔ)丁系列是對上游 Rust 支持的第一批更改,所有引入的設(shè)施都是 “Rust 核心” 的一部分,不會(huì)與 C 端交互(沒有使用新的 C 類型;只有 strlen、memchr、額外的錯(cuò)誤代碼和一些更多的 printk 格式字符
    發(fā)表于 11-15 11:19 ?438次閱讀

    Cloudflare用Rust重寫Nginx C模塊,構(gòu)建沒有Nginx的未來

    近日,Cloudflare 工程師介紹了如何使用 Rust 重寫基于 C 語言的 Nginx 模塊。Cloudflare 工程師在博客寫道,他們用 Rust 為 Cloudflare 基礎(chǔ)設(shè)施中最
    的頭像 發(fā)表于 03-08 09:36 ?813次閱讀

    Rust重寫的LSP:KCL IDE 插件的功能介紹與設(shè)計(jì)解析

    在這次更新中,我們發(fā)布了全新的 KCL VS Code 插件,并且用 Rust 重寫了 LSP 的 Server 端。我們提供了 IDE 中常用的代碼輔助功能,如高亮、跳轉(zhuǎn)、補(bǔ)全、Outline、懸停、錯(cuò)誤提示等。
    的頭像 發(fā)表于 05-11 09:39 ?1041次閱讀
    <b class='flag-5'>Rust</b><b class='flag-5'>重寫</b>的LSP:KCL IDE 插件的功能介紹與設(shè)計(jì)解析

    取代C++!微軟用Rust改寫的Win11內(nèi)核來了

    按照微軟此前介紹,Rust 語言的優(yōu)勢在于極高的內(nèi)存安全性,原來內(nèi)核中大量的不安全的子例程在改寫后消失不見。同時(shí),Rust 代碼簡潔高效,移植后 Office 應(yīng)用沒有任何性能損失,甚
    的頭像 發(fā)表于 05-19 16:58 ?1478次閱讀
    取代C++!微軟用<b class='flag-5'>Rust</b>改寫的Win<b class='flag-5'>11</b><b class='flag-5'>內(nèi)核</b>來了

    一次Rust重寫基礎(chǔ)軟件的實(shí)踐

    受到2022年“谷歌使用Rust重寫Android系統(tǒng)且所有Rust代碼的內(nèi)存安全漏洞為零” [1] 的啟發(fā),最近筆者懷著濃厚的興趣也順應(yīng)Rust
    的頭像 發(fā)表于 01-25 11:21 ?712次閱讀

    微軟加速轉(zhuǎn)向Rust,加緊招募資深軟件架構(gòu)師

    去年BlueHat大會(huì)上,微軟公開表示以Rust重編譯Windows內(nèi)核的計(jì)劃,因其享有現(xiàn)代、便捷且代碼易讀的卓越性質(zhì)。值得一提的是,微軟推出的Azure Quantum開發(fā)工具包(Q
    的頭像 發(fā)表于 01-30 11:47 ?640次閱讀

    任天堂Switch代游戲機(jī)模擬運(yùn)行Windows 11 ARM效果展示

    5 月 14 日,某開發(fā)者PatRyk在X平臺發(fā)布帖子,展示了將任天堂Switch代游戲機(jī)在Linux環(huán)境中通過QEMU模擬Windows 11 ARM系統(tǒng)的效果。
    的頭像 發(fā)表于 05-14 10:16 ?1047次閱讀

    微軟Windows 11新版記事本應(yīng)用上線測試:AI重寫功能亮相

    微軟公司于11月7日正式宣布,針對Canary和Dev頻道的Windows Insider項(xiàng)目成員,現(xiàn)已開放Windows 11新版記事本應(yīng)用的測試。此次更新不僅帶來了用戶翹首以盼的A
    的頭像 發(fā)表于 11-07 15:07 ?482次閱讀
    主站蜘蛛池模板: 四虎影院成人在线观看 | 色老头在线视频 | 大黄网站色多多 | 国产拍拍拍免费视频网站 | www.婷婷.com | 伊人久久大香线蕉综合电影 | 亚洲男人的天堂久久香蕉网 | 午夜免费片在线观看不卡 | 欧美三级一区 | 日本黄色www | 天堂成人| 亚洲邪恶天堂影院在线观看 | 成人欧美另类人妖 | 欧美日本一区 | 一级黄色片在线看 | 18女毛片 | 高清欧美日本视频免费观看 | 亚洲日本三级 | 国产午夜视频高清 | 国产做a爰片久久毛片 | 国产精品久久久久免费 | 欧美色视频日本 | 亚洲美女精品 | 高清一级毛片一本到免费观看 | 四虎永久在线精品免费观看地址 | 成年视频xxxxx免费播放软件 | 手机福利在线观看 | 丁香花在线观看免费观看 | 丁香啪啪天堂激情婷婷 | 久草亚洲视频 | 色噜噜狠狠成人中文小说 | 好吊色7777sao在线视频观看 | 永久黄色免费网站 | 亚洲人成网站色7799在线播放 | 牛牛精品 | 日本欧美强乱视频在线 | 一级片在线免费播放 | 亚洲人色大成年网站在线观看 | 污夜影院 | 亚洲高清不卡视频 | 成人免费久久精品国产片久久影院 |