微軟研究人員最近發現許多Android應用程式由於一個普遍的安全性缺陷,可能遭受遠端程式碼執行攻擊、權杖被盜取等問題。受影響的應用程式中也有超過5億次下載的主流應用程式。
微軟已通知Google的Android安全研究團隊此問題。而Google也對Android應用程式開發人員發布新的指南,說明如何辨識和修復此問題。
除通知Android團隊外,微軟也告知在Google Play商店上受影響Android應用程式的發行廠商,其中包括下載超過10億次的Mi File Manager以及5億次下載的WPS Office。
微軟表示,這兩款APP的廠商已修正此問題。但微軟認為,還有其他因同樣安全弱點而容易受到利用和入侵的應用程式存在。微軟威脅情報團隊在近期的文章中表示,可能在其他應用程式中也發現此類型的漏洞。微軟分享這項研究,是為了讓開發人員和發行者能檢查其應用程式是否存在類似問題,適當修復。並避免在新的應用程式或發行版本中引入同樣漏洞。微軟將這個漏洞稱之為Dirty Stream。
Dirty Stream緣由
為了以安全的方式進行檔案共享,Android系統佈署「內容提供者(content provider)」介面。此介面扮演管理和分享應用程式資料給裝置上其他已安裝應用程式。需要共享檔案的應用程式,在Android術語中稱為檔案提供者(File provider)會宣告其他應用程式可用於存取資料的特定路徑。File provider還有一種識別功能,方便其他應用程式可以系統上尋找它們的位址。
微軟解釋,content provider模型提供明確定義的檔案共享機制,使伺服應用程式能夠精準的以安全的方式與其他應用程式共享檔案。然而,在許多情況下,當Android應用程式從另一個應用程式收到檔案時,卻沒有驗證內容。
最令人關注的是,它會使用由應用程式提供的檔案名稱,在其他應用程式的內部資料目錄中快取儲存收到的檔案名稱。
攻擊者可以利用這樣的機制,設計惡意應用程式檔案,在用戶不知情或未經批准的情況下,將具有惡意檔案名稱的檔案直接發送給接收應用程式(或檔案共享目標)。微軟表示,典型的檔案共享目標包括電子郵件收件者、訊息應用程式、網路應用程式、瀏覽器和檔案編輯器。當共享目標收到惡意檔案名稱時,它會使用該檔案名稱來初始化檔案並觸發一個可能導致應用程式被入侵的攻擊。
潛在的影響將取決於Android應用程式的實作細節。在某些情況下,攻擊者可以使用惡意應用程式來覆寫接收應用程式的設定,導致它與受攻擊者控制的伺服器通訊,或讓它共享用戶的驗證權杖和其他資料。
惡意應用程式也可以將惡意程式碼覆寫到接收應用程式端的原生程式庫中,啟動任意程式碼的執行。微軟解釋,由於惡意應用程式控制了檔案的名稱和內容,如果盲目信任這些輸入,共享目標可能會覆寫其私有資料空間中的關鍵檔案,這可能會導致嚴重後果。
目前微軟和Google都已為開發人員提供解決此問題的技巧。與此同時,終端使用者可透過確保其Android應用程式保持最新狀態,並只從可信來源安裝應用程式,來減輕此類風險。
本文轉載自Darkreading。
資料來源:數十億Android 裝置可能面臨 Dirty Stream 攻擊,Information Security 資安人科技網