Chrome 版本 90

谷歌發布了Chrome 90網頁瀏覽器,同時作為Chrome基礎的免費Chromium專案也發布了穩定版本。 Chrome 瀏覽器的特點是使用 Google 標誌、當機時發送通知的系統、播放受保護影片內容 (DRM) 的模組、自動安裝更新的系統以及搜尋時傳輸 RLZ 參數。 Chrome 91 的下一個版本計劃於 25 月 XNUMX 日發布。

Chrome 90 的主要變化:

  • 預設情況下,在網址列中輸入主機名稱時,所有使用者都可以透過 HTTPS 開啟網站。 例如,當您輸入主機example.com時,會預設開啟https://example.com這個站點,如果開啟時出現問題,則會回滾到http://example.com。 為了控制預設「https://」的使用,建議設定「chrome://flags#omnibox-default-typed-navigations-to-https」。
  • 現在可以為視窗分配不同的標籤,以在桌面面板中直觀地分隔它們。 當使用單獨的瀏覽器視窗執行不同的任務時(例如,為工作任務、個人興趣、娛樂、延遲材料等開啟單獨的視窗時),對更改視窗名稱的支援將簡化工作組織。 當您右鍵單擊選項卡欄中的空白區域時,會透過出現的上下文功能表中的「新增視窗標題」項目來變更名稱。 在應用程式面板中變更名稱後,將顯示所選名稱,而不是活動標籤中的網站名稱,這在連結到單獨帳戶的不同視窗中開啟相同網站時非常有用。 會話之間的綁定保持不變,重新啟動後,視窗將恢復為所選名稱。
    Chrome 版本 90
  • 新增了隱藏「閱讀清單」的功能,而無需更改「chrome://flags」(「chrome://flags#read-later」)中的設定。 要隱藏,現在可以使用右鍵單擊書籤列時顯示的上下文功能表底部的「顯示閱讀清單」選項。 讓我們提醒您,在上一個版本中,當某些用戶單擊地址欄中的星號時,除了“添加書籤”按鈕之外,還會出現第二個按鈕“添加到閱讀列表”,並且在該按鈕的右上角書籤面板中會出現「閱讀清單」選單,其中列出了先前新增到清單中的所有頁面。 當您從清單中開啟頁面時,該頁面會被標記為已讀。 清單中的頁面也可以手動標記為已讀或未讀,或從清單中刪除。
  • 新增了對網路分段的支持,以防止基於在不用於永久儲存資訊的區域中儲存識別碼(「Supercookies」)來追蹤網站之間的使用者移動的方法。 由於快取的資源儲存在公共命名空間中,因此無論原始網域如何,一個網站都可以透過檢查該資源是否在快取中來確定另一個網站正在載入資源。 這種保護是基於網路分段(網路分區)的使用,其本質是在共享快取中添加額外的記錄與開啟主頁的網域的綁定,這限制了僅針對行動追蹤腳本的快取覆蓋範圍到目前網站( iframe 中的腳本將無法檢查資源是否是從其他網站下載的)。 分段的代價是快取效率降低,導致頁面載入時間略有增加(最多增加 1.32%,但對於 80% 的網站增加 0.09-0.75%)。
  • 補充了阻止發送HTTP、HTTPS和FTP請求的網路連接埠黑名單,以防止NAT滑流攻擊,允許在瀏覽器中開啟攻擊者專門準備的網頁時建立網路從攻擊者的伺服器到使用者係統上的任何UDP或TCP 連接埠的連接,儘管使用內部位址範圍(192.168.xx、10.xxx)。 將 554(RTSP 協定)和 10080(用於 Amanda backup 和 VMWare vCenter)加入到禁止連接埠清單中。 此前,連接埠 69、137、161、554、1719、1720、1723、5060、5061 和 6566 已被封鎖。
  • 新增了在瀏覽器中使用 XFA 表單開啟 PDF 文件的初步支援。
  • 對於部分用戶,已啟動新的設定部分“Chrome 設定 > 隱私和安全 > 隱私沙箱”,可讓您管理 FLoC API 的參數,旨在確定用戶興趣的類別,無需個人身份識別,無需參考訪問特定網站的歷史記錄。
  • 當使用者連接到啟用了集中管理的設定檔時,現在會顯示更清晰的通知,其中包含允許的操作清單。
  • 減少了權限請求介面的干擾。 現在,使用者可能拒絕的請求會被自動阻止,並在網址列中顯示相應的指示器,使用者可以透過該指示器轉到按網站管理權限的介面。
    Chrome 版本 90
  • 包括對英特爾 CET(英特爾控制流執行技術)擴展的支持,以針對使用面向返回的編程(ROP,面向返回的編程)技術構建的漏洞提供硬體保護。
  • 將瀏覽器轉變為使用包容性術語的工作仍在繼續。 “master_preferences”文件已重新命名為“initial_preferences”,以避免傷害那些認為“master”一詞暗示其祖先曾經受奴役的用戶的感情。 為了保持相容性,對「master_preferences」的支援將在瀏覽器中保留一段時間。 先前,瀏覽器已經擺脫了「白名單」、「黑名單」和「本機」等字眼的使用。
  • 在Android版本中,啟用「Lite」流量節省模式後,透過行動電信商網路連線下載影片時的碼率會降低,這將降低啟用流量資費的用戶的成本。 「Lite」模式還提供透過 HTTPS 從公共可用資源(不需要身份驗證)請求的映像壓縮。
  • 新增AV1視訊格式編碼器,專門針對基於WebRTC協定的視訊會議進行了最佳化。 在視訊會議中使用AV1可以提高壓縮效率並提供在頻寬為30 kbit/sec的頻道上廣播的能力。
  • 在 JavaScript 中,Array、String 和 TypedArrays 物件實作了 at() 方法,該方法允許您使用相對索引(相對位置指定為陣列索引),包括指定相對於末尾的負值(例如, “arr.at(- 1)”將傳回數組的最後一個元素)。
  • JavaScript 為正規表示式新增了「.indices」屬性,其中包含一個數組,其中包含一個匹配組的開始和結束位置。 僅當使用“/d”標​​誌執行正規表示式時才填入該屬性。 const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — 所有符合群組 // → [0, 2] console.log(m.indices[1]); // 1 是第一組符合 // → [0, 1] console.log(m.indices[2]); // 2 - 第二組比賽 // → [1, 2]
  • 啟用內聯快取的「超級」屬性(例如 super.x)的效能已最佳化。 使用“super”的效能現在接近存取常規屬性的效能。
  • 由於使用內聯部署,從 JavaScript 呼叫 WebAssembly 函數的速度顯著加快。 此最佳化目前仍處於實驗階段,需要使用“-turbo-inline-js-wasm-calls”標誌運行。
  • 新增了 WebXR 深度感測 API,它允許您確定使用者環境中的物件與使用者裝置之間的距離,例如,以建立更真實的擴增實境應用程式。 讓我們提醒您,WebXR API 可讓您統一使用各種類型的虛擬實境設備,從固定 3D 安全帽到基於行動裝置的解決方案。
  • WebXR AR 照明估計功能已經穩定,可讓 WebXR AR 會話確定環境照明參數,從而使模型具有更自然的外觀並更好地與使用者環境融合。
  • Origin Trials 模式(需要單獨啟動的實驗性功能)新增了多個目前僅限於 Android 平台的新 API。 Origin Trial 表示能夠使用從 localhost 或 127.0.0.1 下載的應用程式中的指定 API,或者在註冊並接收在特定網站的有限時間內有效的特殊令牌之後。
    • getCurrentBrowsingContextMedia() 方法,可以擷取反映目前標籤內容的 MediaStream 視訊串流。 與類似的 getDisplayMedia() 方法不同,當呼叫 getCurrentBrowsingContextMedia() 時,會向使用者呈現一個簡單的對話框,以確認或阻止使用選項卡內容傳輸影片的操作。
    • Insertable Streams API,可讓您操作透過 MediaStreamTrack API 傳輸的原始媒體串流,例如攝影機和麥克風資料、螢幕擷取結果或中間編解碼器解碼資料。 WebCodec 介面用於呈現原始幀,並產生類似 WebRTC Insertable Streams API 基於 RTCPeerConnections 產生的串流。 在實用方面,新的 API 允許應用機器學習技術來即時識別或註釋物件等功能,或在編碼之前或編解碼器解碼之後添加背景剪輯等效果。
    • 能夠將資源打包成套件(Web Bundle),以組織更有效地載入大量附帶檔案(CSS 樣式、JavaScript、圖像、iframe)。 Web Bundle 試圖消除現有對 JavaScript 檔案包 (webpack) 支援的缺點:套件本身(而不是其組成部分)可能會出現在 HTTP 快取中; 包完全下載後才能開始編譯和執行; CSS 和圖像等其他資源必須以 JavaScript 字串的形式進行編碼,這會增加大小並需要另一個解析步驟。
    • 支援 WebAssembly 中的異常處理。
  • 穩定了聲明式 Shadow DOM API,以在 Shadow DOM 中建立新的根分支,例如將匯入的第三方元素樣式及其關聯的 DOM 子分支與主文件分開。 建議的聲明式 API 可讓您僅使用 HTML 來取消固定 DOM 分支,而無需編寫 JavaScript 程式碼。
  • 縱橫比 CSS 屬性,允許您將縱橫比明確綁定到任何元素(僅指定高度或寬度時自動計算缺失的尺寸),實現了在動畫期間插值的功能(從一個元素平滑過渡)與另一個的縱橫比)。
  • 新增了透過偽類別「:state()」反映 CSS 中自訂 HTML 元素狀態的功能。 此功能的實作類似於標準 HTML 元素根據使用者互動更改其狀態的能力。
  • CSS 屬性“appearance”現在支援值“auto”,預設為和,並且在 Android 平台上還可以用於, , ,和。
  • 「overflow」CSS 屬性中新增了對「clip」值的支持,設定後,超出區塊的內容將被剪切到區塊允許的溢出限制,而無法滾動。 透過新的 CSS 屬性「overflow-clip-margin」設定確定在剪切開始之前內容可以超出框的實際邊框多遠的值。 與「overflow:hidden」相比,使用「overflow:clip」可以獲得更好的效能。
    Chrome 版本 90Chrome 版本 90
  • Feature-Policy HTTP 標頭已被新的 Permissions-Policy 標頭取代,以控制權限委派和高級功能的啟用,其中包括對結構化字段值的支援(例如,您現在可以指定“Permissions-Policy: geolocation” =()”而非“功能-策略:地理位置'無'”)。
  • 加強了針對使用協定緩衝區進行處理器中指令的推測執行所引起的攻擊的保護。 保護是透過將「application/x-protobuffer」MIME類型新增至從未嗅探過的MIME類型清單來實現的,該清單透過跨來源讀取阻止機制進行處理。 先前,MIME 類型「application/x-protobuf」已包含在類似清單中,但「application/x-protobuffer」已被排除在外。
  • 檔案系統存取 API 實現了將檔案中的目前位置移至其結尾之外的功能,並在透過 FileSystemWritableFileStream.write() 呼叫進行後續寫入期間用零填充由此產生的間隙。 此功能可讓您建立具有空白空間的稀疏文件,並顯著簡化寫入具有無序到達的資料區塊的文件流的組織(例如,這是在 BitTorrent 中實踐的)。
  • 新增了 StaticRange 建構函數,其中實作了輕量級 Range 類型,不需要在每次 DOM 樹變更時更新所有關聯物件。
  • 實現了指定元素寬度和高度參數的功能指定在元素內部。 此功能可讓您計算元素的長寬比,透過類比它是如何完成的, 和。
  • WebRTC 中刪除了對 RTP 資料通道的非標準化支持,建議使用基於 SCTP 的資料通道。
  • navigator.plugins 和 navigator.mimeTypes 屬性現在總是傳回空值(Flash 支援結束後,不再需要這些屬性)。
  • 針對 Web 開發人員的工具進行了大量的小改進,並添加了新的 CSS 偵錯工具 flexbox。
    Chrome 版本 90

