首頁  >  文章  >  運維  >  如何淺談APP存在的安全問題

如何淺談APP存在的安全問題

WBOY
WBOY轉載
2023-05-19 19:52:532001瀏覽

1     背景分析

當網路時代到來時,人們曾經感慨,一切都在數位化。而今天,一切都在移動。在大街小巷民眾低頭忙著劃動螢幕成為一景。國外權威機構的數據顯示,中國智慧型手機已經佔據了手機總銷量的96%,傳統功能手機基本上已經淡出了歷史舞台。根據美國市場研究公司eMarketer最近的一個報告稱,權威市調機構Gartner的數據顯示,在中國,智慧型手機在手機中銷量的佔比位96%,而美國也是96%。換言之,在行動互聯網的硬體層面,中國和美國已經在一個層面。

智慧型手機的普及隨之推動了手機app的快速發展,當前手機app可涉及小到溝通聊天、外賣預定、車票預定、旅遊預定、購物、新聞瀏覽等,大到銀行投資理財、醫院掛號、支付交易等,一個人的一天活動基本上可依賴手機完成。正因為對app的大量普及,許多軟體開發商都看到了這塊市場帶來的利益,隨著利益的驅動,各種各樣的app層出不窮,app的市場也是魚龍混雜。由於速成化的app安全性無法得到充分保障,近年來,個人資訊外洩事件在透過app發生的頻率很高。

透過大數據分析,對目前手機手機常用app做了統計數表如下:

如何淺談APP存在的安全問題 

從圖表統計不難看出,幾乎每個手機上都安裝有聊天、視訊娛樂、購物等相關app,那這些app是怎麼在手機上運作的呢?又會不知不覺獲取手機的哪些資訊呢?

2     手機app的常見安全問題

伴隨著科技的發展,手機的功能遠遠不止這些,大數據時代已經到來,智慧家庭物聯網時代也隨之而來,此處以安卓app即apk來進行分析,下載任意apk,修改其後綴為tar,即可查看部分apk的相關檔案

如何淺談APP存在的安全問題

AndroidManifest.xml為Android應用的入口文件,它主要描述了安裝包中暴露的元件、各個類別的實作、軟體的相關讀取權限等。以下是您可以在此處取得的AndroidManifest.xml檔案的詳細內容:

如何淺談APP存在的安全問題

透過對AndroidManifest.xml檔案的具體分析,可得知目前app取得到的手機權限如下:

如何淺談APP存在的安全問題

其中主要的權限包括允許讀取手機狀態、允許撥打電話、允許讀取聯絡人、允許修改系統全域設定、允許建立藍牙連線、允許定位、允許開機自動啟動等等相關權限。如果用戶在使用應用程式時選擇了預設安裝模式,可能會導致其個人資訊外洩。

熟悉Android開發的都了解,Android應用程式有四大元件,即Activity,Service服務,ContentProvider內容提供者,BroadcastReceiver廣播接收器。

先來說下activity元件,activity元件之間通信是透過Intent進行通信,為使用者操作展示視覺化介面,一個Android應用程式必須透過activity元件來運作和啟動。 Application之間雖然相互獨立,但是可以透過app中的activity元件進行互相通信、呼叫、存取等,該app的activity元件如下:

如何淺談APP存在的安全問題

##透過此apk進行分析可發現,其入口activity元件是com.meiyou.pregnancy.ui.welcome.WelcomeActivity,app在啟動時調用了其他的activity元件,當activity元件可以進行匯出時,可被第三方app任意調用,造成敏感資訊外洩還可能受到認證繞過、惡意程式碼注入、頁面劫持等風險。

如何淺談APP存在的安全問題

BroadcastReceive使應用程式對外部事件進行過濾只是對需要的事件進行接收並做出回應,並且其沒有用戶介面,但是卻可以啟動一個activity或service來回應收到的訊息,使得不同元件或不同應用程式之間進行通信,首次啟動app時,系統會自動實例NotificationProxyBroadcastReceiver,並註冊到系統中。註冊動態廣播時需要進行註銷操作,否則可能會造成記憶體外洩;重複進行註冊或註銷也是不被允許的。

如何淺談APP存在的安全問題
#

Service服務即背景服務,當使用service服務時,需要在AndroidManifest.xml中聲明,本次測試的apk在AndroidManifest.xml中聲明如下,

如何淺談APP存在的安全問題

service是獨立於activity元件的,在背景執行一些操作,如當需要從伺服器定期取得資料時,此時就需要用到service。

除了四大元件中存在安全漏洞,在呼叫web介面時同樣會出現各種web漏洞,如sql注入漏洞、xss漏洞、越權、未授權等相關漏洞,截圖為某個app的http請求資料包,透過測試發現其post資料包中含有越權存取的漏洞,可透過某個參數越權查看他人的帳戶資訊。

如何淺談APP存在的安全問題

總之app的漏洞可能出現地方有很多,值得我們關注的地方還有很多,例如資料傳輸過程中是否加密,資料在本地儲存中又是否加密、intent啟動activity元件是否安全等等。

3     安全建議

這麼多app,身為一般使用者使用者或是無法對app做到安全偵測的,那麼因為app遭到洩露應該如何去防止個人資訊?

l 首先建議在正規的管道去下載app,防止下載到的app被修改編譯過,不是原版應用;

l 如果沒特殊要求不建議將手機進行root處理;

在安裝應用程式時,請注意其所需的開放權限,並關閉不必要的權限,例如位置資訊、讀取手機聯絡人等

l 可在手機上安裝合適的防毒軟體,定期進行查殺並清理沒用的軟體、套件等;

l 定期升級相關app,修復舊版存在的bug。

以上是如何淺談APP存在的安全問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除