阿里聚安全掃描器之本地拒絕服務(wù)檢測詳解
阿里聚安全的Android應(yīng)用漏洞掃描器有一個檢測項是本地拒絕服務(wù)漏洞的檢測,采用的是靜態(tài)分析加動態(tài)模糊測試的方法來檢測,檢測結(jié)果準(zhǔn)確全面。本文將講一下應(yīng)用漏洞掃描器在針對本地拒絕服務(wù)的檢測方法。
一、本地拒絕服務(wù)產(chǎn)生原因和影響
Android應(yīng)用使用Intent機(jī)制在組件之間傳遞數(shù)據(jù),如果應(yīng)用在使用getIntent(),getAction(),Intent.getXXXExtra()獲取到空數(shù)據(jù)、異?;蛘呋螖?shù)據(jù)時沒有進(jìn)行異常捕獲,應(yīng)用就會發(fā)生Crash,應(yīng)用不可使用(本地拒絕服務(wù))。惡意應(yīng)用可通過向受害者應(yīng)用發(fā)送此類空數(shù)據(jù)、異常或者畸形數(shù)據(jù)從而使應(yīng)用產(chǎn)生本地拒絕服務(wù)。
阿里聚安全的博客以前有一篇文章《Android應(yīng)用本地拒絕服務(wù)漏洞淺析》,里面詳細(xì)講了產(chǎn)生本地拒絕服務(wù)的四種情況:
- NullPointerException空數(shù)據(jù)異常:應(yīng)用程序沒有對getAction()等獲取到的數(shù)據(jù)進(jìn)行空指針判斷,從而導(dǎo)致空指針異常而導(dǎo)致應(yīng)用崩潰。
- ClassCastException類型轉(zhuǎn)換異常:程序沒有對getSerializableExtra()等獲取到的數(shù)據(jù)進(jìn)行類型判斷而進(jìn)行強(qiáng)制類型轉(zhuǎn)換,從而導(dǎo)致類型轉(zhuǎn)換異常而導(dǎo)致應(yīng)用崩潰。
- IndexOutOfBoundsException數(shù)組越界異常:程序沒有對getIntegerArrayListExtra()等獲取到的數(shù)據(jù)數(shù)組元素大小的判斷,從而導(dǎo)致數(shù)組訪問越界而導(dǎo)致應(yīng)用崩潰。
- ClassNotFoundException異常:程序沒有無法找到從getSerializableExtra ()獲取到的序列化類對象的類定義,因此發(fā)生類未定義的異常而導(dǎo)致應(yīng)用崩潰。
當(dāng)應(yīng)用被惡意應(yīng)用攻擊時,本地拒絕服務(wù)一般會導(dǎo)致正在運行的應(yīng)用崩潰,首先影響用戶體驗,其次影響到后臺的Crash統(tǒng)計數(shù)據(jù),另外比較嚴(yán)重的后果是應(yīng)用如果是系統(tǒng)級的軟件,可能導(dǎo)致手機(jī)重啟。Nexus 5曾經(jīng)出現(xiàn)過這樣的情況,它預(yù)裝了一個用來測試網(wǎng)絡(luò)連通性的系統(tǒng)應(yīng)用,這個應(yīng)用是隱藏狀態(tài),無法在桌面上打開,包名為com.lge.SprintHiddenMenu。在Android 4.4.3之前的版本里,這個應(yīng)用里有大量導(dǎo)出的activity,這些 activity不需要任何權(quán)限就可以被外部調(diào)用。其中一個為com.lge.SprintHiddenMenu.sprintspec.SCRTN的組件是導(dǎo)出的,并且沒有任何權(quán)限限制,給它發(fā)送一個空Intent,可導(dǎo)致Nexus 5手機(jī)重啟。
二、阿里聚安全掃描器的進(jìn)化提升
一個簡單的本地拒絕服務(wù)類漏洞,要想進(jìn)行大規(guī)模的自動化掃描,掃描器也要做不少的工作,并且隨著對本地拒絕服務(wù)漏洞的認(rèn)識,阿里聚安全的漏洞掃描器也在不斷進(jìn)行優(yōu)化提高。
2.1 空Intent階段
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26