移動(dòng)APP安全測(cè)試要點(diǎn)_第1頁(yè)
移動(dòng)APP安全測(cè)試要點(diǎn)_第2頁(yè)
移動(dòng)APP安全測(cè)試要點(diǎn)_第3頁(yè)
移動(dòng)APP安全測(cè)試要點(diǎn)_第4頁(yè)
移動(dòng)APP安全測(cè)試要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

移動(dòng)APP安全測(cè)試要點(diǎn)隨著運(yùn)營(yíng)商新技術(shù)新業(yè)務(wù)的發(fā)展,運(yùn)營(yíng)商集團(tuán)層面對(duì)安全的要求有所變化,滲透測(cè)試工作將會(huì)面臨內(nèi)容安全、計(jì)費(fèi)安全、客戶信息安全、業(yè)務(wù)邏輯及APP等方面的挑戰(zhàn)。隨著運(yùn)營(yíng)商自主開(kāi)發(fā)的移動(dòng)APP越來(lái)越多,這些APP可能并不會(huì)通過(guò)應(yīng)用市場(chǎng)審核及發(fā)布,其中的安全性將面臨越來(lái)越多的挑戰(zhàn),這一點(diǎn)在《XcodeGhost危害國(guó)內(nèi)蘋(píng)果應(yīng)用市場(chǎng)》一文中就曾提到過(guò)。這個(gè)問(wèn)題也引起了運(yùn)營(yíng)商的足夠重視,已經(jīng)自主開(kāi)發(fā)了自動(dòng)化檢測(cè)工具及定期的APP安全測(cè)試評(píng)估工作。在此,邀請(qǐng)到移動(dòng)APP安全測(cè)試專(zhuān)家,讓他們結(jié)合一次AndroidAPP安全測(cè)試實(shí)例,為大家講解評(píng)估特點(diǎn),并將評(píng)估檢查點(diǎn)、評(píng)估細(xì)節(jié)和整改建議一一列出,給大家提供移動(dòng)終端APP安全測(cè)試的思路。風(fēng)起云涌的高科技時(shí)代,隨著智能手機(jī)和iPad等移動(dòng)終端設(shè)備的普及,人們逐漸習(xí)慣了使用應(yīng)用客戶端上網(wǎng)的方式而智能終端的普及不僅推動(dòng)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展,也帶來(lái)了移動(dòng)應(yīng)用的爆炸式增長(zhǎng)。在海量的應(yīng)用中,APP可能會(huì)面臨如下威脅:

木馬破解慕改資源打包篡改竊取病毒木馬破解慕改資源打包篡改竊取病毒新技術(shù)新業(yè)務(wù)移動(dòng)APP評(píng)估思路在這次的移動(dòng)APP安全測(cè)試實(shí)例中,工作小組主要通過(guò)如下7個(gè)方向,進(jìn)行移動(dòng)終端APP安全評(píng)估:/能力調(diào)用資源訪問(wèn)感信息安聽(tīng)認(rèn)證鑒權(quán)謹(jǐn)信安全鍵盤(pán)輸入反逆向

