成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【技術分享】使用CTS進行漏洞檢測及原理淺析

移動開發 開發
關于手機安全方面的檢測,本文以此為主題,進行了漏洞檢測方面的研究。包括如何下載編譯,以及分析了其中的security模塊是如何調度使用的。

 [[197327]]

團隊介紹

360 Vulpecker團隊 隸屬360信息安全部,致力于Android應用和系統層漏洞挖掘以及其他Android方面的安全研究。我們通過對CTS框架的研究,編寫了一個關于漏洞檢測方面的文檔,以下為文章的全文。

CTS 全稱 Compatibility Test Suite(兼容性測試),Google開發CTS框架的意義在于讓各類Android設備廠商能夠開發出兼容性更好的設備。其中有一些模塊的關于手機安全方面的檢測,本文以此為主題,進行了漏洞檢測方面的研究。包括如何下載編譯,以及分析了其中的security模塊是如何調度使用的。

1. CTS運行流程

1.1  下載編譯Android CTS源碼

通過git clone https://android.googlesource.com/platform/cts -b xxxxxxx 可以下載cts并且進行編譯,或者可以下載完整的Android 源碼進行編譯,編譯好源碼之后再編譯CTS,命令是make cts;在/home/venscor/AndroidSource/least/out/host/linux-x86/cts下生成關于CTS的幾個文件,其中cts-tradefed可以啟動CTS測試程序。

1.2   CTS 運行環境

Android官網上對CTS運行環境要求嚴格,但是我們目前關注的是測試安全模塊,所以只要基本的測試環境就可以了。例如打開adb,允許adb安裝apk,不設置鎖屏等。

1.3  CTS運行流程

在源碼中可以看到,cts-tradefed實際上是個腳本文件。首先做些環境檢查,滿足運行環境后,去android-cts/tool/目錄下加載對應的jar文件,從android-cts/lib加載所有的需要庫文件。***,加載android-cts/testcase/目錄下的所有jar文件,然后執行。

CTS console功能的實現在CompatibilityConsole類中,也是程序的加載點

1.4  啟動腳本進入CTS測試程序的console

CTS測試套件由很多plans組成,plans又可以由很多subplan和modules組成,我們只關心和CTS和安全相關的的東西,即和安全相關的modules。其中 和安全相關的測試模塊 有4個:

CtsAppSecurityHostTestCases

CtsJdwpSecurityHostTestCases

CtsSecurityHostTestCases

CtsSecurityTestCases

其中,CtsAppSecurityHostTestCases、CtsJdwpSecurityHostTestCases不包含CVE,其實是一些App層安全檢測和安全策略檢測,我們可以先跳過這兩個模塊著重分析CtsSecurityHostTestCases和CtsSecurityTestCases。

2. CTS中的安全模塊

2.1 CtsSecurityHostTestCases模塊

CtsSecurityHostTestCases模塊對應的源碼路徑在:./hostsidetests/security。即在cts console中通過輸入run cts --module CtsSecurityHostTestCasess加載起來的。

CtsSecurityHostTestCases主要測試Linux內核和各類驅動的漏洞,都是以C/C++實現的漏洞檢測PoC。

2.1.1 測試流程

可以通過run cts --module CtsSecurityHostTestCases來測試整個模塊,也可以通過run cts --module CtsSecurityHostTestCases –test 來測試具體的方法。例如要測試CVE_2016_8451,可以通過--test android.security.cts.Poc16_12#testPocCVE_2016_8451來進行。

下面我們通過一個例子看具體的測試流程,以對CVE_2016_8460的檢測為例,來具體分析下測試過程。在CTS下,運行run cts --module CtsSecurityHostTestCases --test android.security.cts.Poc16_12#testPocCVE_2016_8460。程序將運行到CtsSecurityHostTestCases模塊下的testPocCVE_2016_8460()函數。

其實這個測試過程,就是將CtsSecurityHostTestCases模塊下對應的可執行文件CVE_2016_8460 push到手機的sdcard,然后執行此可執行文件,即執行poc檢測程序。

2.1.2 結果管理

CTS測試完成后,會生成可視化的結果,結果存在cts/android-cts/results目錄下,分別有xml格式和.zip打包格式。所以對安全模塊的結果管理也是一樣的。

結果頁面里面只有兩種結果,一是pass,表示測試通過,說明不存在漏洞。二是fail,出現這種結果,可能原因有兩種,一是測試環境有問題,二是存在漏洞,可以看報告邊上的詳細顯示。

2.1.3 添加與剝離testcase

按照CtsSecurityHostTestCases模塊的測試原理,添加新的測試case時,完全可以剝離CTS的測試框架,直接使用C/C+編寫測試代碼,編譯完成后添加到/data/local/tmp目錄然后修改執行權限,執行即可。

