• 沒有找到結果。

第一章 緒論

1.1 研究背景

由於智慧型手機的普遍性和方便性,越來越多使用者會在手機上完成以往我們需 要一台電腦所能完成的事,如信用卡支付、銀行轉帳、社群媒體等等。市面上有著各 式各樣的應用程式,只要在 Google Play 商城輕輕一點,眾多方便的應用程式就會自動 幫我們安裝好,讓我們能藉由這些應用程式完成許多日常瑣事。例如想要在網路上購 物時,僅需下載相關的電子商務平台所製作的應用程式,帳號註冊完成後點選欲購買 的商品,最後再透過信用卡支付即可完成交易,同時也能指定取得商品的地點,既方 便又快速,且省去人們至實體門市及排隊等待的時間。而日常的金融轉帳、證券交易 也已經可以透過手機方便操作,不用前往金融機構也能處理個人帳務問題。以上案例 說明了手機的普及大幅提升我們日常生活的便利性。然而這些資訊已成為有心人士的 竊取目標,一旦惡意程式進入至我們的手機中,就有可能導致這些個資外洩。就上述 的例子而言,我們的個人資訊、社群媒體的登入帳號、信用卡卡號,以及銀行卡號都 可能在手機中留下足跡。若有有心人士想竊取,經常會透過各種惡意程式來進一步取 得這些資訊。人們對於行動裝置的依賴性日益漸增,對比以往的個人電腦,手機內所 擁有的個人資訊已遠超過個人電腦。根據國際數據資訊公司 (IDC, International Data Corporation) ,針對智慧型手機作業系統市佔率所做之調查 [1] ,自 2018 年開始,截至 2020 年 6 月 22 日止,明顯由 Google 公司的 Android 系統和 Apple 公司的 iOS 系統 佔 據了整個市場,且據 IDC 之預估,截至 2024 年 Android 的市佔率皆會維持在 85% 至 87% 之間,而 Apple 所推出的 iOS 則會維持在 13% 至 14% 。從中可看出 Android 系統 的市佔率約為 iOS 系統的六倍之多,也可看出此後數年 Android 系統仍會是智慧型手 機市場之主流。因此,本研究將探討以 Android 系統相關之應用程式為標的,萃取相 關特徵並佐以分類分析演算法,辨識出具惡意行為之應用程式。

2

圖 1 IDC 手機作業系統市佔率

隨著智慧型手機深刻融入至我們的日常生活中,攻擊者也將目標從個人電腦轉向 手機使用者,以取得使用者手機中的資訊為目的,製作了各式各樣的惡意程式來攻擊 使用者。然而,一般手機使用者的安全意識並不高,經常疏忽手機上的惡意程式所潛 藏的風險,並且在下載應用程式時,僅依靠應用程式安裝前的權限檢查做為唯一的檢 核。但多數使用者並不完全清楚每一個權限所可能引發的安全議題,例如取得地理位 置權限,在旅遊類型的應用程式可能很常見,透過取得使用者的地理位置資訊,可以 做許多加值服務,提供導航資訊等等。但若此一權限出現在音樂類型的應用程式,可 能就需要多加謹慎,有可能此應用程式是一個惡意程式所偽裝,在背地裡偷偷竊取使 用者的位置資訊。除此之外,使用者在下載完應用程式後,也很少透過防毒軟體的掃 描來進一步清除惡意程式,導致惡意程式可以長時間駐留在使用者的手機中不斷影響 使用者而使用者無從得知。

手機上的惡意程式能夠竊取我們許多重要的個人隱私資訊,如信用卡帳戶、重要 密碼或是對手機系統造成損害,甚至讀取我們的網頁瀏覽資訊、簡訊內容、聯絡人資 料、監控我們的鍵盤輸入、監聽電話、影像等等。此外,惡意程式的偵測難度越趨困 難,惡意程式作者會利用許多規避技巧,藉以提高分析者的難度,以此躲避防毒軟體 或是 Google Play 商城的檢測,達到上架至 Google Play 商城之目的,並誘使使用者下 載。因此,即使是上架於 Google Play 商店的應用程式也仍有惡意程式威脅的風險。不 論是惡意程式的數量成長或是惡意程式的技術更新,速度皆相當驚人。根據防毒軟體 公司 McAfee 截至 2020 年第一季之行動裝置惡意程式統計 [2] 如圖 2 ,在 2018 年第一 季所統計到所偵測到的 Android 惡意程式的總數就高達兩千五百萬筆。而在 2019 年時 第四季時,所偵測到的惡意程式數量更是已經超過三千五百萬筆。可怕的是,這數字 仍在持續攀升。因此,如何在大量的應用程式快速篩選出潛在的惡意程式,是相當重 要的議題。

3

圖 2 McAfee 2020 年第一季手機惡意程式統計

1.2 研究動機

