趨勢科技最近發現一些Android應用程式內的漏洞可能會讓使用者的資料陷入危險或被用來發動攻擊。我們所調查的兩個受影響應用程式都很受歡迎:
- 超過一千萬次安裝及在下載頁面擁有數十萬筆使用者留言的生產力應用程式
- 超過一百萬次安裝及在下載頁面擁有數千筆使用者留言的購物相關應用程式
問題出在執行應用程式功能的特定Android元件。此元件有個屬性名稱為「android:export」,一旦設定為「true」,就可以讓此元件被其他應用程式執行或存取。這代表設備內安裝的其他應用程式可能可以去觸發其他應用程式的某些功能。這對於想和其他廠商的應用程式建立夥伴關係的開發者和廠商來說很方便,但從安全的角度來看,這也帶給了網路犯罪分子機會。
利用活動發動攻擊
可能有多種方法來利用此問題,取決於攻擊者的意圖和受影響應用程式的本質。舉例來說,在趨勢科技的分析中,我們發現購物應用程式的一個特定活動(當使用者進行購買時會顯示彈出式視窗)有可能會被利用來讓其他應用程式觸發。
此問題所代表的是惡意應用程式可以在購物應用程式內顯示彈出式視窗,並用來發動攻擊。攻擊者可以製作惡意應用程式來顯示導致惡意連結或其他惡意應用程式的彈出式視窗。
利用內容供應商竊取資訊
另一種利用此安全問題的可能方式是針對處理會關鍵資料的內容供應商,好加以收集。舉例來說,一個在生產力應用程式內儲存使用者輸入的內容供應商可能被用來擷取資料。
這樣關鍵的內容供應商可以透過定義權限來加以保護。然而,如果沒有建立適當的權限保護層級,還是可能讓內容供應商容易被利用。在前面所提到的生產力應用程式中,內容供應商儲存使用者輸入會透過讀取和寫入權限保護。然而,這兩種權限都設成「正常」的保護層級,這意味著設備中所安裝的所有應用程式也都被擁有相同的權限。
可以做些什麼?
對於開發人員來說,此問題凸顯出需要給予應用程式不同元件適當限制的重要性。容易被濫用的元件應該加以權限保護(以及適當的保護層級)。正如我們過去所報導過,使用保護層級來防護Android元件可能不是很簡單就能做到,但它提供了良好的安全性。
我們強烈建議開發人員檢查他們應用程式所使用的元件,並確保對它們的存取有適當的限制。我們已經通知上面所提到應用程式的開發人員,告訴他們此問題。我們認為還有一些其他的熱門應用程式可能也受到影響,當我們發現後也會通知它們。
@原文出處:Android App Components Prone to Abuse作者:Weichao Sun(行動威脅分析師)