AI 驅動的網路攻擊:如何偵測、預防及抵禦智慧型威脅

立即閱讀
我們利用人工智慧進行網站翻譯,雖然我們力求準確性,但它們可能並不總是 100% 精確。感謝您的理解。

使用Google Chrome修復漏洞 MetaDefender Endpoint解決方案

by OPSWAT 發布
分享此文章

我們很高興推出一系列技術分析文章,重點介紹各種常見漏洞和披露 (CVE),這些文章使用我們的高階威脅檢測技術進行識別和修復。 所有研究均由參與 OPSWAT 網路安全獎學金計劃於 2023 年 9 月啟動。

胡志明科學大學的Tri Luong和Khoi Ta的頭像
學生參加了 OPSWAT 獎學金計劃。

在這篇文章中,我們將解釋Google Chrome CVE-2019-13720以及組織如何防禦 CVE-2019-13720 漏洞利用攻擊。

什麼是谷歌瀏覽器,它是什麼時候成立的?  

Google Chrome 是由 Google 開發的跨平台網路瀏覽器,於 2008 年 9 月 2 日正式發布。它是作為Google努力創建更好、更現代的瀏覽器的一部分而開發的。它當時提供了許多新功能,包括選項卡式瀏覽、隱私模式以及與Google服務的同步。自發佈以來,它已成為全球最受歡迎的網路瀏覽器之一。截至 2021 年,谷歌瀏覽器估計擁有約 32 億使用者。

由於谷歌瀏覽器的普及,它已成為研究和攻擊的焦點,吸引了道德駭客和惡意駭客。Google Chrome 中發現的常見漏洞包括拒絕服務 (DoS)、資訊洩露和遠端代碼執行等。關於遠端代碼執行漏洞,Google Chrome 上存在兩種類型的漏洞:沙箱逃逸和非逃逸。

什麼是CVE-2019-13720?

CVE-2019-13720 是 Google Chrome 版本 78.0.3904.87 之前的 WebAudio 的 Web Audio 釋放後使用(UAF)漏洞,允許遠端攻擊者透過建構的 HTML 頁面潛在地利用堆損壞。當受害者在易受攻擊的 Google Chrome 瀏覽器上訪問惡意網頁或打開精心製作的 HTML 頁面時,惡意代碼會在受害者的端點上執行。該CVE由Anton Ivanov和Alexey Kulaev於2019年首次報導。

根據 NIST-NVD 顯示高嚴重性等級的代碼段,其中包含與網路安全漏洞相關的基本分數和向量字串
NIST NVD 上的 CVE-2019-13720 資訊

從技術角度來看,由於 Qt WebEngine 音訊元件中的 Render 和 Audio 線程之間存在爭用條件,因此可以利用釋放後使用漏洞,允許遠端攻擊者執行 WebAssembly shell 代碼,從而導致受害者的設備受到威脅。此問題的解決方案是讓所有Qt WebEngine使用者更新到最新版本。

進攻階段

四步網路釣魚攻擊資訊圖,詳細說明瞭URL的製作、發送網路釣魚電子郵件、受害者打開 HTML 和遠端代碼執行
攻擊過程

攻擊者使用惡意 HTML 創建一個特殊的 URL,並向受害者發送帶有連結的網路釣魚電子郵件。當受害者打開電子郵件並按兩下連結時,惡意代碼將被執行並允許攻擊者接管受影響的系統。可以 在此處參考 HTML 檔案中顯示的遠端代碼策略的詳細資訊。

什麼是釋放後使用(UAF)和堆噴霧漏洞?

UAF 漏洞是一種安全漏洞,當程式在釋放記憶體後繼續使用記憶體時會發生。這可能會導致各種不利後果,包括資料損壞、任意代碼執行和系統崩潰。

堆噴洒是一種有效負載傳送技術,需要在整個堆的不同位置寫入多個字節。這涉及將建構的有效負載(即有害資料)注入記憶體堆,確保執行流跳轉到噴出的記憶體中,而不是應用程式的原始代碼中。此攻擊的目的通常是獲得對 EIP 註冊表的控制權。 

顯示堆噴射攻擊前後的記憶體分配的圖示,並指示控制流錯誤
堆噴塗技術的可視化

什麼是 WebAssembly?

WebAssembly,通常縮寫為 Wasm,是一種新的二進位指令格式,可作為編譯 C/C++ 等高階語言的可移植目標,允許它們在 Web 瀏覽器的 JavaScript 引擎中以接近本機的速度運行。 