除了創新和錯誤修復之外,新版本還消除了 37 個漏洞。 許多漏洞是透過使用 AddressSanitizer、MemorySanitizer、控制流程完整性、LibFuzzer 和 AFL 工具進行自動化測試而發現的。 目前還沒有發現任何嚴重問題可以讓人們繞過所有層級的瀏覽器保護並在沙箱環境之外的系統上執行程式碼。 作為發現當前版本漏洞的現金獎勵計劃的一部分,Google 支付了19 個價值54000 美元的獎勵(20000 個10000 美元獎勵、5000 個3000 美元獎勵、2000 個1000 美元獎勵、500 個6 美元獎勵、XNUMX 個XNUMX美元獎勵、XNUMX 個XNUMX 美元獎勵和XNUMX 個XNUMX 美元獎勵) )。)。 XNUMX項獎勵的金額尚未確定。

另外,值得注意的是,昨天,在修正版本89.0.4389.128形成之後,但在Chrome 90發布之前,發布了另一個漏洞利用程序,該漏洞使用了Chrome 0中未修復的新89.0.4389.128day漏洞。 目前尚不清楚這個問題是否已在Chrome 90 中修復。與第一種情況一樣,該漏洞僅涵蓋一個漏洞,並且不包含繞過沙箱隔離的程式碼(當使用「--no-sandbox」標誌執行Chrome 時) ,當在 Windows 平台上開啟網頁(允許執行記事本)時,就會發生該漏洞。 與新漏洞相關的漏洞影響 WebAssembly 技術。

來源: opennet.ru

添加評論