2022App安全檢測指南_第1頁
2022App安全檢測指南_第2頁
2022App安全檢測指南_第3頁
2022App安全檢測指南_第4頁
2022App安全檢測指南_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

V-1.0APP安全檢測指南APP安全檢測指南-PANDAAPP安全檢測指南-PANDAPAGEPAGE14【0x01】前言(APP【0x02】測試環(huán)境SDKJavaJDK,AndroidSDK工具7zip,dex2jar,jd-gui,apktool,activity劫持測試工具等(部分工具見附錄下載)【0x03】客戶端程序安全安裝包簽名描述 AndroidAK恰當(dāng)簽名(測試步驟 JDKjarsigner.exe jarsigne.exe-verfyAPK-verboe-certsAPP如上圖,說明測試結(jié)果為安全。如開發(fā)方)威脅等級安裝包簽名的威脅等級判斷一般如下:安全建議 反編譯保護描述sojava科普smaliAndroid(*.classJAVAAPK(表現(xiàn)為測試步驟apkzip(dex使用dex2jar執(zhí)行如下命令: dex2jar.batclasses.dex得到classes.dex.jar然后使用jd-gui打開jar文件,即可得到JAVA代碼?!咀ⅲ褐苯邮褂胹mali2java打開apk文件,也可反編譯回Java代碼。】apktool如上圖,逆向后發(fā)現(xiàn)是沒混淆的情況,是不安全的。下圖為混淆后的代碼樣例,除了覆寫和接口以外的字段都是無意義的名稱:威脅等級若客戶端進行加殼保護,此時認(rèn)為無風(fēng)險。若大部分代碼(包括核心代碼)經(jīng)過混淆,此時低風(fēng)險。若部分代碼混淆,關(guān)鍵代碼(加密或通信等)可以獲知其關(guān)鍵代碼,此時中風(fēng)險。安全建議JNIsoso應(yīng)用完整性校檢描述測試步驟用ApkTool將目標(biāo)APK文件解包,命令如下;java-jarapktool.ard-fapk-oloo容易確認(rèn)結(jié)果);ApkTooljava-jarapktool.arb-f-o輸出apk路徑用SignApk,對未簽名的APK文件進行簽名,命令如下:java-jarsignapk.artestkeyx509.emtestke.pk8待簽名pk簽名后輸出apk將簽了名的APK安裝、運行、確認(rèn)是否存在自校驗;APK和修改后的【注:APKDebug將客戶端程序文件反編譯,修改源碼或資源文件后重新打包安裝運行,結(jié)果如下圖:經(jīng)測試,APP可以被重新打包運行。上圖為沒有進行自校驗的情況,下圖為經(jīng)過自校檢的情況,,修改后無法正常啟動。威脅等級MANIFEST.MFJNIMANIFEST.MF中的數(shù)據(jù)作為驗證憑證(若在本地進行驗證的基礎(chǔ)上只通過MANIFEST.MF對客戶端原有文件進行校驗而忽略新增文件的檢驗,此時中風(fēng)險;若未進行應(yīng)用完整性校驗此時高風(fēng)險。安全建議用MANIFEST.MF組件安全描述 ProviderAPK科普什么是組件? APP組件有什么用? Activity: Service: ContentProviderAPP BroadcastReceiver什么是權(quán)限聲明? 權(quán)限聲明有什么用? APP 什么是組件導(dǎo)出? 組件導(dǎo)出有什么用? APPAPP組件導(dǎo)出有什么危害? 組件調(diào)用B用于B 如果BAB測試步驟方案一: ApkTool顯式聲明了導(dǎo);2. 顯示聲明了則可出3. 未顯示聲明ContentProvider:若組件包含b)ContentProvider:i.若SDK版本<17則可導(dǎo)出,反之不可。Provider方案二:AndroidManifest.xmlexportedtrueexportedtrueandroid:protectionLevelsignatureapkGuidesexported(exportedtrue)可利用威脅等級若不存在組件暴露的情況,此時無風(fēng)險。此時低風(fēng)險;(APK,安全建議避免不必要的組件導(dǎo)出?!?x04】敏感信息安全數(shù)據(jù)文件描述檢測客戶端是否保存明文敏感信息,能否防止用戶敏感信息的非授權(quán)訪問。測試步驟首先查看相關(guān)文件的權(quán)限配置。正常的文件權(quán)最三應(yīng)空類“rw-rw 即應(yīng)自以無(子目錄是應(yīng)用安裝時由androidMODE_WORLD_READABLEMODE_WORLD_WRITEABLE配置文件,(.dbwebViewdatabaseswebview.dbcookies使用數(shù)據(jù)庫查看工具即可查看這些文件中是否有敏感信息。apkapk威脅等級 (或Cookie安全建議此外,正常的件限后位為(似錄允執(zhí)行位(類似“rwxrwx—x”)。Logcat描述 測試步驟MemSpcetorDUMPSD(卡,然后用adb或moitor在這里使用ADB進行查看。 adb adbdevices //adb-s設(shè)備名稱其它命令 //當(dāng)連了個設(shè)時選操的標(biāo)設(shè)備否會錯如下圖: adbpull手機目錄名PC目錄名//從安卓設(shè)備中復(fù)制文件到電腦中然后使用WinHex打開這是查看內(nèi)存遺留的信息,還可以直接使用adb查詢logcat日志:在adbshell中,下命令用logcat //持續(xù)出志,到Ctr+Clogcat-d //logcat-c //1.txt:并未發(fā)現(xiàn)有敏感的信息。威脅等級根據(jù)敏感信息泄露的程度進行威脅等級評分。若相關(guān)信息中存在存儲了用戶登陸密碼(或Cookie安全建議 【0x05】密碼安全鍵盤劫持描述測試步驟威脅等級能夠劫持鍵盤風(fēng)險為高,不能則為無風(fēng)險。安全建議盡量使用系統(tǒng)自定義的隨機軟鍵盤(而非系統(tǒng)輸入法)來輸入敏感信息。或者對Native層輸入記錄功能進行Hook(需要root權(quán)限)。隨機布局軟鍵盤描述測試客戶端實現(xiàn)的軟鍵盤,是否滿足鍵位隨機布放要求。測試步驟 人工觀測……威脅等級安全建議 屏幕錄像描述得用戶輸入。測試步驟使用ADB進行測試:adbshell/system/bin/screencap-p輸出png路徑(安卓設(shè)備中) 如圖: 在/mnt/sdcard/打開: 成功截圖。還有一種驗證方式是從代碼方面進行驗證:(androidSDKFLAG_SECURE目前FLAG_SECURE測試結(jié)果:N-PASS,可截圖,ZTE880E,可截圖ASUSTF300T,可阻止工具及ddms截圖。威脅等級(安全建議()手勢密碼描述 測試步驟手勢密碼的復(fù)雜度:APKjarjd-gui(手勢密碼的修改和取消:APKjarjd-gui手勢密碼的本地信息保存:尋找/data/data(gesture,key)12832161(16040)jar包中搜索對應(yīng)的關(guān)鍵字以迅速對應(yīng)代碼。MD5SHA-1等\h手勢密碼的鎖定策略:1客戶未處于登錄狀態(tài)時是否關(guān)閉客戶端并進行一定時間的輸入鎖定。APKjarjd-gui手勢密碼的抗攻擊測試:1.XposedSwipeBack3.SwipeBack威脅等級手勢密碼的復(fù)雜度:(修改和取消: 風(fēng)險。本地信息保存: (鎖定策略: 抗攻擊測試:若客戶端采用附著的方式將手勢密碼放置于登陸后的界面上時,如果無法抵抗SwipeBack插件的滑動攻擊則高風(fēng)險,如果可以抵抗則無風(fēng)險。安全建議 【0x06】安全策略 密碼復(fù)雜度檢測描述 測試步驟 等,查java威脅等級 低危安全建議 8)賬號登陸限制描述 測試步驟 人工測試。威脅等級 低危安全建議禁止同一個賬號可以同時在多臺移動終端設(shè)備上登陸。賬戶鎖定策略描述 測試步驟 人工測試。威脅等級 低危安全建議 問題驗證描述 (測試步驟 人工測試威脅等級 安全建議 會話安全描述 測試客戶端在超過20測試步驟 人工測試。威脅等級 安全建議 界面切換保護描述測試步驟 (威脅等級 安全建議 UI信息泄露描述 測試步驟 威脅等級UI安全建議注意UI信息的防護。驗證碼安全描述測試步驟 :#coding=utf-8importrequestsimportre#coding=utf-8importrequestsimportres=requests.Session()url_1='https://‘/web/login.jsp’re=s.get(url_1,verify=False)fornumberinrange(10000):url_2='/web/inc/CRrand.jsp?rand='+str(number).zfill(4)s.cookies.set('JSESSIONID','9E426F03658582FE9CD5BF3725CFB444',path='/web/',domain='')req=s.get(url_2,verify=False)result=req.textprint'[*]Tryingfor'+str(number).zfill(4)print'[*]Return:'+result.strip('\n')print'[*]Requesturl:'+url_2if'1'inreq.text:print'**************************************'print'**************************************'print'[*]Thecodeis:'+str(number)print'**************************************'print'**************************************'break (具體可參考附錄中的【業(yè)務(wù)中的一次python驗證碼爆破】)威脅等級 安全建議 安全退出描述 測試步驟 id威脅等級 安全建議 密碼修改驗證描述 測試步驟 人工測試。威脅等級 安全建議 Actiiy描述 activity測試步驟HijackActivity.apk,使用activityOK如果劫持成功,會出現(xiàn)如下界面:威脅等級 Activity安全建議Activity劫持通常依靠注冊Receiver響應(yīng)ent.action.BOOT_COMPLETED事件。客戶端程序可以在啟動前檢查Receiver并報警;由于Activity除此之外,因為【0x07】進程保護內(nèi)存訪問和修改描述(帳號等(測試步驟rootMemSpector(ptraceptrace威脅等級 安全建議對于內(nèi)存中的信息泄露,可以通過反注入、反調(diào)試來解決。動態(tài)注入描述 測試步驟 LD_PRELOADLD_PRELOAD意so,ls命令libc_init(HookaLibraryFunction)或者使用工具動態(tài)注入應(yīng)用進程內(nèi)存。參考附錄di-DynamicDalvkInstrumentationToolkit或者使用hook框架來進行測試。威脅等級 安全建議 【0x08】通信安全通信加密描述測試步驟 如果使用HTTP(SEmulatorEmulatorIPGenymotionGenymotionWIFIIPd)i.使用netshwlan(ii.。HTTP(S)i.EmulatorrootWindows3.如果不是HTTPUDPWPE,但由于TCP這種情況可以通過APP()(正常代理,替換SL2.a)/加密簽名措施的破解,最終還是要根據(jù)客戶端的具體實現(xiàn)方式進行分析。下面的例子()fiddler等)。SSL對客戶端程序代碼進行逆向分析,從登錄按鈕的Listener開始進行邏輯追蹤,可見Listener對密碼進行Base64編碼后進行了異步過程調(diào)用:找到異步過程子程,如下:編寫代碼仿制相關(guān)加密協(xié)議,成功對最初登錄報文中的內(nèi)容進行了解密: staticvoidMain(string[]args){AesCryptoServiceProvidertest=newtest.IV=test.Key=test.Padding=PaddingMode.PKCS7;test.Mode=CipherMode.CBC;ICryptoTransformtdec=taes.CreateDecryptor();stringtinput;while(!sstring.IsNullOrEmpty(tinput=Console..ReadLine())) byte[]ttinput=EncodingEx.Hex(tinput); byte[]toutput=tdec.ICryptoTransformFinalBlock(ttinput,0,ttinput.Length); }威脅等級SSL(TLSRFC4346SSL(SSLV2,SSLV3TLSV1.1)安全建議建議使用SSLCBC證書有效性描述 SSLSSL測試步驟 通過修改DNS,/證SSLJavaSSLHostnameVerifierverifyverify()SSL(SSL 具體可參考附錄:HttpsURLConnection。還需要檢測SSL協(xié)議安全性。主要是檢測客戶端使用的SSL版本號是否不小于3.0(TLSv1(。測試如下:Openssls_client-host\h-port443威脅等級安全建議使用Https方式進行加密,且服務(wù)器通過白名單方式驗證客戶端證書。關(guān)鍵數(shù)據(jù)加密和校檢描述測試步驟apkjava威脅等級UR

溫馨提示

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

最新文檔

評論

0/150

提交評論