由於Android開放及碎片化特性,且部分App開發者設計不當,因此針對Android惡意攻擊的事件時有所聞。面對民眾關切App個人及敏感性資料保護等資訊安全議題,本文將介紹基本的Android App安全性分析檢測,並設計實驗示範說明Android的App分析檢測過程及內容。
自從史蒂夫‧賈伯斯(Steve Jobs)在2007年1月9日發布第一代iPhone開始,智慧型手機革命性地改變了人類原本對手機的認知,2008年蘋果(Apple)推出App Store,讓第三方App開發者可製作App上傳到App Store,讓iPhone使用者可購買下載。
Google也不讓Apple專美於前,收購Android科技公司,並與HTC、摩托羅拉(Motorola)、三星(Samsung)等等製造商成立開放手機聯盟(Open Handset Alliance),推出了Android作業系統,以Apache免費開放原始碼許可證的授權方式發布了Android原始碼,讓製造商自行製作Android智慧型手機。如同Apple的App Store,Google也推出Android的App商城Android Market,後改版為Google Play。而Google與Apple不同的是,Android除了透過Google Play下載安裝App外,也允許透過下載apk的方式進行安裝App。
App爆炸性的成長及應用,重新改寫人類原本使用網際網路的方式,不論是入口網站、購物、新聞、超商、藥妝店、銀行、政府服務等等,都從原本的行動版網站服務轉換至App服務,並提供許多原本行動版網站無法達到的功能。相對地,App的安全問題也從中浮現。部分App開發者缺乏資安觀念,設計不當造成App有資安漏洞。
據行政院消費者保護處在2018年6月公布「4G應用程式App基本資安檢測」結果,依據經濟部工業局2017年3月7日公告之「行動應用App基本資安檢測基準V2.1」規範,抽測市面15件4G應用程式App,其中包括線上購物類6件、保(壽)業類3件、線上支付類4件及線上訂票類2件,初測結果全部未通過,複測結果只有7件通過,顯見目前App設計開發仍尚缺安全開發觀念。
除App設計不當外,木馬App偽裝成正常付費App放在網路上標榜破解免費版誘騙他人下載也時有所聞,甚至是直接上傳至Google Play商店躲過審核上架,消除使用者的警覺進行下載,而Google也多次接獲防毒、資安公司通報而將有問題的App下架,但也有許多惡意App躲過偵測或重新上架。
近期2018年6月IBM資安團隊在Google Play上發現有10款惡意App,與之前不同的是,該等App內僅夾帶下載器(Downloader),更有機會躲過安全檢查及掃描,一旦安裝至智慧型手機後,再將木馬程式下載執行。
面對App的資安威脅,有鑑於在Android的App除了透過Google Play外,另可透過下載apk方式進行安裝,相較於iOS僅能透過App Store安裝,威脅程度更高,因此本文針對Android App的資安檢測進行基本的介紹。
相關知識介紹
Android作業系統的應用程式在沙箱(Sandbox)的環境中執行,行為皆受到權限(Permission)的限制,用意在於保護系統每一應用程式不會被其他應用程式存取,而當應用程式與系統或其他應用程式間有存取資料的需求,為了要讓不同程序間互通,則須設定Android作業系統使用權限,當應用程式被准許權限時,才能執行系統的操作。
權限依照保護層級,可以分為正常(Normal)、簽名(Signature)和危險(Dangerous)權限,其中危險權限涵蓋應用程序需要涉及用戶私人訊息的資訊或資源的區域,或者可能會影響用戶儲存的資訊或其他應用程序的操作,例如通訊錄、相機、地理資訊、錄音、簡訊等等,相關危險權限列表如圖1所示。