Android APP漏洞自動化靜態掃描檢測工具-Qark環境搭建與使用

QARK

1、qark簡介

LinkedIn最近開源了他的靜態分析工具QARK,該工具用於分析那些用Java語言開發的Android應用中的潛在安全缺陷。QARK 全稱 Quick Android Review Kit。這個工具用來尋找與 Android 應用相關的安全漏洞,包括檢查源代碼和打包的 APKs。這個工具還可以創建“Proof-of-Concept”可部署的 APKs 或 ADB 命令,能夠利用許多它發現的漏洞。不需要 root 測試設備,因爲這個工具專注於在其它安全環境下能被利用的漏洞。

2、qark功能

QARK對安全缺陷的分析範圍包括:

不經意公開的組件
保護不當的公開組件
易被竊聽或嗅探的Intent
不當的x.509格式的證書校驗
不當地創建“全局可讀”或者“全局可寫”文件
可能泄露敏感數據的Activity組件
是否正確使用Sticky Intent
不安全地創建Pending Intent
發送未經安全保護的Broadcast Intent
源代碼中嵌入了私鑰
使用了弱或不當的加密解密算法
使用了有潛在安全問題的WebView配置項
對其他應用公開的Preference Activity
觸屏劫持
允許備份的應用
允許調試模式的應用
應用中使用的過時的API,其中包含了已知的缺陷
當QARK指出一個潛在缺陷的時候,會針對該缺陷,提供概要解釋和一條詳細解釋的鏈接。它還可以創建可測試的APK文件和若干ADB命令,這些文件和命令能讓你知道該缺陷會產生怎樣的危害。

未來,LinkedIn打算擴展QARK,使它能夠分析Bound Service和Content Provider缺陷,與Java/Android無關的缺陷,解析ODEX文件,改進自身的擴展性,動態分析等等。

當QARK可以被集成到Android工具鏈中,自動探測到問題和缺陷的時候,作者建議同時繼續對應用進行人工審查,因爲還有其他類型的缺陷是靜態分析無能爲力的,而且還有許多缺陷未能完全覆蓋。

3、qark工具環境搭建

qark項目地址是:https://github.com/linkedin/qark

搭建qark的使用環境需要以下幾個前提條件:

1)安裝JDK,版本1.7及以上

2)安裝python 2.7.6 ,下載python源碼進行編譯時,記得加上SSL庫和zlib庫進行編譯安裝。可以參考文章:http://www.linuxdown.net/install/soft/2015/0107/3765.html

3)OSX or Ubuntu Linux (Others may work, but not fully tested)

4、qark工具使用

4.1對APK進行安全評估

命令:python qark.py --source 1 --pathtoapk /root/soft/app/needtest.apk --exploit 1 --install 1

加粗部分是你需要進行安全檢測的APK的路徑

4.2對源碼進行安全評估

python qark.py --source 2 -c /Users/foo/qark/sampleApps/goatdroid/goatdroid --manifest /Users/foo/qark/sampleApps/goatdroid/goatdroid/AndroidManifest.xml --exploit 1 --install 1

5、使用過程中的錯誤總結

錯誤一:import error no module named _curses

解決方法:下載python2.7.6源碼,在編譯安裝python之前,執行命令apt-get install libncurses5 libncurses5-dev libncursesw5;如果已安裝python,重新安裝編譯執行python即可。

錯誤二:ImportError: No module named pkg_resources

解決方案:需要安裝pyhton的setuptools,命令如下:wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

錯誤三:p1.stdin.write(common.args.accept terms) TypeError: must be string or buffer, not None

解決方案:再重新執行一遍qark的檢測命令就行,因爲第一次需要使用qark需要下載Android SDK環境,建議使用qark自己下載,不用自己設定已安裝的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章