話不多說,先上下載地址。【AndroidVTS】
概述
為了Android安全社區(qū)能夠繁榮發(fā)展,NowSecure的研究人員開發(fā)出了一款名叫AndroidVTS的Android漏洞測試套件,用戶可以通過這個測試軟件來測試設(shè)備當(dāng)前所存在的安全漏洞。
在AndroidVTS的幫助下,終端用戶不僅了解當(dāng)前設(shè)備中所存在的攻擊面,而且還可以在不影響系統(tǒng)穩(wěn)定性的情況下掃描出系統(tǒng)中的漏洞。
必要性
當(dāng)一個漏洞被發(fā)現(xiàn)之后,Google會收到相應(yīng)的漏洞報告,Google的技術(shù)人員在對漏洞進行了驗證和分析之后,便會發(fā)布相應(yīng)的更新補丁。通常情況下,Nexus系列會是第一批收到更新通知的設(shè)備,因為Nexus設(shè)備使用的是最接近原生Android的操作系統(tǒng)。我們要知道,技術(shù)人員從發(fā)現(xiàn)一個漏洞,到開發(fā)出相應(yīng)的漏洞補丁,最后再將補丁部署到設(shè)備上,整個過程通常需要花費一年以上的時間,而且有的問題甚至永遠(yuǎn)無法得到解決。比如說漏洞CVE-2014-3153(Towelroot),這個漏洞在2014年5月底被發(fā)現(xiàn),而技術(shù)人員花費了數(shù)月時間才將該漏洞的更新補丁部署到當(dāng)時的旗艦手機Nexus5上。這也就意味著,廣大Android用戶在這段時間里都有可能受到攻擊,而更加嚴(yán)重的是,用戶甚至都不知道自己的Android設(shè)備存在這個漏洞。因此,AndroidVTS可以幫助用戶發(fā)現(xiàn)自己的Android設(shè)備中所存在的安全漏洞,這是非常有意義的。
一個補丁的生命周期
像三星、HTC以及其他的OEM廠商會對自家手機的Android系統(tǒng)進行深度定制,而且很多Android手機的系統(tǒng)還與通信運營商有著密切的關(guān)系,所以這就會讓更新補丁的部署變得更加困難。OEM廠商首先會從Google那里獲取到更新補丁,然后再花好幾周或幾個月的時間對設(shè)備進行測試。最終,廠商再將更新補丁推送給終端用戶。處理完這個漏洞之后,OEM廠商又要開始著手處理下一個漏洞了,這就是一個補丁的生命周期。
檢測實現(xiàn)
AndroidVTS目前所能檢測的漏洞如下:
ZipBug9950697
Zip Bug 8219321 / Master keys
Zip Bug 9695860
Jar Bug 13678484 / Android FakeID
CVE 2013-6282 / put/get_user
CVE_2011_1149 / PSNueter / Ashmem Exploit
[CVE_2014_3153 / Futex bug / Towelroot] (http://seclists.org/oss-sec/2014/q2/467)
CVE 2014-3847 / WeakSauce
StumpRoot
Stagefright bugs
[x509 Serialization bug] (https://securityintelligence.com/one-class-to-rule-them-all-new-android-serialization-vulnerability-gives-underprivileged-apps-super-status/)
[PingPong root - CVE-2015-3636] (https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-3636)
Stagefright – CVE-2015-6602
[Samsung Remote Code Execution as System] (https://code.google.com/p/google-security-research/issues/detail?id=489)
CVE-2015-6608
CVE-2015-1474
CVE-2015-1528
CVE-2015-6616
項目構(gòu)建
你可以直接將該項目導(dǎo)入至AndroidStudio中,或者使用gradle進行項目構(gòu)建。為了正確構(gòu)建項目,你首先需要安裝AndroidSDK和NDK,local.properties文件如下所示:
cat local.properties
## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your localconfiguration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, pleaseread the
# header note.
#Tue Aug 18 12:32:42 EDT 2015
sdk.dir=/Users/fuzion24/bin/android_sdk_home
ndk.dir=/Users/fuzion24/bin/android_ndk
使用測試簽名密鑰來構(gòu)建調(diào)式APK:
./gradlew assembleDebug
構(gòu)建并安裝調(diào)試版本:
./gradlew installDebug
構(gòu)建發(fā)布版本(未簽名)
./gradlew assembleRelease
|