對于CtsSecurityHostTestCases模塊中現有的對漏洞的檢測代碼,也可以直接為我們所用。我們可以下載CTS的源碼查看漏洞檢測PoC的代碼,可以自己編譯也可以直接使用CTS編譯好的可執行文件來檢測對應的漏洞。

2.2 CtsSecurityTestCases模塊

CtsSecurityTestCases模塊基于動態檢測,采用的是觸發漏洞來檢測的方式,使用Java或者JNI來觸發漏洞,直到數據被傳遞到底層漏洞位置。這個模塊所在源碼的路徑是.test/test/security。

2.2.1 測試流程

測試流程和CtsSecurityHostTestCases模塊一致,其實這也是CTS框架的測試流程。測試整個模塊采用run cts --module的方式,而使用測試模塊里面具體的方法來執行測試時。使用run cts --module <module> --test <package.class>的方式。

以下以檢測cve_2016_3755為例說明此模塊運行過程。

首先,在CTS框架中輸入run cts --module CtsSecurityTestCases --test android.security.cts. StagefrightTest#testStagefright_cve_2016_3755。

然后,CTS框架會找到testStagefright_cve_2016_3755()方法并執行測試。

2.2.2 結果管理

CtsSecurityTestCases模塊也受CTS統一的結果管理。所以上面CtsSecurityHostTestCases模塊一樣。測試結果出現在xml文件中,pass表示成功不存在漏洞,fail給出失敗原因。

對測試結果的監控都是通過assertXXX()方法來進行的,通過測試過程中的行為來確定漏洞情況。例如:

2.2.3添加與剝離testcase

添加case:在這模式下添加case,需要知道知道怎么觸發漏洞。CtsSecurityTestCases模塊應該是基于Android上的JUnit測試程序的,所以要知道應該可以按照編寫JUnit的方式添加測試的代碼,然后重新build。其實,編寫測試代碼時候如果可以脫離CTS的源碼依賴或者可以引用CTS的jar,應該可以直接脫離CTS架構。

剝離case:和添加一個道理,需要讓提取的代碼脫離依賴可執行。

3. 總結

在Android手機碎片化嚴重的今天,各個手機廠商的代碼質量也是良莠不齊。所以Android手機的安全生存在較為復雜的生態環境,因此Android手機方面的漏洞檢測是十分必要的。本文對谷歌官方開源的CTS框架進行了調研,對Android手機的漏洞檢測方面進行了研究。希望能拋磚引玉,對Anroid安全研究能帶來更多的幫助。

 

責任編輯:張子龍 來源: 推酷
相關推薦

2011-04-13 15:01:39

2022-09-04 21:08:50

響應式設計Resize

2012-03-20 16:31:13

2009-07-06 09:23:51

Servlet定義

2023-12-18 09:39:13

PreactHooks狀態管理

2019-05-17 09:20:01

2013-06-04 13:38:27

2022-11-24 15:02:05

APP

2010-06-03 18:54:57

Hadoop

2023-12-01 16:21:42

2015-07-05 18:46:46

2013-12-02 13:55:23

任意跳轉漏洞漏洞檢測DOM跳轉漏洞

2010-08-06 13:30:31

FlexBuilder

2013-07-17 17:05:08

2019-02-26 15:15:16

DNS漏洞IP

2019-04-02 08:30:03

2009-08-27 14:21:02

C# interfac

2015-01-29 09:54:12

2020-08-05 08:21:41

Webpack

2015-03-05 15:01:52

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 奇米av| 黄色免费看 | 国产乱码精品一区二区三区忘忧草 | 色婷婷激情综合 | 久久久久国产一区二区三区 | 黄色精品视频网站 | 成人精品一区二区三区中文字幕 | 亚洲欧美日韩精品久久亚洲区 | 日韩在线播放网址 | 欧美二区三区 | 精品久久精品 | 超碰婷婷 | 久久久久国产精品免费免费搜索 | 中文字幕一区二区三区四区 | 伊人春色在线 | 在线不卡视频 | 欧美激情一区二区三区 | 日美女逼逼| 日韩国产欧美 | 亚洲精品视频一区二区三区 | 日本一区二区三区在线观看 | 欧美黄色一区 | 日韩高清国产一区在线 | 国产激情免费视频 | 日韩喷潮 | 欧美精品区 | 91精品国产色综合久久 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | www国产成人免费观看视频,深夜成人网 | 久久久久九九九女人毛片 | 中文字幕亚洲区 | 成人在线精品视频 | 欧美一区不卡 | 羞羞的视频在线观看 | av天天看 | 特级一级黄色片 | 日本天堂一区二区 | 国产精品日韩欧美一区二区三区 | 精品免费在线 | 成人欧美一区二区三区在线播放 | 国产无人区一区二区三区 |