/能力調(diào)用資源訪問(wèn)感信息安聽(tīng)認(rèn)證鑒權(quán)謹(jǐn)信安全鍵盤(pán)輸入反逆向運(yùn)營(yíng)商自動(dòng)化APP測(cè)評(píng)思路運(yùn)營(yíng)商自主開(kāi)發(fā)的自動(dòng)化APP安全檢測(cè)工具,通過(guò)”地集、省”三級(jí)機(jī)構(gòu)協(xié)作的方式,來(lái)完成移動(dòng)終端APP安全檢測(cè)與評(píng)估。APP測(cè)試思路如下:檢查AndroidManifestxml配置文件中權(quán)限選項(xiàng)對(duì)常見(jiàn)的安全問(wèn)題進(jìn)行配置驗(yàn)證,通過(guò)模擬攻擊方式,驗(yàn)證終端檢查AndroidManifestxml配置文件中權(quán)限選項(xiàng)對(duì)常見(jiàn)的安全問(wèn)題進(jìn)行配置驗(yàn)證,通過(guò)模擬攻擊方式,驗(yàn)證終端APP存在的問(wèn)題對(duì)常見(jiàn)的安全問(wèn)題采取簡(jiǎn)單人工驗(yàn)證方式,獲取終端APP信息.自動(dòng)化檢測(cè)思路安全檢測(cè)要點(diǎn)Allowbackup漏洞AndroidManifest.xml文件中allowBackup屬性值被設(shè)臵為true。當(dāng)allowBackup標(biāo)志為true時(shí),用戶可通過(guò)adbbackup來(lái)進(jìn)行對(duì)應(yīng)用數(shù)據(jù)的備份,在無(wú)root的情況下可以導(dǎo)出應(yīng)用中存儲(chǔ)的所有數(shù)據(jù),造成用戶數(shù)據(jù)的嚴(yán)重泄露。<applicationandroid:theme=1T@7F0C0QEF,Tandroid:label=ir@7F0B0097,randroid:"???叫肚02006寧*android:name=w^??皿?aw?MyApplication1TIandroid:alLowBackup=lptxaelpI整改建議將參數(shù)android:allowBackup屬性設(shè)置為false,不能對(duì)應(yīng)用數(shù)據(jù)備份。WebView漏洞應(yīng)用中存在WebView漏洞,沒(méi)有對(duì)注冊(cè)JAVA類(lèi)的方法調(diào)用進(jìn)行限制,導(dǎo)致攻擊者可以利用反射機(jī)制調(diào)用未注冊(cè)的其他任何JAVA類(lèi),最終導(dǎo)致javascript代碼對(duì)設(shè)備進(jìn)行任意攻擊。protectedWeb^iewcreateRe^restiablEViEwfZcnTexzarj4r二二二二二argS^{vveliViewvO=super.crcBteRerr^shableVi-ew{BD54rargSJ:return訕;整改建議通過(guò)在Java的遠(yuǎn)程方法上面聲明一個(gè)@JavascriptInterface來(lái)代替addjavascriptInterface;在使用js2java的bridge時(shí)候,需要對(duì)每個(gè)傳入的參數(shù)進(jìn)行驗(yàn)證,屏蔽攻擊代碼;Note:控制相關(guān)權(quán)限或者盡可能不要使用js2java的bridge。關(guān)鍵數(shù)據(jù)明文傳輸應(yīng)用程序在登錄過(guò)程中,使用http協(xié)議明文傳輸用戶名和密碼,并未對(duì)用戶名和密碼進(jìn)行加密處理。通過(guò)監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)就可以截獲到用戶名和用戶密碼數(shù)據(jù),導(dǎo)致用戶信息泄露,給用戶帶來(lái)安全風(fēng)險(xiǎn)。Content-Lengih:TOCentcm-Type:貞口口lication/x-www-form-ur1encoded匚如:Ke*p-AliwUser-^gem:Apiche-KtteCLient/UHAVAILABLE(j*va1.4)整改建議在傳輸敏感信息時(shí)應(yīng)對(duì)敏感信息進(jìn)行加密處理任意賬號(hào)注冊(cè)使用手機(jī)號(hào)133*****887注冊(cè)某個(gè)APP,獲取驗(yàn)證碼46908;在確認(rèn)提交時(shí),攔截請(qǐng)求,修改注冊(cè)的手機(jī)號(hào)碼,即可注冊(cè)任意賬號(hào),這里修改為1338*****678(任意手機(jī)號(hào));

