注 册 登 录 欢迎您,游客!您可以选择
最新公告:

您当前的位置:首页>>技术动态 技术动态

使用CTS进行漏洞检测及原理浅析
发布时间:2017-07-04 丨 阅读次数:1294



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。


评论(0)

后面还有条评论,点击查看>>

主办单位: 甘肃安聚科技安全有限公司  |  陇ICP备14000947号
地址:兰州市城关区南滨河东路66号6号楼    电话:0931-8511265
Copyright 2014-2015 Gansu ANJU Security Technology Co., Ltd.