• 沒有找到結果。

分析實例

在文檔中 Android 程式權限分析 (頁 47-52)

第五章、 成果介紹

5.3 分析實例

5.3.1 安全 app (Monkey Jump 2)

這是一個由 Google Play 下載的 app:Monkey Jump 2,得到了它所需的 permission 以及我們選擇他的類別是 Game,上面是程式跑出來的結果。

一開始我們可以簡單的看出來這個 app 是綠燈,也就是在分析結果中我們認 為他是安全的。詳細的來看下面分析結果,因為這個 app 使用的 permission 並不 多,所以他的危險指數在 game 的類別中沒有超過平均值,我們顯示這個 app 在這 個別中是合理的,從 permission distribution 的報告我們發現他並沒有使用到低使用 率的 permission,但是由 permission classification 的報告我們發現他因為有使用到 讀取所在位置(ACCESS_COARSE_LOCATIOM)以及震動(VIBRATE)這兩個 permission,所 以可能這個 app 也具有 Social 這個類別的特性。

最後右邊我們可以去一一看這個 app 所用到的手機資源。第一他並沒有使用 到我們列為 Dangerous 的 permission,安裝這個程式可能會洩漏的個人資訊有位置 以及手機狀態,這支 app 不會修改到系統設定以及它會用到網路和震動這兩個手 機的功能。

圖 23 分析實例 1

39

5.3.2 危險 app (Monkey Jump 2 infected)

這是一個我們由網路上論壇下載的 app:Monkey Jump 2,和上面例子不同的 是這是支經過惡意修改,受到 Geinimi 木馬程式感染的遊戲。得到了它所需的 permission 以及我們選擇他的類別是 game,上面是程式跑出來的結果。

一開始我們可以簡單的看出來這個 app 是紅燈,也就是在分析結果中我們認 為他是危險的。

我們也提供詳細的說明在下方,由於這個 app 使用到非常多的權限,這在遊 戲類當中是不合理的,所以他的危險指數跟平均值來說會高出許多,超過了兩個 標準差我們即判定他為危險。

經過木馬程式感染後的 app 要求了相當多的權限來蒐集使用者的個人資料,

他讀取了包括 SMS,CONTACTS 等等的資訊,這些 permission 在同類當中是相當少 出現的,我們在報告中一一列出來提醒使用者這些 permission 不適合出現在遊戲 類 。 舉 個 例 子 來 說 , 他 有 用 到 讀 取 以 及 發 送 SMS 的 功 能 , 這 應 該 是 屬 於

圖 24 分析實例 2

40

communication 類的,我們就在這邊提醒使用者,除非這個 app 有 communication 的功能,否則這些 permission 是不適當的。

從 permission classification 的報告中我們判斷它應該是一個 tool 類別的程式,

但是這支 app 宣稱是一個遊戲程式,所以他可能除了遊戲的功能外,還具有一些 tool 類的功能,下面顯示他蒐集了個人資料,播打電話等等功能是 tool 類的特徵,

當使用者看到這個報告後就可以知道它除了遊戲功能外還有做這些額外的功能。

最後右邊我們可以去一一看這個 app 所用到的手機資源。第一他有用到危險 的 permission,如果是惡意程式的話可能導致系統當機及損害。在個人資訊的方面 他使用到了五項的資訊,這個程式也會更改系統的設定以及使用了多達八項的手 機功能。

41

5.3.3 分類錯誤 app (Realplayer)

最後我們展示一個 app 分類錯誤的例子。這是一個由 Google Play 下載的播放 器 Real Player。如果我們當成 Game 類別的 app 來看,會發現他利用到的很多 permission 是不該出現在 Game 中的,但是我們可以藉由 permission classification 的報告中發現這應該是一個 Music 的程式,於是經過我們建議使用者再度查詢這個 程式的資料就能發現是錯誤選擇了它的類別,可以讓使用者再一次確定 app 的功 能和內容,確定後再度檢查就會得到正常的結果。

圖 25 分析實例 3

42

Real Player 在 Music 中則為適合的分類,但他還是有用到一些比較少見的 permission,我們在報告中還是會提醒使用者注意這些資訊。

圖 26 分析實例 4

43

而非死板的定義危險 permission。

在未來我們希望可以加入和使用者互動的方法:

1. 使用者提供的 permission 和 type 將不再只是測試,也可以加入到我們蒐 集 app 的資料庫中,進一步的去更新我們的資料庫。

2. 對使用者加入客製化功能,使用者可以選擇 permission 開放,或是調整 risk index 的權重,對於較不重視的 permission 降低權重。

我們也希望能夠對蒐集到的 app 做進一步的分析,一方面去更新我們的資料 庫(例如有宣告 permission 但在 app 中並未使用),或是找出更多的方法來檢測惡意 軟體。

另外希望加入使用者上傳 app 的機制。因為許多大型 app 會用到很多手機功 能,宣告許多 permission,我們程式可能會判斷為危險的 app,我們可以藉由讀取 AndroidManifest.xml 中的 package 參數或是由 app 的名字中讀取出 app 的發行商作 為判斷,將一些安全的公司加入其中建立白名單(white list),並且加驗 app 的簽章 確認正確性。

在文檔中 Android 程式權限分析 (頁 47-52)

相關文件