透過 Emscripten、WebAssembly、JS 膠水代碼和 HTML 應用程式從 C/C++ 到瀏覽器的代碼轉換流程圖
將代碼編譯到 WebAssembly 中

但是,由於 WebAssembly 可以從非記憶體安全的語言(如 C/C++)編譯,因此可以在交叉編譯的 WebAssembly 二進位檔案中引入常見的編碼漏洞,如緩衝區溢出或格式字串漏洞。這種漏洞包含在 WebAssembly 模組中的可能性增加了當代 網路應用程式的攻擊面。

顯示運行時環境中應用程式共享線性記憶體中的 JS 和 WA 的圖示
使用 WebAssembly 的典型應用程式設計

什麼是爭用條件漏洞?

當多個進程或線程嘗試同時訪問共用資源時,就會出現軟體中的爭用條件漏洞,從而導致不可預知的結果或由於訪問時間而導致的操作中斷。當程式存在爭用條件漏洞時,可能會導致各種問題,例如應用程式崩潰、資料損壞、結果不正確或不一致。攻擊者可以利用此漏洞獲取未經授權的訪問、洩露資訊、提升許可權或導致系統崩潰。  

TOCTTOU 漏洞被歸類為爭用條件漏洞,它利用檢查和使用資源之間的時間間隔。

顯示應用程式中被攻擊利用的 TOCTOU(檢查時間到使用時間)漏洞的圖示
說明軟體爭用條件。來源:Devopedia 2020 (*)TOCTOU(檢查時間到使用時間)

CVE-2019-13720 如何工作?

為了利用此漏洞,研究人員將 JavaScript 代碼附加到 HTML 檔。當用戶啟動 HTML 檔時,腳本會嘗試透過創建處理相同緩衝區資料的兩個線程(主線程和音訊線程)來查找洩露的位址。然後,ReverbConvolverStage 中洩露的temporary_buffer_object地址用於獲取 IIRFilterNode(與 Convolver 共用同一超級頁面)中feedforward_array的指標。隨後,研究人員試圖在第二個觸發器UAF中獲取feedforward_array的指標。

漏洞利用的流程:觸發UAF、第二次觸發UAF、堆噴塗、編寫Shellcode、觸發WebAssembly模組、執行負載
釋放後使用觸發過程

WebAssembly 處理shell代碼的執行。為了能夠執行shellcode,研究人員嘗試釋放IIRFilter並寫入 GCPreventer,直到他們無需噴灑即可控制新分配的位置。最後,研究人員將shellcode寫入記憶體中的即時 (JIT) 區域。因此,在檔讀取器添加錯誤事件後,WebAssembly 模組將執行Shell代碼。

要執行與此漏洞關聯的shell代碼,用戶必須在易受攻擊的Chrome版本中禁用沙箱。 

瀏覽器警告消息「您正在使用不受支援的命令行標誌無沙箱。穩定和安全將受到影響

執行shell代碼時,它會自動在受害者的設備上打開記事本服務。

Web 瀏覽器中的錯誤螢幕顯示「哇,啪!在打開的記事本Windows旁邊顯示此網頁的消息時出錯

修復方法

MetaDefender Endpoint,由 OPSWAT,使用戶能夠檢測並保護其系統免受這些攻擊。使用者禁用隱私後 沙箱 功能 (--no-沙箱), MetaDefender Endpoint 可以檢測 CVE 並應用最新的 Google Chrome 補丁。之後,使用者可以手動將Google Chrome更新到最新版本或啟動 Patch Management 選項卡讓 OPSWAT MetaDefender 一旦有新的補丁可用,終端就會自動更新瀏覽器。

為防止暴露於惡意代碼,用戶應使用電子郵件過濾器工具來檢測網路釣魚攻擊,並避免按兩下電子郵件中的未知URL。

MetaDefender Endpoint主要產品特性和優勢

  • 查看和修正有風險的應用程式。可以在 MetaDefender Endpoint UI。
  • 檢查操作系統上是否正確配置了反惡意軟體保護。
  • 確保符合組織安全標準。
  • 硬碟加密保證。
  • 操作系統補丁驗證。
  • 惡意軟體掃描和在端點上發佈無惡意軟體公告的多個選項。
MetaDefender Endpoint UI 顯示 Google Chrome 的關鍵漏洞清單,其中包含 CVE 編號和分數
MetaDefender Endpoint UI

MetaDefender Endpoint forEndpoint Vulnerability and Application Patch 可在此下載


隨時瞭解OPSWAT 的最新資訊!

立即註冊,即可收到公司的最新消息、 故事、活動資訊等。