<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Rust 備受青睞? Chrome 考慮使用“新”方法解決內(nèi)存安全問(wèn)題

          共 1828字,需瀏覽 4分鐘

           ·

          2021-09-28 12:23

          技術(shù)編輯:MissD丨發(fā)自 思否編輯部

          公眾號(hào):SegmentFault




          一直以來(lái),網(wǎng)絡(luò)瀏覽器都會(huì)受到來(lái)自黑客的攻擊,谷歌曾試圖用沙箱解決這個(gè)問(wèn)題,但由于性能問(wèn)題進(jìn)展受阻。因此,近日 Chrome 安全團(tuán)隊(duì)發(fā)文宣布正在考慮使用內(nèi)存安全語(yǔ)言 Rust 重寫(xiě)或開(kāi)發(fā) Chrome 的部分模塊。



          眾所周知,內(nèi)存安全是全球軟件工程界都需要認(rèn)真對(duì)待的問(wèn)題。有數(shù)據(jù)顯示,去年 Chrome 工程師們分析了自 2015 年以來(lái) Chrome stable 分支中修復(fù)的 912 個(gè)安全漏洞,這些漏洞的嚴(yán)重性評(píng)級(jí)為“高”或“嚴(yán)重”,而這些嚴(yán)重安全漏洞里,有 70% 以上都是內(nèi)存安全問(wèn)題。也就是說(shuō),C 或 C++ 語(yǔ)言中的指針錯(cuò)誤會(huì)導(dǎo)致內(nèi)存被誤解。
           
          Chrome 安全團(tuán)隊(duì)表示,盡管與黑盒測(cè)試技術(shù)相結(jié)合仍是 Chrome 的主要“防線(xiàn)”,但這似乎已經(jīng)達(dá)到了極限,它們?cè)僖矡o(wú)法靠這一個(gè)策略來(lái)抵抗住瘋狂的攻擊。
           
          Chrome 安全團(tuán)隊(duì)認(rèn)為,內(nèi)存安全問(wèn)題的存在,對(duì)于團(tuán)隊(duì)來(lái)說(shuō)既是挑戰(zhàn)也是機(jī)會(huì),因?yàn)樵S多 bug 都有相同的根源,這意味著他們可以在一個(gè)步驟中消除大部分 bug。
           
          對(duì)此,Chrome 安全團(tuán)隊(duì)一直在探索,并通過(guò)以下 3 大途徑來(lái)解決:

          1. 通過(guò)編譯時(shí)檢查指針是否正確,使 C++ 更安全。

          2. 通過(guò)運(yùn)行時(shí)檢查指針是否正確,使 C++ 更安全。

          3. 調(diào)查部分代碼庫(kù)使用內(nèi)存安全語(yǔ)言的情況。


          “編譯時(shí)檢查”,意味著在 Chrome 構(gòu)建過(guò)程中或在 Chrome 進(jìn)入用戶(hù)設(shè)備前,安全就得到了保證。而“運(yùn)行時(shí)”是指 Chrome 安全團(tuán)隊(duì)在用戶(hù)的設(shè)備上運(yùn)行 Chrome 時(shí)進(jìn)行檢查,由于“運(yùn)行時(shí)檢查”會(huì)導(dǎo)致性能損失(盡管檢查指針的正確性在內(nèi)存和 CPU 時(shí)間上的消耗是微乎其微的,如果有數(shù)百萬(wàn)個(gè)指針加起來(lái)的話(huà)會(huì)加劇影響),且 Chrome 的性能對(duì)數(shù)十億用戶(hù)非常重要,許多用戶(hù)使用的是沒(méi)有太多內(nèi)存的低功耗移動(dòng)設(shè)備,因此這些檢查的增加將導(dǎo)致網(wǎng)絡(luò)速度變慢。
           
          所以在理想情況下,Chrome 會(huì)選擇以上 3 個(gè)途徑的選項(xiàng) 1——在編譯時(shí)使 C++ 更安全。但不幸的是,語(yǔ)言理念并非這樣設(shè)計(jì)的。所以 Chrome 也有了選項(xiàng) 2 和 選項(xiàng) 3——使 C++ 更安全(但速度較慢),或開(kāi)始使用不同的語(yǔ)言(Chrome Security 正在試驗(yàn)這兩種方法)。
           
          同時(shí),Chrome 安全團(tuán)隊(duì)還介紹了其在 C++ 安全解決方案方面的重大投資——如 PTR 和 ABSL/STL 強(qiáng)化模式。在每種情況下,Chrome 都希望消除可利用的安全漏洞中相當(dāng)大的一部分,但他們也預(yù)料到了一些性能損失。
           
          同時(shí),Chrome 安全團(tuán)隊(duì)還將探索未來(lái)是否可以為 Chrome 的某些部分使用內(nèi)存安全語(yǔ)言,比如極具競(jìng)爭(zhēng)力的Rust 語(yǔ)言,(很大程度上)是編譯時(shí)安全的。也就是說(shuō),Rust 編譯器在代碼到達(dá)用戶(hù)設(shè)備之前就發(fā)現(xiàn)了指針錯(cuò)誤,因此沒(méi)有性能損失。然而,關(guān)于 Chrome 是否能夠使 C++ 和 Rust 充分協(xié)同工作,還有一些懸而未決的問(wèn)題。即使 Chrome 明天就開(kāi)始在 Rust 中編寫(xiě)新的大型組件,Chrome 也不可能在幾年內(nèi)就能把大部分大部分安全漏洞給全部消除。所以能否讓語(yǔ)言邊界足夠干凈,以便可以使用 Rust 編寫(xiě)部分現(xiàn)有組件?Chrome 安全團(tuán)隊(duì)暫時(shí)也無(wú)法回答這個(gè)問(wèn)題。
           
          對(duì)于開(kāi)發(fā)者團(tuán)隊(duì)來(lái)說(shuō),安全與漏洞就像是“貓鼠游戲”,隨著攻擊者的不斷“創(chuàng)新”,瀏覽器也必須要安裝新的防御系統(tǒng)才能保持領(lǐng)先。盡管 Chrome 已在沙箱和站點(diǎn)隔離基礎(chǔ)上,投資建立了更強(qiáng)大的多進(jìn)程體系結(jié)構(gòu),但有時(shí)也是防不勝防。
           
          目前,Chrome 安全團(tuán)隊(duì)已經(jīng)開(kāi)始在 Chrome 源代碼樹(shù)中進(jìn)行有限的、非面向用戶(hù)的 Rust 實(shí)驗(yàn),由于目前還處于試驗(yàn)階段,因此暫未在 Chrome 的生產(chǎn)版本中使用。
           
          參考鏈接:
          https://security.googleblog.com/2021/09/an-update-on-memory-safety-in-chrome.html

          - END -

          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久草热人妻 | 三级片天天 | 影音先锋三级网址 | 国产熟妇毛多 久久久久 | 国产精品特级s毛片 |