Etm/i.iPOSThttp:/-Etm/i.iPOSThttp:/-AUTH-IEES-ID:S3TAdffafd占凸冊(cè)6£他J±fb到9陰頭fl1CGnitriT-LwiBitt:1弭Cantc:nt-T>pe:a^plicjiti<m/i^mw-form^urlcneededCmneciivn-Keep--AlivuUsrr-Asctit:ftpachc-KltpCLirnt/UNft^iLfthLE(joval.fl)isLoftin=lti:5t-rnajKisLoftin=lti:5t-rnajK;創(chuàng)卿irl亟MHH-LSER-ID:S3Iti佗兔辺4旣砧99拴fL39953itf71駅站切1吒Fngth:L帥Cantent*Type:apoli-catiact/himr-fara-urJencodedHast:U'sir-XEirrt:Aja^h?imt/UNA.VAllftBLE(jsva1,4}分別使用133*****887和133*****678(任意手機(jī)號(hào))登錄,均可以通過(guò)驗(yàn)證登錄,看到最終結(jié)果。整改建議注冊(cè)過(guò)程最后的確認(rèn)提交時(shí),服務(wù)器應(yīng)驗(yàn)證提交的賬號(hào)是否是下發(fā)驗(yàn)證碼的手機(jī)號(hào)。登錄界面可被釣魚(yú)劫持應(yīng)用存在釣魚(yú)劫持風(fēng)險(xiǎn)。應(yīng)用程序沒(méi)有做防釣魚(yú)劫持措施,通過(guò)劫持應(yīng)用程序的登錄界面,可以獲取用戶的賬號(hào)和密碼,可能導(dǎo)致用戶賬號(hào)信息的泄露。關(guān)貼戲因F■10:33□電話號(hào)碼¥密碼提示若顯示此懸浮框則說(shuō)明謹(jǐn)界面可被劫持關(guān)閉注冊(cè)忘記密碼整改建議:應(yīng)用程序自身通過(guò)獲取棧頂activity,判斷系統(tǒng)當(dāng)前運(yùn)行的程序,一旦發(fā)現(xiàn)應(yīng)用切換(可能被劫持),給予用戶提示以防范釣魚(yú)程序的欺詐。獲取棧頂activity(如下圖),當(dāng)涉及敏感activity(登錄、交易等)切換時(shí),判斷當(dāng)前是否仍留在原程序,若不是則通過(guò)Toast給予用戶提示。ComponentNamecn=((ActivilyHanager)getSystemSerce(Cantejct))-getRunningTasks(1).get(^).topActivity;使用HTML5架構(gòu)或android+HTML5混合開(kāi)發(fā),實(shí)現(xiàn)登陸、支付等關(guān)鍵頁(yè)面,降低被劫持的風(fēng)險(xiǎn)。有爭(zhēng)議的整改建議在實(shí)施整改過(guò)程中,運(yùn)營(yíng)商、APP廠商及安全廠商之間就如下幾點(diǎn)存在爭(zhēng)議:關(guān)鍵數(shù)據(jù)明文傳輸根據(jù)客戶測(cè)評(píng)結(jié)果以及移動(dòng)終端APP廠商理解,目前的數(shù)據(jù)安全問(wèn)題可為:客戶端安全(數(shù)據(jù)錄入)。客戶端到服務(wù)器安全(數(shù)據(jù)傳輸)。服務(wù)器端安全(數(shù)據(jù)存儲(chǔ))。而關(guān)鍵數(shù)據(jù)明文傳輸屬于客戶端數(shù)據(jù)錄入安全,針對(duì)此部分,目前不僅是移動(dòng)終端APP,包括Web安全方面,對(duì)此部分要求也是不一而分,具體可以體現(xiàn)為:具有現(xiàn)金流的交易平臺(tái):此類(lèi)業(yè)務(wù)安全級(jí)別要求最高,在數(shù)據(jù)傳輸方面也是目前做得最好的。主要代表是:淘寶、京東、各大銀行網(wǎng)銀等具有較大社會(huì)影響力的平臺(tái):此類(lèi)業(yè)務(wù)安全級(jí)別低于上述業(yè)務(wù),但由于賬戶數(shù)據(jù)丟失以后,對(duì)其自身以及社會(huì)影響較大,所以在傳輸上也不會(huì)采取明文傳輸。如:百度、騰訊等。數(shù)據(jù)丟失本身不會(huì)造成較大的影響的平臺(tái):此類(lèi)業(yè)務(wù)賬戶數(shù)據(jù)本身價(jià)值不大,丟失以后也不會(huì)造成影響,或者本身不會(huì)受到太大關(guān)注,一般都不會(huì)對(duì)傳輸數(shù)據(jù)進(jìn)行加密。這樣的例子比比皆是。當(dāng)然也有廠商提出,明文傳輸在某些專(zhuān)業(yè)的漏洞檢測(cè)和通報(bào)的網(wǎng)站上,是不屬于安全漏洞的,為了驗(yàn)證此異議,在某平臺(tái)上提交了一份關(guān)于明文傳輸?shù)穆┒?,得到的結(jié)果請(qǐng)看下圖:發(fā)布喜戶賬戶信皂泄謁QTVA-2015-2868082015年08月20日登錄界面釣魚(yú)劫持APP應(yīng)用存在釣魚(yú)劫持風(fēng)險(xiǎn)。應(yīng)用程序沒(méi)有做防釣魚(yú)劫持措施,通過(guò)劫持應(yīng)用程序的登錄界面,可以獲取用戶的賬號(hào)和密碼,可能導(dǎo)致用戶賬號(hào)信息的泄露。這一條檢測(cè)結(jié)果,最大的爭(zhēng)議在于按照整改建議整改以后,對(duì)一般用戶來(lái)說(shuō),沒(méi)有任何作用。首先,我們了解一下釣魚(yú)劫持如何產(chǎn)生。Android釣魚(yú)原理需要理解,Android啟動(dòng)一個(gè)Activity時(shí),是這樣設(shè)計(jì)的,給Activity加入一個(gè)標(biāo)志位FLAG_ACTIVITY_NEW_TASK,就能使它臵于棧頂并立馬呈現(xiàn)給用戶。但是這樣的設(shè)計(jì)卻有一個(gè)缺陷。如果這個(gè)Activity是用于盜號(hào)的偽裝Activity呢?這種現(xiàn)象在XcodeGhost事件中,已經(jīng)被證實(shí)是可以實(shí)現(xiàn)的。在Android系統(tǒng)當(dāng)中,程序可以枚舉當(dāng)前運(yùn)行的進(jìn)程而不需要聲明其他權(quán)限,這樣的話,就可以編寫(xiě)一個(gè)程序,啟動(dòng)一個(gè)后臺(tái)的服務(wù),這個(gè)服務(wù)不斷地掃描當(dāng)前運(yùn)行的進(jìn)程,當(dāng)發(fā)現(xiàn)目標(biāo)進(jìn)程啟動(dòng)時(shí),就啟動(dòng)一個(gè)偽裝的Activityo如果這個(gè)Activity是登錄界面,那么就可以從中獲取用戶的賬號(hào)密碼,具體的過(guò)程如下圖:

