我們之前討論過有些上鎖應用程式沒有適當的隱藏檔案。趨勢科技最近看到另一個上鎖應用程式 – AppLock 有相同的問題。只是這應用程式並不只是沒有隱藏好檔案,還包括了讓其他應用程式能夠變動它的設定檔。設定檔內包含了應用程式的偏好設定、登錄密碼和電子郵件,甚至包括 Google Ad Publisher ID,這被用在 Google 的 AdSense 帳戶。
存取設定檔
當使用者試圖「鎖住」或「隱藏」一個檔案時,應用程式只會將其從原本的位置搬到SD卡上的特定位置 – 位在/sdcard/.MySecurityData/dont_remove/下的子目錄。「隱藏」的檔案既沒被加密也沒有用任何方式進行編碼。和此檔案相關的資料,像檔案名稱、副檔名和時間戳記都被塞入SD卡上一個全域可讀的資料庫,路徑是/sdcard/.MySecurityData/dont_remove/6c9d3f90697a41b。因為這資料庫是全域可讀,所以任何應用程式都可以讀取或存取此資料庫。
惡意份子可以利用這一點來操弄此應用程式的設定檔。一種操弄檔案的方式是改變應用程式的 Google Ad Publisher ID。如上所述,此 ID 用於 Google 的 Adsense,用來產生廣告所帶來的收入。攻擊者可以藉由鎖住一個檔案開始來存取資料庫。
因為資料庫儲存在SD卡上,無須特殊權限來編輯檔案。只需要一般用於讀寫檔案的權限 – android.permission.MOUNT_UNMOUNT_FILESYSTEMS和android.permission.WRITE_EXTERNAL_STORAGE。
圖1、讀取資料庫
攻擊者接著可以建立一個假的 Google Ad 設定檔,然後將其放到一特定路徑。然後可以更新資料庫以指向此路徑,透過應用程式的「解鎖」功能來觸發。如下面截圖所示,該設定檔被成功地變更。
圖2、成功插入假的 Google Ad 設定檔