當網路時代到來時,人們曾經感慨,一切都在數位化。而今天,一切都在移動。在大街小巷民眾低頭忙著劃動螢幕成為一景。國外權威機構的數據顯示,中國智慧型手機已經佔據了手機總銷量的96%,傳統功能手機基本上已經淡出了歷史舞台。根據美國市場研究公司eMarketer最近的一個報告稱,權威市調機構Gartner的數據顯示,在中國,智慧型手機在手機中銷量的佔比位96%,而美國也是96%。換言之,在行動互聯網的硬體層面,中國和美國已經在一個層面。
智慧型手機的普及隨之推動了手機app的快速發展,當前手機app可涉及小到溝通聊天、外賣預定、車票預定、旅遊預定、購物、新聞瀏覽等,大到銀行投資理財、醫院掛號、支付交易等,一個人的一天活動基本上可依賴手機完成。正因為對app的大量普及,許多軟體開發商都看到了這塊市場帶來的利益,隨著利益的驅動,各種各樣的app層出不窮,app的市場也是魚龍混雜。由於速成化的app安全性無法得到充分保障,近年來,個人資訊外洩事件在透過app發生的頻率很高。
透過大數據分析,對目前手機手機常用app做了統計數表如下:
從圖表統計不難看出,幾乎每個手機上都安裝有聊天、視訊娛樂、購物等相關app,那這些app是怎麼在手機上運作的呢?又會不知不覺獲取手機的哪些資訊呢?
伴隨著科技的發展,手機的功能遠遠不止這些,大數據時代已經到來,智慧家庭物聯網時代也隨之而來,此處以安卓app即apk來進行分析,下載任意apk,修改其後綴為tar,即可查看部分apk的相關檔案
AndroidManifest.xml為Android應用的入口文件,它主要描述了安裝包中暴露的元件、各個類別的實作、軟體的相關讀取權限等。以下是您可以在此處取得的AndroidManifest.xml檔案的詳細內容:
透過對AndroidManifest.xml檔案的具體分析,可得知目前app取得到的手機權限如下:
其中主要的權限包括允許讀取手機狀態、允許撥打電話、允許讀取聯絡人、允許修改系統全域設定、允許建立藍牙連線、允許定位、允許開機自動啟動等等相關權限。如果用戶在使用應用程式時選擇了預設安裝模式,可能會導致其個人資訊外洩。
熟悉Android開發的都了解,Android應用程式有四大元件,即Activity,Service服務,ContentProvider內容提供者,BroadcastReceiver廣播接收器。
先來說下activity元件,activity元件之間通信是透過Intent進行通信,為使用者操作展示視覺化介面,一個Android應用程式必須透過activity元件來運作和啟動。 Application之間雖然相互獨立,但是可以透過app中的activity元件進行互相通信、呼叫、存取等,該app的activity元件如下:
#
Service服務即背景服務,當使用service服務時,需要在AndroidManifest.xml中聲明,本次測試的apk在AndroidManifest.xml中聲明如下,
service是獨立於activity元件的,在背景執行一些操作,如當需要從伺服器定期取得資料時,此時就需要用到service。
除了四大元件中存在安全漏洞,在呼叫web介面時同樣會出現各種web漏洞,如sql注入漏洞、xss漏洞、越權、未授權等相關漏洞,截圖為某個app的http請求資料包,透過測試發現其post資料包中含有越權存取的漏洞,可透過某個參數越權查看他人的帳戶資訊。
總之app的漏洞可能出現地方有很多,值得我們關注的地方還有很多,例如資料傳輸過程中是否加密,資料在本地儲存中又是否加密、intent啟動activity元件是否安全等等。
這麼多app,身為一般使用者使用者或是無法對app做到安全偵測的,那麼因為app遭到洩露應該如何去防止個人資訊?
l 首先建議在正規的管道去下載app,防止下載到的app被修改編譯過,不是原版應用;
l 如果沒特殊要求不建議將手機進行root處理;
在安裝應用程式時,請注意其所需的開放權限,並關閉不必要的權限,例如位置資訊、讀取手機聯絡人等
l 可在手機上安裝合適的防毒軟體,定期進行查殺並清理沒用的軟體、套件等;
l 定期升級相關app,修復舊版存在的bug。
以上是如何淺談APP存在的安全問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!