前言:本文是《移動(dòng)APP客戶(hù)端安全筆記》系列原創(chuàng)文章中的第一篇雨膨,主要講的是企業(yè)移動(dòng)APP自動(dòng)化漏洞檢測(cè)平臺(tái)建設(shè)谷饿,移動(dòng)APP漏洞檢測(cè)發(fā)展史與前沿技術(shù)娃胆,APP漏洞檢測(cè)工具與平臺(tái)哩罪,以及筆者的一些思考。希望能對(duì)移動(dòng)App自動(dòng)化漏洞檢測(cè)感興趣的同學(xué)有所幫助锁摔,限于筆者技術(shù)水平與文章篇幅廓旬,有些內(nèi)容暫沒(méi)有逐一詳細(xì)分析,后續(xù)我爭(zhēng)取多學(xué)習(xí)多分享谐腰,在此也歡迎大家指點(diǎn)和交流孕豹。
一、國(guó)內(nèi)Android App漏洞檢測(cè)發(fā)展簡(jiǎn)史
1.1石器時(shí)代 (2007-2011)
關(guān)鍵詞:反編繹怔蚌,人工審計(jì)
- 2007年11年巩步,Google正式發(fā)布了Android操作系統(tǒng),2011年12月桦踊,Google發(fā)布了Android 2.3版本,Android 應(yīng)用市場(chǎng)App數(shù)量突破10萬(wàn)個(gè)终畅,隨著Android系統(tǒng)的完善及Android設(shè)備數(shù)量的增加籍胯,Android超過(guò)塞班成為主流智能手機(jī)操作系統(tǒng)。與此同時(shí)离福,一些安全研究人員已經(jīng)敏感的嗅到了Android客戶(hù)端安全可能會(huì)成為未來(lái)的安全熱點(diǎn)之一杖狼,不少傳統(tǒng)的二進(jìn)制安全研究人員開(kāi)始轉(zhuǎn)戰(zhàn)移動(dòng)安全。
- 這個(gè)時(shí)間段國(guó)內(nèi)對(duì)Android安全問(wèn)題的關(guān)注主要集中在惡意App分析與檢測(cè)妖爷,App逆向與破解以及Android系統(tǒng)Root蝶涩。對(duì)于Android客戶(hù)端安全問(wèn)題剛主要集中在信息泄露,敏感權(quán)限使用的方面絮识,通常使用反編繹工具分析APK源碼绿聘,然后進(jìn)行人工審計(jì)。
圖1 使用JD-GUI分析APK反編繹后的Java代碼
1.2農(nóng)業(yè)時(shí)代 (2012-2014)
關(guān)鍵詞:自動(dòng)化審計(jì)次舌、靜態(tài)分析熄攘、動(dòng)態(tài)分析
- 2012到2014年間鳞尔,Google發(fā)布了Android4.0-5.0系統(tǒng)县匠,此間爆出不了不少Android 相關(guān)漏洞,比如影響深遠(yuǎn)的Webview遠(yuǎn)程代碼執(zhí)行漏洞降淮,HTTPS中間人漏洞逐沙,讓越來(lái)越多的安全研究人員的焦點(diǎn)慢慢轉(zhuǎn)向Android App客戶(hù)端本身的安全漏洞挖掘上來(lái)哲思。
國(guó)內(nèi)一些廠商也開(kāi)始研發(fā)自己Android App自動(dòng)化審計(jì)系統(tǒng),其中最早的對(duì)外發(fā)布的騰訊金剛審計(jì)系統(tǒng)算是國(guó)內(nèi)這類(lèi)產(chǎn)品的鼻祖之一吩案,其早期版本在功能上實(shí)現(xiàn)了Android App自動(dòng)化靜態(tài)分析與簡(jiǎn)單的動(dòng)態(tài)分析棚赔,審計(jì)點(diǎn)包括:明文保存敏感信息,文件權(quán)限問(wèn)題,日志信息泄露忆嗜,組件權(quán)限問(wèn)題己儒,明文傳輸,拒絕服務(wù)等捆毫。 - 此時(shí)遇到Android APP自動(dòng)化審計(jì)遇到的主要問(wèn)題有:1.靜態(tài)分析主要依賴(lài)于關(guān)鍵詞匹配闪湾,如果缺少上下文分析與可達(dá)性分析,開(kāi)發(fā)者正好自定義了一個(gè)相同關(guān)鍵詞的函數(shù)绩卤,或者存在漏洞的代碼根本沒(méi)有調(diào)用到途样,則會(huì)產(chǎn)生誤報(bào)。2濒憋、大多Android App的代碼與UI是緊密交互的何暇,如果動(dòng)態(tài)分析部分只進(jìn)行了簡(jiǎn)單安裝啟動(dòng)App與自動(dòng)隨機(jī)點(diǎn)擊,無(wú)法覆蓋App大部分界面與功能凛驮,則無(wú)法覆蓋更多的應(yīng)用執(zhí)行路徑裆站,產(chǎn)生有效業(yè)務(wù)數(shù)據(jù),容易導(dǎo)致漏報(bào)黔夭。
圖2 金剛審計(jì)系統(tǒng)主界面
1.3工業(yè)時(shí)代 (2015-至今)
關(guān)鍵詞:模糊測(cè)試宏胯、污點(diǎn)分析、通用脫殼本姥、UI自動(dòng)化遍歷
- 從2015年開(kāi)始肩袍,360捉蟲(chóng)獵手(現(xiàn)改名為360顯微鏡),阿里聚安全等開(kāi)放的在線Android App漏洞檢測(cè)平臺(tái)的出現(xiàn)讓開(kāi)發(fā)者和安全研究者更加方便的進(jìn)行漏洞審計(jì)婚惫,一些開(kāi)源在線檢測(cè)平臺(tái)的出現(xiàn)(如MobSF)也降低了定制化APP漏洞審計(jì)系統(tǒng)的開(kāi)發(fā)門(mén)檻氛赐。同時(shí)模糊測(cè)試,污點(diǎn)分析先舷,通用脫殼艰管,UI自動(dòng)化遍歷等學(xué)術(shù)界與工業(yè)界技術(shù)也開(kāi)始被應(yīng)用到移動(dòng)App漏洞審計(jì)中。下面簡(jiǎn)單談?wù)剮追N技術(shù)在Android App漏洞檢測(cè)領(lǐng)域的應(yīng)用密浑,如果有讀者感到興趣的話后續(xù)再做詳細(xì)分享蛙婴。
1.3.1 Android App Fuzzing - 一般而言Fuzzing技術(shù)常用于二進(jìn)制漏洞挖掘,在移動(dòng)安全領(lǐng)域常見(jiàn)于挖掘系統(tǒng)組件漏洞(如libstagefright)尔破,文件解析類(lèi)應(yīng)用漏洞(如adobe reader街图,視頻播放器)及第三方組件漏洞,常使用的工具有:
- peach/afl/honggfuzz懒构,以及DroidFuzzer)/ MFFA等框架餐济,為了提升成功率,通车ň纾可將幾種工具與框架組件使用絮姆,如AFL+PEACH+MFFA醉冤。除此之外,fuzzing技術(shù)同樣可用于測(cè)試Android 進(jìn)程間通信(IPC)篙悯,比如intent fuzzer)可以直接檢測(cè)App拒絕服務(wù)等漏洞蚁阳。
圖3 KCon2016上安全研究人員提出的組合fuzzing框架
1.3.2 Android App 污點(diǎn)分析
污點(diǎn)分析可分為靜態(tài)污點(diǎn)分析與動(dòng)態(tài)污點(diǎn)分析。靜態(tài)污點(diǎn)分析不需要運(yùn)行程序鸽照,以FlowDroid為例螺捐,目前主流的App靜態(tài)污點(diǎn)分析技術(shù)主要包括如下步驟:
解析應(yīng)用AndroidManifest.xml,Layout配置文件和相關(guān)Dex字節(jié)碼矮燎,根據(jù)預(yù)先建模的Android LifeCycle Model生成超調(diào)用圖 定血,又稱(chēng)過(guò)程間控制流圖(Inter-procedural control flow graph, ICFG);
根據(jù)定義的污點(diǎn)源和錨點(diǎn)(Source and Sink)诞外,將其轉(zhuǎn)換為基于ICFG的后向或前向數(shù)據(jù)流問(wèn)題進(jìn)行求解澜沟;
根據(jù)求解結(jié)果,回答是否存在從某輸入到輸出的數(shù)據(jù)流流動(dòng)路徑峡谊,以顯式Intent問(wèn)題為例茫虽,F(xiàn)lowDroid會(huì)檢測(cè)到一個(gè)以發(fā)送intent的sink方法到最后接收intent的source的路徑存在。
動(dòng)態(tài)污點(diǎn)分析則是在程序運(yùn)行中過(guò)程靖苇,通過(guò)跟蹤變量席噩、內(nèi)存及寄存器的值贤壁,依據(jù)執(zhí)行流程跟蹤污點(diǎn)數(shù)據(jù)的傳播,最后達(dá)到跟蹤攻擊路徑與獲取漏洞信息的目的埠忘,以TaintDroid為例脾拆,需要對(duì)Android系統(tǒng)進(jìn)行定制化修改以便對(duì)App運(yùn)行過(guò)程中的污點(diǎn)數(shù)據(jù)進(jìn)行跟蹤,但由于Android設(shè)備或模擬器性能瓶頸問(wèn)題莹妒,動(dòng)態(tài)污點(diǎn)分析無(wú)法獲取App所有可能的可執(zhí)行路徑名船。
以往污點(diǎn)分析常用于Android惡意App分析,信息泄露檢測(cè)等問(wèn)題旨怠,現(xiàn)在越來(lái)越多的廠商也應(yīng)用于App漏洞檢測(cè)上(如阿里聚安全使用的基于TaintDroid方案)渠驼。相比傳統(tǒng)的App漏洞檢測(cè),污點(diǎn)分析可以跟蹤污點(diǎn)數(shù)據(jù)的傳播過(guò)程鉴腻,確定漏洞是否在實(shí)際環(huán)境中可能被觸發(fā)迷扇,檢測(cè)能力更加強(qiáng)大。目前也有不少開(kāi)源的Android污點(diǎn)分析方案與工具如:TaintDroid爽哎、FlowDroid蜓席、amadroid及CodeInspect,在此之上也發(fā)展出一些針對(duì)Android App漏洞 檢測(cè)方面的工具课锌,如騰訊科恩實(shí)驗(yàn)室Flanker之前開(kāi)源的JAADS厨内。
圖4 Flowdroid運(yùn)行流程
1.3.3Android App 通用脫殼
- App二次打包,破解等問(wèn)題的泛濫催生了App加固產(chǎn)業(yè)的發(fā)展,兩者技術(shù)在也攻防中不斷發(fā)展和進(jìn)化雏胃,目前國(guó)內(nèi)主流的加固方案有梆梆请毛,愛(ài)加密,百度加固瞭亮,360加固方仿,阿里聚安全,騰訊御安全/樂(lè)固街州,通付盾兼丰,NAGA等,對(duì)于在線漏洞檢測(cè)平臺(tái)來(lái)說(shuō)唆缴,如果沒(méi)有通用的自動(dòng)化脫殼方案就意味無(wú)法對(duì)應(yīng)用市場(chǎng)中的很多App代碼進(jìn)行靜態(tài)分析鳍征,甚至由于應(yīng)用被加固無(wú)法運(yùn)行于模擬器中或特定測(cè)試設(shè)備中,影響動(dòng)態(tài)分析結(jié)果面徽。
目前針對(duì)dex文件加固主流的脫殼方法有靜態(tài)脫殼艳丛、內(nèi)存dump、Dalvik虛擬機(jī)插樁趟紊,第一種方法需要針對(duì)廠商加密方案不斷更新氮双,基本不具備通用性,后面兩者的開(kāi)源代表作有: - ZjDroid
- DexHunter
圖5 筆者整理的國(guó)內(nèi)部分APP加固方案
1.3.4移動(dòng) AppUI自動(dòng)化遍歷
- App UI自動(dòng)化遍歷常在App開(kāi)發(fā)測(cè)試中用于檢測(cè)App性能與兼容性霎匈,目前在App漏洞檢測(cè)領(lǐng)域用的比較少(主要由于效率較低)戴差。一般主流的App漏洞檢測(cè)平臺(tái)都包含動(dòng)態(tài)分析,主要是安裝App后自動(dòng)運(yùn)行App并監(jiān)測(cè)App行為铛嘱,通常使用的是Android Monkey test腳本或其它工具隨機(jī)點(diǎn)擊APP界面暖释。
- 實(shí)際上,為了更深入的檢測(cè)App敏感信息泄露與后端WEB接口漏洞墨吓,僅靠隨機(jī)點(diǎn)擊App界面進(jìn)行動(dòng)態(tài)分析是不夠的(比如現(xiàn)在大部分App功能需要注冊(cè)登錄后才能使用)球匕,如果能更好的模擬正常用戶(hù)使用App的過(guò)程,則可以擴(kuò)展監(jiān)測(cè)Logcat日志帖烘,本地文件存儲(chǔ)亮曹,網(wǎng)絡(luò)通信等數(shù)據(jù)審計(jì)能力。
- 目前APP UI測(cè)試框架按原理可分為黑盒與白盒兩種秘症,白盒測(cè)試需要在App開(kāi)發(fā)時(shí)添加測(cè)試組件并調(diào)用照卦,需要App完整源碼,黑盒測(cè)試一般提取App界面的UI元素并根據(jù)算法進(jìn)行遍歷历极,無(wú)需App源碼窄瘟。筆者推薦的黑盒APP UI測(cè)試框架與工具主要有
- AndroidViewClient
- 及國(guó)人基于Appium開(kāi)發(fā)的appCrawler
圖6 appCrawler生成的APP測(cè)試報(bào)告
二、Android App漏洞檢測(cè)
2.1 國(guó)內(nèi)Android App在線漏洞檢測(cè)平臺(tái)
- 騰訊金剛審計(jì)系統(tǒng) 免費(fèi) 無(wú)限制
- 騰訊御安全 免費(fèi) 查看漏洞詳情需認(rèn)證
- 阿里聚安全 免費(fèi) 查看漏洞詳情需認(rèn)證
- 360顯微鏡 免費(fèi) 無(wú)限制
- 360APP漏洞掃描 免費(fèi) 無(wú)限制
- 百度MTC 9.9元/次 無(wú)限制
- 梆梆 免費(fèi) 無(wú)限制
- [愛(ài)內(nèi)測(cè)](http://www.ineice.com/](http://www.ineice.com/) 費(fèi) 無(wú)限制
- 通付盾 免費(fèi) 無(wú)限制
- NAGA 免費(fèi) 無(wú)限制
-
GES審計(jì)系統(tǒng) 免費(fèi) 無(wú)限制
注:排名不分先后
2.2開(kāi)源Android App漏洞檢測(cè)工具
1.MobSF
- Github:https://github.com/ajinabraham/Mobile-Security-Framework-MobSF
Mobile Security Framework(MobSF)是印度安全公司(http://opensecurity.in)開(kāi)發(fā)的一個(gè)智能化趟卸、一體化的開(kāi)放源代碼的移動(dòng)應(yīng)用(Android / iOS)自動(dòng)化測(cè)試框架蹄葱,支持靜態(tài)和動(dòng)態(tài)分析氏义,App后端Web API漏洞檢測(cè)。 - 主要特點(diǎn):基于Python Django的開(kāi)源在線漏洞檢測(cè)框架图云,前端UI完善惯悠,基礎(chǔ)功能全面,安裝布署方便竣况,但總體來(lái)說(shuō)審計(jì)點(diǎn)偏少克婶,不適合實(shí)戰(zhàn),更適合輔助分析與二次開(kāi)發(fā)丹泉,國(guó)內(nèi)目前不少在線APP檢測(cè)的平臺(tái)都有這個(gè)框架的影子情萤。
圖7 MobSF生成的檢測(cè)報(bào)告
2.Drozer
Github:https://github.com/mwrlabs/drozer
- Drozer是MWR Labs開(kāi)發(fā)的一個(gè)開(kāi)源Android 安全測(cè)試框架,支持編寫(xiě)自定義模塊摹恨。目前已經(jīng)有不少介紹Drozer文章筋岛,這里就不多說(shuō)了。
圖8 Drozer運(yùn)行界面
3.Marvin
Github:https://github.com/programa-stic/
Marvin是西班牙Programa STIC組織發(fā)布一個(gè)開(kāi)源Android App漏洞檢測(cè)框架晒哄,該框架主要分為四個(gè)項(xiàng)目:
- (1)Marvin-Django
主要包含框架前端UI界面與數(shù)據(jù)庫(kù)部分睁宰; - (2)Marvin static analyzer
一個(gè)主要基于Androguard 及Static Android Analysis Framework 的Android App靜態(tài)分析引擎。 - (3)Marvin Dynamic Analyzer
一個(gè)APP動(dòng)態(tài)分析引擎寝凌,基于OpenNebula及Android-x86 模擬器柒傻,可搭建分布式分析系統(tǒng),用于復(fù)現(xiàn)靜態(tài)分析發(fā)布的漏洞與動(dòng)態(tài)檢測(cè)漏洞较木。 - (4)Marvin toqueton
一個(gè)自動(dòng)化遍歷APP UI的工具红符,用于分析APP UI控件并進(jìn)行自動(dòng)化交互遍歷,輔助動(dòng)態(tài)分析伐债。
主要特點(diǎn):
筆者剛看到這個(gè)項(xiàng)目發(fā)布時(shí)研究了一番违孝,主要特點(diǎn)有可直接搜索下載Google應(yīng)用商店或者上傳應(yīng)用進(jìn)行分析,可編寫(xiě)自定義靜態(tài)分析腳本泳赋,使用動(dòng)態(tài)引擎復(fù)查靜態(tài)分析的結(jié)果提升準(zhǔn)確性,使用本地應(yīng)用去遍歷APP UI等喇喉,但仔細(xì)實(shí)踐后發(fā)現(xiàn)動(dòng)態(tài)分析環(huán)境(ubuntu+openNebula+Android-X86)的布署很麻煩祖今,多次嘗試都未成功。
圖9 Marvin主界面
4.Inspeckage
Github:https://github.com/ac-pm/Inspeckage
一個(gè)Xposed插件拣技,用于調(diào)試分析Android App千诬。
主要特點(diǎn):
- 使用方便,自帶WEB界面膏斤,裝Xposed插件可以分分鐘開(kāi)始挖漏洞徐绑;2.功能全面:查看Manifest信息,監(jiān)控本地文件讀寫(xiě)莫辨,查看文件內(nèi)容傲茄,查看Logcat日志毅访,查看網(wǎng)絡(luò)通信請(qǐng)求(支持SSL uncheck),監(jiān)控IPC通信盘榨,查看加密操作喻粹,調(diào)用未導(dǎo)出組件等。
圖10 Inspeckage主界面
三草巡、IOS App漏洞檢測(cè)
- 一般來(lái)說(shuō)iOS App由于iOS系統(tǒng)安全限制(非越獄環(huán)境)守呜,且無(wú)法直接反編繹獲取App源碼,其在安全性上遠(yuǎn)高于Android App山憨,但近兩年前隨著XcodeGhost(分析文章)查乒,iBackDoor,AFNetworking中間人等后門(mén)事件與漏洞的曝光郁竟,iOS App安全性也慢慢受到國(guó)內(nèi)開(kāi)發(fā)者與安全研究人員的關(guān)注玛迄。
3.1 常見(jiàn)IOS App漏洞測(cè)試工具
測(cè)試iOS App安全性離不開(kāi)一臺(tái)越獄過(guò)的iOS設(shè)備,以及一些測(cè)試?yán)髑购ⅰT诖撕?jiǎn)單簡(jiǎn)介兩個(gè)iOS App安全測(cè)試工具:
1.****Idb
圖11 Idb主界面
- 官網(wǎng):http://www.idbtool.com
- Github:https://github.com/dmayer/idb
- Idb是一款開(kāi)源的iOS App安全評(píng)估工具憔晒,作者是Danl A.Mayer。
主要功能: - 1.查看應(yīng)用以下信息:應(yīng)用包名蔑舞;注冊(cè)的URL Schemes拒担;SDK版本;應(yīng)用數(shù)據(jù)文件夾位置攻询;應(yīng)用權(quán)限等从撼,
- 2.查看/下載應(yīng)用數(shù)據(jù)文件;
- 3.查看應(yīng)用文件保護(hù)級(jí)別钧栖;
- 4.Dump iOS keychain低零;
- 5.檢測(cè)應(yīng)用是否加密;
- 6.檢測(cè)應(yīng)用編繹安全選項(xiàng)(ASLR/PIE, DEP, ARC)拯杠;
- 7.查看應(yīng)用的shared libraries掏婶;
- 8.提取應(yīng)用binary中的字符串;
- 9.Class dump;
- 10.查看應(yīng)用URL Handler潭陪;
- 11.Invoke and fuzz URL handlers雄妥;
- 12.查看系統(tǒng)剪切板
- 13.截屏
- 14.安裝系統(tǒng)證書(shū);
- 15.編輯 /etc/hosts文件依溯;
- 16.查看系統(tǒng)日志老厌;
2.****Needle
圖12 Needle主界面
- Github:https://github.com/mwrlabs/needle
- Needle是MWR Labs開(kāi)發(fā)的一個(gè)開(kāi)源iOS安全測(cè)試框架,同樣支持開(kāi)發(fā)自定義模塊來(lái)擴(kuò)展Needle的功能黎炉,目前主要功能包含對(duì)iOS應(yīng)用數(shù)據(jù)存儲(chǔ)枝秤,IPC,網(wǎng)絡(luò)通信慷嗜,靜態(tài)代碼分析淀弹,hooking及二進(jìn)制文件防護(hù)等方面的安全審計(jì)丹壕。
- 與drozer類(lèi)似,Needle提供了一個(gè)shell界面垦页,基本idb有的功能needle都有或者說(shuō)以后也會(huì)有(因?yàn)榭梢宰约簩?xiě)模塊)雀费,而Needle還同時(shí)支持Cycript與Frida兩個(gè)hooking方案,可以方便的加載hook腳本與執(zhí)行命令痊焊。
3.2 IOS App自動(dòng)化漏洞檢測(cè)
- 在很長(zhǎng)一段時(shí)間內(nèi)盏袄,iOS安全研究都主要集中在iOS系統(tǒng)安全漏洞挖掘中,由于iOS相對(duì)安全的系統(tǒng)機(jī)制保護(hù)與嚴(yán)格的審核機(jī)制薄啥,iOS App安全性一般比Android App要高不少辕羽,歷史上出現(xiàn)的過(guò)一些iOS App漏洞也主要集中在iOS越獄環(huán)境下,但近年來(lái)XcodeGhost垄惧,AFNetworking框架中間人漏洞以及多個(gè)惡意SDK曝光也說(shuō)明了iOS App安全性并沒(méi)有我們想像的那么高刁愿,建設(shè)iOS App自動(dòng)化漏洞審計(jì)平臺(tái)對(duì)于擁有大量iOS App產(chǎn)品的企業(yè)來(lái)說(shuō)還是很有必要的。
- 為了提升公司iOS App安全漏洞審計(jì)能力與應(yīng)急能力到逊,筆者與riusksk(林大夫)從2015年底開(kāi)始一起研發(fā)iOS App漏洞審計(jì)系統(tǒng)(后續(xù)并入金剛)铣口,目前已經(jīng)成功上線近半年,也輔助發(fā)現(xiàn)了一些iOS App業(yè)務(wù)安全漏洞觉壶,詳情可參考文章:淺談iOS應(yīng)用安全自動(dòng)化審計(jì)
- 此外360NirvanTeam(http://nirvan.#)也上線了在線檢測(cè)功能脑题,開(kāi)源方案MobSF也有iOS App在線審計(jì)功能。此類(lèi)審計(jì)平臺(tái)主要審計(jì)點(diǎn)有:BIN文件分析铜靶,第三方庫(kù)漏洞檢測(cè)叔遂,XCodeGhost檢測(cè),惡意SDK檢測(cè)等争剿。相對(duì)來(lái)說(shuō)金剛更為全面已艰,適合開(kāi)發(fā)上線前自查與安全研究人員輔助分析,包含了私有API檢測(cè)蚕苇,開(kāi)放端口檢測(cè)哩掺,應(yīng)用文件審計(jì),網(wǎng)絡(luò)通信數(shù)據(jù)審計(jì)涩笤,日志審計(jì)疮丛,classdump等功能,后續(xù)還會(huì)繼續(xù)優(yōu)化iOS App UI自動(dòng)化遍歷功能與URL scheme Fuzzing功能辆它。
圖13 TSRC iOS App漏洞審計(jì)報(bào)告部分內(nèi)容
四、構(gòu)建移動(dòng)App漏洞檢測(cè)平臺(tái)
- 目前國(guó)內(nèi)無(wú)論是3BAT履恩,還是移動(dòng)安全公司锰茉,都已經(jīng)提供了移動(dòng)APP漏洞檢測(cè)產(chǎn)品,筆者平時(shí)也會(huì)對(duì)這些平臺(tái)做一些深度體驗(yàn)切心,總體來(lái)說(shuō)隨著技術(shù)發(fā)展飒筑,構(gòu)建APP漏洞檢測(cè)平臺(tái)門(mén)檻已經(jīng)很低技術(shù)也很成熟了片吊。
- 在移動(dòng)互聯(lián)網(wǎng)時(shí)代,不同的企業(yè)對(duì)于移動(dòng)APP產(chǎn)品安全性要求是不一樣的协屡,如金融俏脊,支付,通信肤晓,游戲類(lèi)APP產(chǎn)品對(duì)App客戶(hù)端安全爷贫,業(yè)務(wù)安全,后端服務(wù)器安全都提出了很高要求补憾,定制企業(yè)自已的移動(dòng)APP漏洞檢測(cè)平臺(tái)還是很有必要的漫萄。
筆者僅從個(gè)人角度談?wù)剬?duì)如何構(gòu)建移動(dòng)App漏洞檢測(cè)平臺(tái)的幾點(diǎn)看法: - (1)在平臺(tái)建設(shè)之初可以參考業(yè)界優(yōu)秀的同類(lèi)產(chǎn)品與開(kāi)源方案,目前大部分移動(dòng)App漏洞檢測(cè)平臺(tái)后端基本功能都是使用Python/Java開(kāi)發(fā)盈匾,便于快速開(kāi)發(fā)迭代腾务。
- (2)移動(dòng)APP安全威脅是不斷變化的,漏洞審計(jì)規(guī)則也應(yīng)該支持快速更新削饵,同時(shí)企業(yè)移動(dòng)App漏洞檢測(cè)平臺(tái)應(yīng)該滿足移動(dòng)App產(chǎn)品正式上線前審計(jì)岩瘦,上線后日常排查兩個(gè)基本需求。
- (3)很多開(kāi)發(fā)人員和安全工程師對(duì)漏洞的理解是不一致的窿撬,在輸出漏洞檢測(cè)報(bào)告后启昧,還需要提供詳細(xì)的漏洞利用場(chǎng)景講解與修復(fù)指引。
- (4)多多關(guān)注學(xué)術(shù)界與工業(yè)界的新研究成果尤仍,如果能加入優(yōu)化與利用箫津,可以推動(dòng)平臺(tái)整個(gè)技術(shù)能力的進(jìn)步。
- (5)平臺(tái)的主要建設(shè)者應(yīng)該精通移動(dòng)App漏洞挖掘?qū)崙?zhàn)宰啦,能夠針對(duì)企業(yè)重點(diǎn)產(chǎn)品特性(如動(dòng)態(tài)加載苏遥,熱補(bǔ)丁等技術(shù))提供專(zhuān)業(yè)的解決方案。
同時(shí)筆者提出了一個(gè)甲方/乙方企業(yè)通用的移動(dòng)App漏洞檢測(cè)平臺(tái)架構(gòu)赡模,企業(yè)可以在此基礎(chǔ)上直接接入Web漏洞掃描系統(tǒng)掃描App后端Web漏洞田炭,也可以收集URL測(cè)試業(yè)務(wù)安全漏洞。
圖14 移動(dòng)App自動(dòng)化漏洞檢測(cè)平臺(tái)架構(gòu)(點(diǎn)擊查看大圖)
五漓柑、未來(lái)移動(dòng)App漏洞檢測(cè)平臺(tái)發(fā)展方向
- 在Google最新發(fā)布的Android 7.0系統(tǒng)增加了不少安全特性教硫,如APP開(kāi)發(fā)者可以使用系統(tǒng)提供的接口自主配置信任的證書(shū),默認(rèn)也不再信任用戶(hù)安裝的第三方CA證書(shū)辆布,此舉可提升Android App網(wǎng)絡(luò)通信的安全性瞬矩。
- 可見(jiàn)未來(lái)移動(dòng)APP安全問(wèn)題還將不斷變化,目前大部分移動(dòng)APP漏洞檢測(cè)平臺(tái)最終的檢測(cè)結(jié)果也需要專(zhuān)業(yè)的安全研究人員評(píng)估實(shí)際風(fēng)險(xiǎn)锋玲,歷史上很多移動(dòng)端嚴(yán)重漏洞也是需要結(jié)合業(yè)務(wù)場(chǎng)景的景用,所以說(shuō)移動(dòng)App漏洞檢測(cè)平臺(tái)也只是企業(yè)移動(dòng)App安全建設(shè)中的一環(huán),此外推動(dòng)移動(dòng)安全人才培養(yǎng)惭蹂,移動(dòng)App安全開(kāi)發(fā)規(guī)范伞插,應(yīng)用加固割粮,盜版監(jiān)測(cè)等體系建設(shè)也同樣重要。
筆者個(gè)人認(rèn)為未來(lái)移動(dòng)APP漏洞檢測(cè)平臺(tái)可發(fā)展的幾個(gè)方向有: - 1.機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)安全領(lǐng)域常用于惡意軟件檢測(cè)媚污,流量檢測(cè)等方面舀瓢,目前也已經(jīng)出現(xiàn)一些利用機(jī)器學(xué)習(xí)進(jìn)行Android惡意應(yīng)用等方面的開(kāi)源工具android-malware-analysis與研究,未來(lái)同樣也可能應(yīng)用于Android App漏洞檢測(cè)耗美。 - 2.威脅感知與大數(shù)據(jù)
如何從移動(dòng)App中挖掘數(shù)據(jù)京髓,并分析,整合進(jìn)而利用于漏洞檢測(cè)與威脅感知也是未來(lái)移動(dòng)APP漏洞檢測(cè)發(fā)展方向之一幽歼。目前部分漏洞檢測(cè)平臺(tái)已經(jīng)開(kāi)始支持采集應(yīng)用市場(chǎng)所有移動(dòng)APP源碼及運(yùn)行過(guò)程中產(chǎn)生的網(wǎng)絡(luò)通信數(shù)據(jù)(如域名朵锣,IP,URL等)甸私,進(jìn)行聚合分析與WEB接口漏洞檢測(cè)诚些。同時(shí)四維智創(chuàng),梆梆等安全公司開(kāi)始推廣移動(dòng)應(yīng)用威脅感知產(chǎn)品皇型,此類(lèi)產(chǎn)品通過(guò)SDK收集應(yīng)用的行為與網(wǎng)絡(luò)數(shù)據(jù)诬烹,用于檢測(cè)APT攻擊,防刷單等場(chǎng)景弃鸦。
3.社區(qū)化
- 目前國(guó)內(nèi)已經(jīng)有一些社區(qū)化的WEB漏洞檢測(cè)平臺(tái)绞吁,如Seebug,Tangscan等唬格,盤(pán)古即將公測(cè)的Janus(http://appscan.io)也同樣開(kāi)始主打社區(qū)化家破,Janus支持社區(qū)用戶(hù)自定義檢測(cè)規(guī)則,后臺(tái)結(jié)合海量全網(wǎng)應(yīng)用數(shù)據(jù)购岗,可用于全網(wǎng)應(yīng)用快速漏洞掃描汰聋。同時(shí)社區(qū)化加入了安全研究員的人工審計(jì)流程,后續(xù)可以不斷提升漏洞特征建模的細(xì)度與廣度喊积,提升平臺(tái)檢測(cè)能力烹困。
參考資料:
- [1] http://www.ijcaonline.org/research/volume134/number7/dhavale-2016-ijca-907855.pdf
- [2] http://www.droidsec.cn/
- [3] https://loccs.sjtu.edu.cn/
- [4] http://jaq.alibaba.com/community/index.htm
- [5] http://drops.wooyun.org/
- [6] https://blog.flanker017.me/
本文來(lái)自:Android安全中文站