當前位置:
首頁 > 最新 > Man-in-the-Disk:一種攻擊Android應用程序新手段

Man-in-the-Disk:一種攻擊Android應用程序新手段

用指尖改變世界」

網路安全公司Check Point在上周日發表的一篇博文中指出,其研究團隊發現Android應用程序在使用存儲資源的方式上存在缺陷。由於應用程序使用外部存儲並不受限制,因此可能會為攻擊者敞開大門,進而導致各種各樣的不良後果。例如,將並未請求的潛在惡意應用程序靜默地安裝到用戶手機上、拒絕為合法應用程序提供服務,甚至導致應用程序崩潰,這就使代碼注入成為可能,然後在受攻擊的應用程序的特權上下文中運行。

當應用程序在不受限制的情況下對外部存儲進行訪問時,Man-in-the-Disk攻擊就成為了可能。外部存儲一種在所有應用程序之間共享的資源,並且不受到Android內置沙箱的保護。如果用戶沒有對自己的應用程序應用安全預防措施,那麼這些應用程序將很容易受到惡意數據的侵害。

在這之前,我們首先需要了解什麼是Android設備的存儲資源?

在Android操作系統中,有兩種類型的存儲,分別是內部存儲(Internal Storage)和外部存儲(External Storage)。內部存儲由Android沙箱隔離,每個應用程序單獨使用不同的區域;外部存儲通常是SD卡或設備存儲的邏輯分區,由所有應用程序共享。實際上,外部存儲主要用於不同應用程序之間或應用程序與PC之間共享文件。例如,為了使消息應用程序能夠從手機相冊中共享照片,應用程序需要訪問外部存儲中保存媒體文件。

根據Google 發布的指南,應用程序開發人員被建議在自己的應用程序中使用外部存儲時應遵循以下準則:

在處理來自外部存儲中的數據時要進行輸入有效性檢查;

不要在外部存儲上保存可執行文件或類文件;

外部存儲文件在動態載入前,應進行簽名和加密。

但Check Point表示,在開發Android應用程序(包括很多來自知名OEM,甚至Google的應用程序)的過程中,一些開發人員並沒有遵守這些準則。這也就導致了Man-in-the-Disk攻擊的出現,使攻擊者完全能夠利用外部存儲數據來實施攻擊。


由Check Point研究團隊發現的新型攻擊手段被稱為「Man-in-the-Disk」,允許攻擊者修改和處理位於外部存儲上的數據。

研究人員表示,他們對應用程序從提供商的伺服器上下載、更新和接收數據的全過程進行了追蹤觀察。在這些數據被發送到應用程序之前,都是通過外部存儲傳輸的,如下圖所示。很顯然,這也就為攻擊者提供了實施攻擊的機會——在應用程序讀取數據之前,修改保存在外部存儲中的數據。

攻擊者完全可以利用一些看似無害的應用程序(例如,手電筒應用程序)來修改數據,其中包含有漏洞利用腳本。在用戶下載並安裝這些應用程序時,應用程序會請求對外部存儲的訪問許可權,這種請求對於應用程序安裝來說十分常見,因此不會引起懷疑。一旦安裝成功,攻擊者就可以監視在用戶設備上的任何其他應用程序與外部存儲之間傳輸的數據,並及時使用自己的數據來對原始數據進行覆蓋。

通過這種方式,攻擊者利用「Man-in-the-Disk」可以找出攔截和修改已安裝應用程序與外部存儲之間數據交換的方式。所造成的不良後果可能會有所不同,具體取決於攻擊者的目的和專業知識。這項研究證明,無需用戶的授權即可在後台安裝他們並不需要的應用程序。一旦應用程序崩潰且防禦措施失效,攻擊者就可以通過執行代碼注入來提升許可權,以便訪問用戶設備的其他部件,如攝像頭、麥克風、通訊錄等。


Check Point表示,此次用於測試的應用程序包括 Google翻譯(Google Translate)、Yandex翻譯(Yandex Translate)、Google語音輸入(Google Voice Typing)、Google文本轉語音(Google Text-to-Speech)、小米瀏覽器(Xiaomi Browser)以及其他一些應用程序,這些應用程序都受「Man-in-the-Disk」攻擊的影響。

研究人員指出,對於Google翻譯、Yandex翻譯和Google語音輸入,它們的開發人員沒有驗證來自外部存儲的數據的完整性。因此,研究人員能夠通過修改這些應用程序所需的某些文件,從而導致應用程序崩潰。

對於小米瀏覽器,研究人員發現它使用外部存儲作為應用程序更新的臨時資源。這使得研究人員能夠實施攻擊,通過替換應用程序的更新代碼,導致一些不必要的其他應用程序被安裝,而不是預期中的瀏覽器更新。


在發現這些應用程序受到Man-in-the-Disk攻擊的影響之後,Check Point聯繫了Google、小米和易受攻擊應用程序的供應商。目前,Google已經發布了修復程序,而小米暫時還沒有公布修復計劃。

由於Man-in-the-Disk攻擊來源於Android操作系統自身的缺陷以及應用程序的開發人員沒有遵循Google的建議,因此唯有開發人員才能切斷Man-in-the-Disk攻擊的源頭。Check Point建議Android應用程序開發人員在開發過程中務必將安全性作為首要考慮因素,而不是僅專註於功能性。

當然,一切問題的根源最終還是Android操作系統自身的缺陷所導致的。因此,確保底層操作系統的安全性才是應對這一新攻擊面或者其他攻擊面的唯一長期解決方案。

本文由黑客視界綜合網路整理,圖片源自網路;轉載請註明「轉自黑客視界」,並附上鏈接。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 黑客視界 的精彩文章:

Emotet的演變:從銀行木馬到網路威脅分銷商
售價僅50美元的Kardon Loader惡意軟體允許客戶構建自己的殭屍網路

TAG:黑客視界 |