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