2017年第一季度安卓系统安全性生态环境研究
摘要
此报告数据来源为70万份“360透视镜”(360手机卫士团队发布的一款专业检测手机安全漏洞的APP)用户主动上传的漏洞检测报告,检测内容包括最近两年的Android和Chrome安全公告中检出率最高的42个漏洞,涵盖了Android系统的各个层面。
检测结果显示,截止至2017年4月,70万用户中99.99%的Android手机存在安全漏洞,仅有4台手机完全修复了检测中所包含的42个漏洞。其中,99.8%的手机存在被攻击者远程攻击的风险。
Android版本占比最高的3个版本分别为Android 5.1、 Android 6.0和 Android 4.4,比例分别为31%、24%和25%,而最新版的Android7.0和7.1版本所占比例仅占1%。从结果上看,Android版本高低和漏洞数量多少并没有严格的线性关系,但最新版本的Android系统漏洞数量明显减少。与上季度相比,Android 5.1取代Android 4.4成为当前用户量最多的操作系统。
用户手机的平均漏洞数量存在比较明显的地域特征,北京、上海、江苏、西藏等地区的用户手机漏洞数量最少,青海、吉林、甘肃等地区的用户手机漏洞数量相对较多。
男性用户的手机版本平均比女性用户的手机版本低,女性用户的手机平均漏洞数量比男性用户高。
在安全更新推送时效性方面,推送安全更新最及时的TOP 5品牌分别为华为、三星、vivo、小米和酷派。
其中99.3%的设备存在浏览器内核相关漏洞,25.3%的设备同时存在4个浏览器内核漏洞,仅有0.7%的设备不受浏览器内核漏洞影响。
安卓手机用户中,约有67.3%的用户会保持手机系统(特指安全补丁等级)版本与厂商所提供的最新版本保持一致,约有32.7%的用户的手机系统版本会保持滞后厂商最新版本一个月及以上,接近28.4%的用户会滞后3个月以上,约有15.1%的用户会滞后半年以上。其中保持手机系统更新的用户相较上个季度有较大的增长,但整体形式仍不容乐观。
与安卓官方最新更新情况相比,用户的手机系统平均滞后了约8.4个月;但与手机厂商已经提供该机型的最新版本相比,则平均只滞后了3.1个月。由此可见,用户手机因未能及时更新而存在安全漏洞的重要原因之一,就是手机厂商普遍未能实现其定制开发的安卓系统与Google官方同步更新,而且滞后性比较明显。
关键词:安卓安全、安卓漏洞、漏洞检测
研究背景
在中国,Android系统作为智能手机中市场占有率最高的移动操作系统,承载着亿万手机用户的生产生活,大量的Android开发人员为其添砖加瓦。但树大招风,Android智能手机也暴露在各种恶意软件、系统漏洞的威胁之中,无数恶意软件、电信诈骗不断挑战用户的安全意识,但各种隐藏在系统之中的系统漏洞对用户的手机安全影响更为可怕。
由于Android操作系统目前仍未有非常完善的补丁机制为其修补系统漏洞,再加上Android系统碎片化严重,各手机厂商若要为采用Android系统的各种设备修复安全问题则需投入大量人力物力。
随着各种系统漏洞的不断披露,现存的Android智能手机就像一艘漏水的船,纵然手机安全软件能够缓解一些安全隐患,但系统中的漏洞仍未能有效修补,而Android安全软件又无法被授予系统的最高权限,因而Android系统安全问题一直非常棘手。
此报告基于“360透视镜”应用用户主动上传的70万份漏洞检测报告,检测内容包括近两年Android与Chrome安全公告中检出率最高的42个漏洞,涵盖了Android系统的各个层面,且都与设备无关。我们统计并研究了样本中的漏洞测试结果数据,并对安全状况予以客观具体的量化,希望引起用户和厂商对于手机系统漏洞的关注与重视,为Android智能手机用户的安全保驾护航,并希望以此来推进国内Android智能手机生态环境的安全、健康发展。
第一章 手机系统安全性综述
一、 系统漏洞的危险等级
此次报告评测的42个系统漏洞,按照Google官方对系统漏洞的危险评级标准,按照危险等级递减的排序规则,共分为严重、高危、中危三个级别。即“严重”级别的漏洞对系统的安全性影响最大,其次为“高危”级别漏洞,然后为“中危”级别漏洞,低危漏洞未入选。
在这42个漏洞中,按照其危险等级分类,有严重级别漏洞8个,高危级别漏洞23个,中危级别漏洞11个。其中高危以上漏洞对用户影响较大,在此次安全评测中对此类漏洞的选取比例达73.8%。
此次系统安全分析结果显示:99.1%的Android设备受到中危级别漏洞的危害,99.9%的Android设备存在高危漏洞,87.7%的Android设备受到严重级别的漏洞影响。
二、 系统漏洞的危害方式
此次报告评测的42个系统漏洞,参照Google官方对系统漏洞的技术类型分类标准并加以适当合并,按照各漏洞的明显特征分类,共分为远程攻击、权限提升、信息泄漏三个类别。远程攻击漏洞是指攻击者可以通过网络连接远程对用户的系统进行攻击的漏洞,权限提升是指攻击者可以将自身所拥有的权限提升的漏洞,信息泄漏则为可以获得系统或用户敏感信息的漏洞。
在这42个漏洞中,按照其危害方式分类,有远程攻击漏洞18个,权限提升漏洞17个,信息泄漏漏洞7个。
此次系统安全分析结果显示:99.8%的设备存在远程攻击漏洞,98.4%的设备存在权限提升漏洞,99.6%的设备存在信息泄露漏洞。
为了观察不同类别的哪些漏洞影响的设备比例最多,我们分别对三种类别的漏洞进行统计排序,挑选出了各类别中影响设备比例占比前三名的漏洞,其中影响最广泛的是信息泄露漏洞CVE-2016-1677,80.9%的设备都存在这个漏洞。权限提升攻击漏洞中,CVE-2016-3921影响最广,远程攻击漏洞中,CVE-2016-3861影响设备最多。
上一季度中影响比重占前三的漏洞分别为CVE-2016-3921,影响93.6%的设备、CVE-2016-3861,影响88.2%的设备、CVE-2016-3832,影响85.2%的安卓设备。与上一季度相比,从本季度的数据中可以发现,单个漏洞的影响比例整体有所下降,表明在2017年第一季度中,安卓设备整体处于不断推进安全更新的过程中,但补丁情况仍有一定时间的滞后。
三、 系统浏览器内核的安全性
系统浏览器内核是用户每日使用手机时接触最多的系统组件,不仅仅是指用户浏览网页的独立浏览器,实际上,许多安卓应用开发者考虑到开发速度、保障不同设备之间的统一性等因素,会使用系统提供的浏览器内核组件。因而用户在每日的手机使用中,大多会直接或间接地调用了系统浏览器内核。
在此次评测中,系统浏览器内核是指Android系统的Webview组件的核心,在Android 4.4之前,Android系统的Webview是基于Webkit的,在Android 4.4及以后的系统中,Webview的核心被换成了Chromium(Chrome的开源版本)。
在统计的样本中,其中Webkit内核版本由于其版本较为一致,故在示意图中仅占一块,其余为Chrome内核的不同版本。Webkit所占比重从上季度的19%减少至11%,表明版本号低于Android 4.4的安卓设备占比正在减少。当前Google发布的Android平台稳定版Chrome内核版本为Chrome57,而从图中可以看出,Chrome内核版本大于等于50的设备仅占3%,Chrome 39以下版本仍累计占比34%,但相比于上季度所统计的61%有很大改善。总的来说,国内安卓生态圈中对浏览器内核的更新进度相对迅速,但仍存在严重的更新滞后问题。
为了研究不同浏览器内核版本的安全性,我们统计了不同版本的浏览器内核的平均漏洞个数。下图显示了不同Webview版本平均漏洞数量,其中内核版本在Chrome 46以下的版本中漏洞数量明显高于Chrome 47以上版本,Chrome 51以上版本漏洞数量相对最少。
浏览器内核漏洞多数可通过远程方式利用,所以对于用户的手机安全危害较大。安卓系统浏览器内核漏洞的分布情况如下图所示,其中99.3%的设备存在至少一个浏览器内核漏洞,25.3%的设备同时存在4个浏览器内核漏洞,仅有0.7%的设备不受这些漏洞影响。
四、 系统漏洞的数量分布
为了研究用户手机中漏洞数量的分布规律,我们统计了所有样本中手机存在漏洞个数的比例分布,结果如下图所示。
在此次测试中,我们仅检测了已知的42个漏洞,有高达99.99%的手机存在安全漏洞,仅有0.01%的手机不存在本次评测中的42个漏洞,存在5个及以上漏洞的手机在总样本中占比达97.38%,存在漏洞最多的手机中有多达35个漏洞,在70万国内Android设备样本中,仅有4台手机不存在这些漏洞且浏览器内核版本大于等于Chrome57。
与上一季度相比,该部分数据并无明显变化,虽然国内厂商在不断地对安卓设备进行安全更新,但是安全漏洞也在层出不穷,存在漏洞的设备比重仍然居高不下。
第二章 手机系统版本安全性
一、 各系统版本漏洞情况
由于Android系统在升级时不可直接跨版本升级而厂商往往又不愿意为旧机型耗费人力物力适配新系统,因而在一定程度上导致了Android系统版本的碎片化。
为了研究不同版本的安卓系统的安全性,我们统计了样本手机所使用的安卓版本分布,并进一步对这些不同的版本的漏洞数量进行了统计分析。
采用Android系统版本的分布情况如下图所示,在此次样本中,Android系统占比最高的3个版本分别为Android 5.1、 Android 4.4和Android 6.0,比例分别达到31%、25%和24%,而最新版的Android7.0和7.1版本所占比例仅接近于1%。
与去年相比,Android5.0及以上的设备所占比重从49%提升至65%,版本更新速度有较快的发展。且Android 5.1系统代替Android 4.4系统成为当前主流的Android操作系统。
通过对每个Android版本平均漏洞数量进行统计,得到如下图所示结果,从图中可看出Android5.1及其以下版本平均漏洞数量较多;Android 6.0以上系统则更为安全,平均漏洞数量急剧降低。
从图中可以看出,安卓系统版本与漏洞数量并不是简单的线性关系。Android 5.0以下版本漏洞数量随版本升高而递增,并不是说明Android版本越高越不安全,而是因为此次检测主要关注的是最近两年的漏洞,而Android 4.4发布距今已经过去了3年的时间,因而相对版本越老的Android系统因为不支持较新的功能而可能不存在相应的漏洞。Android 5.0以上版本,随着系统版本升高,漏洞数量急剧减少。
由上图我们可以看出,系统版本和系统的安全性并不是简单的递增递减关系,实际上系统的安全性受到厂商重视度、系统功能的多少与变动,甚至服役时间、普及程度、恶意攻击者的攻击价值等等因素的共同影响,但修补了历史已知漏洞的最新系统往往会相对安全些。
二、 安卓系统漏洞缓解措施
随着Android版本号的提升,其安全手段与漏洞缓解措施也在逐次加固。通常来说,版本越新的安卓系统,其安全防护手段越强,系统漏洞利用的难度也越大。
例如,从Android4.3开始,安卓开始引入SELinux沙盒机制,并在后续的版本中不断对其进行加固 ,从Android 5.0开始,引入全盘加密,以保证用户的信息安全。2016年度,谷歌发布Android 7.0,在该版本的安卓中提供了基于文件的加密,进一步保证了用户的信息安全;并实现了深层次的地址随机化机制,使得本地权限提升的攻击难度显著提高;该版本Android系统中谷歌工程师对Media Server进行了重构,将其按照最小权限原则将之分隔成多个独立的进程与组件,从而即使其中某一个进程或组件存在漏洞,攻击者也无法在别的进程空间内执行代码;并且在整个Media Server的编译过程中新增了整型溢出防护机制,从而从编译阶段杜绝类似于stagefright漏洞利用情况的出现。
不论从漏洞数目,还是漏洞防护机制上,新版本的安卓系统均比低版本安卓系统安全性更好。而国内由于安卓碎片化的存在,仍有大量低版本的存在漏洞的安卓设备存在。
第三章 手机系统安全性地域分布
正如电信诈骗、伪基站等有明显的地域分布特征,为了更加细致地探究系统漏洞与不同省市之间的关系,我们根据样本数据中地域信息进行了统计和分析。
下图为各省份平均每台手机漏洞数量,数值越大,说明该地域安卓手机的安全性相对越低、越不安全;数字越小,则代表该地域安卓手机的安全性越高。手机安全性最低的前三名为青海、吉林、甘肃,平均每台手机拥有漏洞数分别为19.9、19.7、19.7个。而安全性最高的前五名为西藏、上海、江苏,天津,北京,平均每台手机拥有漏洞数17.9、18.1、18.3,18.4,18.5。大致上,经济越发达的地区,用户所使用的手机的平均漏洞数量越少,手机安全性相对越高。
用热力图表示如上图所示,可以更好的看出平均漏洞数的地域分布特征。颜色越红的地区,手机的安全性越低,颜色越浅的地区,手机安全性越高。
第四章 手机系统安全性与用户性别的相关性
由于性别上天生的性格、喜好等的差异,不同性别的用户在选择手机时可能会有不同的侧重点,比如女性用户可能在外观、轻薄、颜色等方面着重考虑,而男性可能更侧重性能、屏幕尺寸等因素,而一部手机在其服役周期内也可能会因时间的推移而被不同的使用者所使用。而厂商在手机的升级维护中,不同手机又会有不同的策略。
为了探究手机系统的安全性与用户性别之间有无联系,我们调研了1000位用户的性别信息,统计了不同性别用户与其手机的安全性之间可能的关系。
从上图中,我们可以清晰的看出:在不同性别中,男性使用系统版本大于或等于5.0的手机的比例远低于女性用户,包括各版本的比例中,男性用户使用的比例也明显低于女性用户;而男性用户中使用系统版本低于5.0的比例要远高于女性用户所占的比例,包括各版本的比例中,男性用户使用的比例也明显高于女性用户。即女性用户中,使用新版本手机的比例明显高于男性,这一结论在上述数据中,以5.0为界限统计的宏观角度和以不同安卓小版本单独统计的微观角度都成立。
在不同性别的用户手机的所存在的漏洞情况如上图所示。我们可以看到女性手机的平均系统版本数值约为21.3 (数值为系统API版本,为Google官方为便于安卓版本的计数而提供的一个版本的数字代号,其中4.4为19, 5.0为21),即平均使用的版本号大于Android 5.0,而男性使用的平均版本号为20.7,平均使用的Android版本号小于5.0。在此次统计中,我们发现,虽然女性手机平均版本比男性要高,但平均漏洞数女性手机所存在的漏洞数量也是高于男性。这与上面我们分析的漏洞数量与系统新旧不是简单的线性关系的结论有关,并且和我们上述对于不同版本的安卓系统的漏洞数的结论保持一致。
第五章 手机系统安全漏洞的修复
受到Android系统的诸多特性的影响,系统版本的碎片化问题日益突出。就每一款手机而言,厂商在其维护周期内,通常会隔一段时间向用户推送一次升级版本,而用户在大多数情况下可以自主选择升级或不升级。综合这些特性,在Android系统的安全漏洞方面,也产生了严重的碎片化问题。
在Android系统中,存在一个名为“Android安全补丁级别”的字段,它是谷歌公司向第三方安卓手机厂商推送的一个Android安全补丁的日期号,旨在为安卓设备的已知漏洞的修复情况做一个简单的说明。当前谷歌对于Android 4.4及其上版本号的安卓系统会定期推送更新,如果厂商遵循谷歌公司的建议正确打入补丁,那么手机中显示的安全补丁级别日期越新,手机的安全情况就相对越安全。
为了探究手机系统中已知安全漏洞的修复情况,我们对样本中不同设备型号、不同系统安全漏洞的修复情况做了相关研究。
一、 厂商漏洞修复情况
为了探究国内厂商为现存设备修复安全漏洞的情况,我们统计了样本中不同厂商手机目前的安全补丁级别情况。
下图为各厂商手机中实际存在的安全补丁级别情况,该情况是将各厂商现存手机中实际补丁日期与谷歌官方最新版本(2017年4月)版本对比,综合安全补丁级别最高、最新的手机品牌前5名。图中绿色方块面积越大,说明该厂商的手机补丁级别相对越高,漏洞修复相对越及时;相反,如果黄色和橙色面积越大,则说明补丁级别越低,漏洞修复越滞后。
图中我们可以看出,在及时推送安全补丁级别方面,华为、三星、Vivo、小米、酷派这五个厂商在国内做的最好。
二、 用户主动升级意愿
对于每一款安卓手机,其手机中运行的系统大多由手机厂商在其维护周期内提供。由于手机服役周期超出厂商维护周期,往往导致手机系统无法与最新的安卓版本保持一致。加之不同厂商对不同手机的支持维护程度不尽相同,在某些机型中,有些用户即使有意愿将系统保持与谷歌最新版本一致,但由于厂商对此机型无支持、推送计划,导致用户最多只能保持到厂商最新版本。
为了探究用户主动升级系统的意愿,我们统计了不同机型、不同安全补丁级别的分布情况。此统计为在每个机型中,观察用户是否主动保持这个厂商对此机型提供最新版本。
从数据中可以看出,约有63.7%的用户能够保持手机系统中安全补丁等级的版本与厂商所能提供的最新版本保持一致,较之上季度的47.8%有很明显的增长,说明国内用户越来越偏向于主动对系统进行下载与更新,从而保持最新版本。但是仍有36.3%的用户的系统版本滞后厂商最新版本一个月及以上,大约28.4%的用户手机版本滞后3个月以上,约15%的用户手机版本滞后半年以上,有1.6%的用户手机版本滞后官方最新版本达一年以上,而这些用户将比保持系统更新的用户更多地暴露在更多的漏洞与更大的攻击风险之下。
三、 漏洞修复综合分析
综合对比用户手机系统的更新状态、安卓官方的更新状态和手机厂商的更新状态,我们发现:与安卓官方最新更新情况相比,用户的手机系统平均滞后了约8.4个月,但与手机厂商已经提供该机型的最新版本相比,则平均只滞后了3.1个月,由此可见,用户手机因未能及时更新而存在安全漏洞的重要原因之一,就是手机厂商普遍未能实现其定制开发的安卓系统与安卓官方同步更新,而且延时较大。
下图给出了用户手机系统与安卓官方系统、手机厂商系统的更新情况对比。可以看到,超过一半(64.8%)的手机用户能够保持手机系统与厂商最新系统的同步更新,且近8成以上的用户能够在厂商推出更新版本后三个月内更新自己的手机;但能够享受与安卓官方最新系统保持同步更新服务的用户则仅为0.5%,滞后时间小于3个月的用户也不足30%。
附录
此次分析中所检测的42个漏洞的编号如下表所示。
漏洞编号 | 公布时间 | 级别 | 漏洞类型 | 漏洞简述 |
---|---|---|---|---|
CVE-2015-1805 | 2016.03.18 | 严重 | 权限提升 | Linux内核root权限提升漏洞 |
CVE-2016-0838 | 2016.04.07 | 严重 | 远程攻击 | Android Mediaserver组件远程代码执行 |
CVE-2016-0841 | 2016.04.07 | 严重 | 远程攻击 | Android Mediaserver组件远程代码执行 |
CVE-2016-2430 | 2016.05.04 | 严重 | 权限提升 | Android Debuggerd组件权限提升漏洞 |
CVE-2016-2463 | 2016.06.07 | 严重 | 远程攻击 | Android Mediaserver组件远程代码执行 |
CVE-2016-3861 | 2016.06.09 | 严重 | 远程攻击 | Android UTF编码转换组件任意代码执行 |
CVE-2016-5195 | 2016.10.12 | 严重 | 权限提升 | Linux内核root权限提升漏洞 |
CVE_2017_0471 | 2017.03.01 | 严重 | 远程攻击 | Android Mediaserver组件远程代码执行 |
CVE-2015-3849 | 2015.09.09 | 高 | 权限提升 | Android Region组件权限提升漏洞 |
CVE-2015-6764 | 2015.12.01 | 高 | 远程攻击 | Chrome JS V8引擎内存访问越界漏洞 |
CVE-2015-6771 | 2015.12.01 | 高 | 远程攻击 | Chrome JS V8引擎内存访问越界漏洞 |
CVE-2016-0830 | 2016.03.01 | 高 | 远程攻击 | Android Bluetooth组件远程代码执行 |
CVE-2016-0826 | 2016.03.08 | 高 | 权限提升 | Android Mediaserver组件权限提升漏洞 |
CVE-2016-1646 | 2016.03.24 | 高 | 远程攻击 | ChromeV8引擎内存越界读漏洞 |
CVE-2016-0847 | 2016.04.07 | 高 | 权限提升 | Android Telecom 组件权限提升漏洞 |
CVE-2016-2412 | 2016.04.07 | 高 | 权限提升 | Android Systemserver组件权限提升漏洞 |
CVE-2016-2416 | 2016.04.07 | 高 | 信息泄露 | Android Mediaserver组件信息泄露漏洞 |
CVE-2016-2439 | 2016.04.07 | 高 | 远程攻击 | Android Bluetooth组件远程代码执行 |
CVE-2016-2449 | 2016.05.04 | 高 | 权限提升 | Android Mediaserver组件权限提升漏洞 |
CVE-2016-2495 | 2016.06.01 | 高 | 远程攻击 | Android Mediaserver组件远程拒绝服务 |
CVE-2016-2476 | 2016.06.07 | 高 | 权限提升 | Android Mediaserver组件权限提升漏洞 |
CVE-2016-3744 | 2016.07.01 | 高 | 远程攻击 | Android Bluetooth组件远程代码执行 |
CVE-2016-3754 | 2016.07.01 | 高 | 远程攻击 | Android Mediaserver组件远程拒绝服务 |
CVE-2016-6754 | 2016.08.11 | 高 | 远程攻击 | Chrome JS V8引擎任意代码执行漏洞 |
CVE-2016-6710 | 2016.10.03 | 高 | 信息泄露 | Android 下载管理器组件信息泄露漏洞 |
CVE-2016-3915 | 2016.10.03 | 高 | 权限提升 | Android Camera组件权限提升漏洞 |
CVE-2017-0386 | 2016.11.29 | 高 | 权限提升 | Android libnl库权限提升漏洞 |
CVE-2017-0421 | 2017.02.01 | 高 | 信息泄露 | Android Framework信息泄漏漏洞 |
CVE-2017-5030 | 2017.02.01 | 高 | 远程攻击 | Chrome V8引擎中内存破坏漏洞 |
CVE-2017-5053 | 2017.02.01 | 高 | 远程攻击 | Chrome V8引擎中内存破坏漏洞 |
CVE-2017-0389 | 2017.03.01 | 高 | 远程攻击 | Android core Network拒绝服务漏洞 |
CVE-2016-3897 | 2016.03.30 | 中 | 信息泄露 | Android WLAN中的信息泄漏漏洞 |
CVE-2016-2426 | 2016.04.07 | 中 | 信息泄露 | Android Framework 信息泄露漏洞 |
CVE-2016-1688 | 2016.04.19 | 中 | 远程攻击 | Chrome JS V8引擎内存越界读漏洞 |
CVE-2016-3832 | 2016.05.15 | 中 | 权限提升 | Android Framework 权限提升漏洞 |
CVE-2016-1677 | 2016.05.25 | 中 | 信息泄露 | Chrome JS V8引擎类型混淆漏洞 |
CVE-2016-2496 | 2016.06.07 | 中 | 权限提升 | Android Framework UI组件权限提升漏洞 |
CVE-2016-3760 | 2016.07.01 | 中 | 权限提升 | Android Bluetooth组件权限提升漏洞 |
CVE-2016-2497 | 2016.08.01 | 中 | 权限提升 | Android Framework 权限提升漏洞 |
CVE-2016-3921 | 2016.10.03 | 中 | 权限提升 | Android Framework 权限提升漏洞 |
CVE-2017-0423 | 2017.02.01 | 中 | 权限提升 | Android Bluetooth组件权限提升漏洞 |
CVE-2017-0495 | 2017.03.01 | 中 | 信息泄露 | Android Mediaserver组件信息泄露漏洞 |
*本文作者360手机卫士阿尔法团队,转载请注明来自FreeBuf.COM