隨著 Android 惡意程式的數量持續增加且變化快速,傳統的特徵碼分析方法已無 法跟上惡意程式變種的速度。惡意程式之變種目的通常為 1. 躲避偵測 2. 功能強化。若 目的為躲避偵測,則惡意程式通常會透過更改函式名稱及部分程式碼區塊,使得惡意 程式之特徵產生變化,進而達成躲避特徵資料庫偵測之效果。若目的為功能強化,則 會修改或增加程式碼區段,達成駭客其他目的。而不論是何種類型之變種,亦會留下 許多線索,例如特徵改變,但功能類似,透過線索,便可將惡意程式歸納為特定惡意 程式家族。

由於特徵碼的分析需先建立特徵資料庫,並從已知惡意程式中提取二進制編碼作 為特徵。對駭客而言,只需簡單將惡意程式修改一小部分,特徵便可產生變化。然而,

這樣的變化,大多數仍須透過惡意程式分析人員檢查與確認才可建檔至特徵資料庫。

這也顯示,新特徵建檔速度,遠不及惡意程式的變種數度。因此有許多新的分析技巧 出現,現有的研究也已經能夠對於 Android 既有惡意程式偵測達到良好的準確率。但 若要達到非常準確的惡意行為判斷,需同時對程式進行靜態分析與動態分析,才能將 惡意程式之行為完整揭露。靜態分析方法會將惡意程式透過反組譯的方法,將可執行 程式轉換為原始程式碼或是組合語言。像是在 Android 的平台上的靜態分析方法,會 透過反組譯工具將 Android 的安裝檔案(APK, Android Application Package),轉換為原 始 Java 程式,並進一步分析。此種方法分析速度快,節省運算資源成本,但缺點是較 難以得知程式實際執行狀態。而動態分析則是需要將欲分析之惡意程式在一個隔離環 境中實際執行起來,同時記錄程式所執行的每一個行為,藉以瞭解惡意程式真實樣貌。

相較於靜態分析,動態分析需要耗費更多的執行時間與運算資源成本。

4

本研究希望透過惡意行為來偵測 Android 惡意程式,惡意行為分析不同於特徵碼 分析,行為本身是一種動作,而動作則由一系列原生的 Android 的應用程式介面呼叫 (API, Application Programming Interface) 所構成,在本研究將簡稱 Android API 函式。

此研究所提之 Android API 為 Google 公司為提供 Android 程式開發者更加方便操作 Android 系統之程式介面,程式開發者僅需按照官方所提供之手冊,便可透過程式碼撰 寫,以函式組合各種 Android API 函式操控手機軟硬體功能。駭客通常透過混淆技術,

將組合各種 Android API 的函式名稱進行替換,使程式在邏輯或功能維持不變,但函式 名稱卻難以讓分析人員閱讀。以 Android API 函式組合分析惡意行為之優點,便是其本 身無法被混淆技術所影響。因為這些 Android 應用程式在執行時,若遇到混淆過後的 Android API 函式是無法被執行環境所辨識的,若經混淆,則會導致 Android API 函式 功能無法使用,進而使得惡意行為無法使用。例如竊取使用者地理位址,就必須呼叫 getCellLocation 這個 Android API 函式來取得使用者地理位置,並有可能透過網路或是 簡訊的方式傳送給攻擊者。我們發現許多惡意行為都會伴隨著危險的權限以及危險的 Android API 函式呼叫以及 Android API 函式呼叫的先後順序,因此如何從許多行為中 偵測出潛在惡意行為的發生,是有其必要性的。

1.3 研究目的

在本研究中所提出之 Android 惡意程式檢測方法,目的為提升偵測 Android 惡意程 式的準確性和效能,利用 Android 應用程式中的資訊,如安裝應用程式中的權限請求、

Android API 函式呼叫,以及 Android API 函式呼叫先後順序作為本研究的分析變數,

並使用五種資料探勘中的分類分析技術,分別為梯度提升、極限梯度提升、決策樹、

支援向量機以及單純貝氏分類,希望能夠藉由分類預測的方式,偵測出未知的 Android 應用程式是否為惡意程式。透過權限、 Android API 函式 和 Android API 函式呼叫先後 順序作為判斷依據,將三類不同性質之特徵組合作為特徵變數。利用惡意 Android API 函式的辨識,來找到更多有關惡意行為的證據,以此加強分析之準確性。本研究將會 對目標 Android 應用程式之 APK 檔案進行分析,建立分類預測模型,預期可以提升惡 意行為檢測的準確性與效能,提出新型態 Android 惡意程式偵測系統。

5

本論文的第一章說明本研究之時空背景以及本研究的研究動機與目的。在第二章 會討論先前既有之學者在偵測 Android 惡意程式相關的研究。第三章為本論文之研究 架構,在此章節本研究將會提出如何構建 Android 惡意程式分類預測模型。第四章則 是本論文的實證與評估,我們會實際收集訓練和測試樣本,建立我們的分類預測模型,

並在最後評估何種分類預測模組較為適合。第五章則是本研究之結論與未來可進一步 研究之方向。

6

相關文件