標(biāo)志位當(dāng)前的activityactivityQl覽先顯示為當(dāng)前的drctiwilYProgram:用于掃描燧程掃描具有特殊功tEffJa-ctivityFLAG_ACTIVITY_NEW_m$KactivityD2標(biāo)志位當(dāng)前的activityactivityQl覽先顯示為當(dāng)前的drctiwilYProgram:用于掃描燧程掃描具有特殊功tEffJa-ctivityFLAG_ACTIVITY_NEW_m$KactivityD2activity03activityQ4通卻偽裝的惡意程序偽裝的activity逬入標(biāo)志誼檢測(cè)原理描述清楚以后,就需要給出讓軟件廠商能夠明白的整改建議以及漏洞情景重現(xiàn)。Android釣魚(yú)情景演示以小米手機(jī)為例:1.當(dāng)打開(kāi)3個(gè)APP時(shí),最后一個(gè)打開(kāi)的APP”語(yǔ)音助手”,切換至手機(jī)桌面,長(zhǎng)按HOME鍵查看進(jìn)程,”語(yǔ)音助手”會(huì)顯示在進(jìn)程的第一個(gè)。2.點(diǎn)擊”微信”以后,切換至”微信”,再查看進(jìn)程,:2.點(diǎn)擊”微信”以后,切換至”微信”,再查看進(jìn)程,:SM宇離桔手楙令確£)可用f2G可以看到,進(jìn)程中由于”微信”已切換至當(dāng)前窗口,故進(jìn)程◎B56M可用/2G◎B56M可用/2G中不存在3.可以從第1步看到,當(dāng)切換至手機(jī)桌面時(shí),無(wú)論是語(yǔ)手機(jī)令爐語(yǔ)音肋手音助手、手機(jī)令牌、還是微信,都是默認(rèn)后臺(tái)運(yùn)行,而且切

換出來(lái)以后無(wú)任何提示。這樣,當(dāng)惡意activity收到微信登錄

界面或者其他敏感界面的時(shí)候,就會(huì)搶先推送至客戶,從而

讓客戶輕易的輸入了帳號(hào),并獲取了客戶的信息,但此時(shí)微信不會(huì)做任何提示4?再來(lái)觀看一下某行手機(jī)APP,當(dāng)切換至手機(jī)桌面時(shí),

會(huì)對(duì)客戶做出提示。如下圖:撥號(hào)短信測(cè)覽器建行手機(jī)銀行仍在后臺(tái)運(yùn)各如需退岀」請(qǐng)先進(jìn)入建行手機(jī)銀行T會(huì)對(duì)客戶做出提示。如下圖:撥號(hào)短信測(cè)覽器建行手機(jī)銀行仍在后臺(tái)運(yùn)各如需退岀」請(qǐng)先進(jìn)入建行手機(jī)銀行T搖手機(jī)“返回鍵”退岀。假設(shè)一下頁(yè)面是惡意推送的activity,那么在惡意推送的APP頁(yè)面,應(yīng)該會(huì)顯示出此類(lèi)提示,告知客戶,此頁(yè)面并非正常APP的頁(yè)面。用戶打開(kāi)正常頁(yè)面vs用戶打開(kāi)了惡意頁(yè)面¥轉(zhuǎn)賬匯款我的賬戶它賬戶安全中心手機(jī)銀行¥轉(zhuǎn)賬匯款我的賬戶它賬戶安全中心手機(jī)銀行貼心的銀行服務(wù)「帶給您更璽全、便捷前絢能金融

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論