當前位置:
首頁 > 新聞 > 2017年 中國手機安全狀況報告(中)

2017年 中國手機安全狀況報告(中)

第一章 安卓系統漏洞形勢分析

本章基於「360透視鏡」應用用戶主動上傳的80萬份漏洞檢測報告,檢測內容包括近兩年(最新漏洞檢測更新至2017年12月)Android與Chrome安全公告中檢出率最高的64個漏洞,涵蓋了Android系統的各個層面,且都與具體設備的硬體無關。我們統計並研究了樣本中的漏洞測試結果數據,並對安全狀況予以客觀具體的量化,希望引起用戶和廠商對於手機系統漏洞的關注與重視,為Android智能手機用戶的安全保駕護航,並希望以此來推進國內Android智能手機生態環境的安全、健康發展。

一、 手機系統安全性綜述

(一) 系統漏洞的危險等級

此次報告評測的64個系統漏洞,按照Google官方對系統漏洞的危險評級標準,按照危險等級遞減的排序規則,共分為嚴重、高危、中危三個級別。即「嚴重」級別的漏洞對系統的安全性影響最大,其次為「高危」級別漏洞,然後為「中危」級別漏洞,低危漏洞未入選。

在這64個漏洞中,按照其危險等級分類,有嚴重級別漏洞11個,高危級別漏洞36個,中危級別漏洞17個。其中高危以上漏洞對用戶影響較大,在此次安全評測中對此類漏洞的選取比例達73.4%。

此次系統安全分析結果顯示: 87.5%的Android設備受到中危級別漏洞的危害,93.9%的Android設備存在高危漏洞,88.1%的Android設備受到嚴重級別的漏洞影響。

(二) 系統漏洞的危害方式

此次報告評測的64個系統漏洞,參照Google官方對系統漏洞的技術類型分類標準並加以適當合併,按照各漏洞的明顯特徵分類,共分為遠程攻擊、許可權提升、信息泄漏三個類別。遠程攻擊漏洞是指攻擊者可以通過網路連接遠程對用戶的系統進行攻擊的漏洞,許可權提升是指攻擊者可以將自身所擁有的許可權得以提升的漏洞,信息泄漏則為可以獲得系統或用戶敏感信息的漏洞。

在這64個漏洞中,按照其危害方式分類,有遠程攻擊漏洞30個,許可權提升漏洞24個,信息泄漏漏洞10個。

此次系統安全分析結果顯示:92.3%的設備存在遠程攻擊漏洞,91.5%的設備存在許可權提升漏洞,85.6%的設備存在信息泄露漏洞。與往期相比,雖然檢測漏洞數又有所增加,但影響設備比例有所降低,主要原因為部分設備的廠商大幅度更新手機的安全性,將設備的補丁等級保持與谷歌同步,修復了所有漏洞。

為了觀察不同類別的漏洞中哪些影響的設備比例最多,我們分別對三種類別的漏洞進行統計排序,挑選出了各類別中影響設備比例佔比前三名的漏洞,其中影響最廣泛信息泄露漏洞仍然為CVE-2016-1677,72.5%的設備都存在這個漏洞,環比上升1.8%;許可權提升漏洞中,CVE-2017-0666依然影響最廣,77.7%的設備均受影響,影響比例下降5.2%;遠程攻擊漏洞中,CVE-2015-7555影響設備依然最多,影響77.7%的設備,下降10.5%。而第三季度中我們關注的CVE-2016-3861在本季度中影響設備比例已經退出Top3,取代它的位置是漏洞CVE-2015-6764,影響63.0%的設備。

第二季度中Android 新修復並公開的CVE-2015-7555漏洞在本季度中影響設備數量依然十分龐大,同比僅降低了10.5%,並且預計在未來一段時間仍會如此。CVE-2017-13156即是12月披露的「Janus」漏洞,影響59.7%的設備。

遠程攻擊漏洞,是危險等級高、被利用風險最大的漏洞,也是我們最關注的漏洞,為此我們統計了每期報告中遠程攻擊漏洞排名Top3的趨勢變化,結果如下圖所示。

遠程攻擊漏洞整體呈下降趨勢,但是受漏洞影響的設備依舊保持在較高比例,4成以上的用戶手機仍然處於被遠程攻擊的風險之中,安全形勢並不樂觀。

(三) 系統瀏覽器內核的安全性

系統瀏覽器內核是用戶每日使用手機時接觸最多的系統組件,不僅僅是指用戶瀏覽網頁的獨立瀏覽器,實際上,許多安卓應用開發者考慮到開發速度、保障不同設備之間的統一性等因素,會使用系統提供的瀏覽器內核組件。因而用戶在每日的手機使用中,大多會直接或間接地調用系統瀏覽器內核。

在此次評測中,系統瀏覽器內核是指Android系統的Webview組件的核心,在Android 4.4之前,Android系統的Webview是基於Webkit的,在Android 4.4及以後的系統中,Webview的核心被換成了Chromium(Chrome的開源版本,可近似理解為Chrome)。

在統計的樣本中,Webkit內核版本由於其版本較為一致,故在示意圖中僅佔一塊,其餘為Chrome內核的不同版本。本季度Webkit所佔比重幾乎為0%,較上季度降低9%。截止至本季度,當前Google發布的Android平台Chrome穩定版的內核的最新版本為Chrome 60,而在此次檢測中有1%的用戶將自己手機中的瀏覽器內核升級至最新。而從圖中可以看出,Chrome內核版本大於等於55的設備佔24%。對比上一季度的數據,版本大於50的設備比例有所增長,從18%增至27%。在此次檢測中,並且最新版本60在國內用戶之中佔比1%,同比上季度增長0.91%,說明國內廠商有更新瀏覽器內核的舉措。總的來說,瀏覽器內核整體版本有所跟新推進,國內安卓生態圈中對瀏覽器內核的更新進度相對有所增強,但仍存在嚴重的更新滯後問題,第二節遠程攻擊漏洞中躋身Top3的CVE-2015-6764,即是瀏覽器內核漏洞,足以說明這一點。

為了研究不同瀏覽器內核版本的安全性,我們統計了不同版本的瀏覽器內核的平均漏洞個數。下圖顯示了不同Webview版本平均漏洞數量,其中內核版本在Chrome 46以下的版本中漏洞數量明顯高於Chrome 47以上版本,Chrome 55以上版本漏洞數量相對最少。從圖中可以看出較新版本瀏覽器內核漏洞數量相對較少,其中Chrome 57版本及以上的設備平均漏洞檢出情況則為0。以上數據充分說明保持最新版本的瀏覽器內核可以十分有效增強手機瀏覽器內核的安全性。

瀏覽器內核漏洞多數可通過遠程方式利用,因而對於用戶的手機安全危害較大。安卓系統瀏覽器內核漏洞的分布情況如下圖所示。其中87.4%的設備存在至少一個瀏覽器內核漏洞,18.2%的設備同時存在4個瀏覽器內核漏洞,為漏洞數量最多的設備。有12.6%的設備不受這些漏洞影響。較上一季度,瀏覽器安全情況有所上升,但上升比例不大。整體來看瀏覽器安全狀態有所緩解,瀏覽器內核版本的更新所帶來的效果十分顯著,但老舊設備的升級情況無明顯好轉,用戶依然暴露在瀏覽器漏洞的威脅之中。

(四) 系統漏洞的數量分布

為了研究用戶手機中漏洞數量的分布規律和對用戶手機中的安全等級做一個直觀的評分,我們統計了所有樣本中手機存在漏洞個數的比例分布,結果如下圖所示。

在此次測試中,我們檢測了64個已知漏洞,有93.94%的設備存在至少一個安全漏洞,漏洞最多的設備同時包含有49個安全漏洞。這一數據較上一季度95.58%的比例降低幅度不大,其他漏洞個數的比例情況與上一季度相比整體有所降低,但依然保持較高的比例。

為了研究近兩年用戶手機中漏洞數量的變化,同時反映用戶手機安全性的變化情況,我們總結了2016年到2017年的漏洞數量比例分布及趨勢,結果如下圖所示。

可以發現,手機存在漏洞的比例,整體呈下降的趨勢。2017年第一季度,10個及以上漏洞的比例下降幅度增加,跟該季度較高比例的系統更新有直接關係,第五章第二節也會有相應的數據反映這一現象。2017年第一到第二季度漏洞比例有所上升,與這期間新增漏洞檢測樣本數量有關,這也說明一旦加大檢測力度,用戶手機整體的安全形勢將會表現的更加嚴峻。

如果手機廠商積極做好手機系統的安全補丁更新工作,現行手機系統的安全情況就會有明顯的提升。雖然國內廠商在不斷地對安卓設備進行安全更新,但是安全漏洞也在層出不窮,存在漏洞的設備比重仍然居高不下。

二、手機系統版本安全性

由於Android系統在升級時不可直接跨版本升級而廠商往往又不願意為舊機型耗費人力物力適配新系統,因而在一定程度上導致了Android系統版本的碎片化。

為了研究不同版本的安卓系統的安全性,我們統計了樣本手機所使用的安卓版本分布,並進一步對這些不同的版本的漏洞數量進行了統計分析。

採用Android系統版本的分布情況如下圖所示,在此次樣本中,Android系統佔比最高的3個版本分別為Android 6.0、Android 5.1和Android 4.4,比例分別達到38%、 28%和22%,而高版本中Android 7.0和7.1版本所佔比例分別為3%和4%, Android 8.0及以上接近為0。

與上一季度相同,Android 6.0依舊成為最流行的系統版本,與歷史進程和我們的預期均相符。Android 5.1 和Android 4.4所佔比例繼續降低,但低於6.0版本的設備依然佔據了約60%的比例。Android 7.0和7.1的比例有小幅度上升,這不光意味著版本號上的更新,更意味著更多的用戶能夠享受到新版Android 系統所帶來的一系列安全更新,其中包括引入的隱私敏感許可權動態管理功能,而這在一定程度上極大的增強了用戶手機隱私的安全性。目前最新的系統為Android 8.0,其中引入了一項叫做Project Treble的功能,在未來可以緩解安卓系統更新滯後的問題,我們也希望看到這一功能得以最大化發揮作用。但由於新系統、新設備無法第一時間大範圍更新,故短時間內,安卓系統的碎片化和老舊設備的比例依然會保持較高比例,安全狀況依然形勢嚴峻。

通過對每個Android版本平均漏洞數量進行統計,得到如下圖所示結果。從圖中可看出Android 5.1及其以下版本平均漏洞數量較多,且整體較上一季度的平均漏洞數保持增加趨勢,這很大程度上是由於部分老舊設備無法獲得更新而我們檢測的漏洞又在持續增加,因此造成了這種現象;而Android 6.0以上系統則更為安全,平均漏洞數量急劇降低。其中比較新的Android 7.0和7.1的系統中,平均漏洞數較上一季度有所降低,這主要是由於新版本的系統中安全補丁推送已經較為普及,廠商對於新版本系統的推送積極度有所上升。

從圖中可以看出,安卓系統版本與漏洞數量並不是簡單的線性關係。Android 5.0以下版本漏洞數量隨版本升高而遞增,並不是說明Android版本越高越不安全,而是因為此次檢測主要關注的是最近兩年的漏洞,而Android 4.4發布距今已經過去了3年的時間,因而相對版本越老的Android系統因為不支持較新的功能而可能不存在相應的漏洞。Android 5.0以上版本,隨著系統版本升高,漏洞數量急劇減少。

環比上季度的數據,除7.0和7.1外,其餘版本系統的平均漏洞數均有所增加,這是由於本季度又新修復和公開了一些漏洞,而這些漏洞中有些漏洞影響範圍十分廣泛。

實際上系統的安全性受到廠商重視度、系統功能的多少與變動,甚至服役時間、普及程度、惡意攻擊者的攻擊價值等等因素的共同影響,但修補了歷史已知漏洞的最新系統往往會相對安全些。

三、手機系統安全性地域分布

下圖為各省份平均每台手機漏洞數量,數值越大,說明該地域安卓手機的安全性相對越低、越不安全;數字越小,則代表該地域安卓手機的安全性越高。手機安全性最低的前三名為青海、寧夏、甘肅,平均每台手機擁有漏洞數分別為22.8、22.6、22.1個。而安全性最高的前三名為上海、廣東、天津,平均每台手機擁有漏洞數18.7、19.4、19.6。大致上,經濟越發達的地區,用戶所使用的手機的平均漏洞數量越少,手機安全性相對越高。

用熱力圖表示如下圖所示,可以更好的看出平均漏洞數的地域分布特徵。顏色越紅的地區,手機的安全性越低,顏色越淺的地區,手機安全性越高。

四、手機系統安全性與用戶性別差異

由於性別上天生的性格、喜好等的差異,不同性別的用戶在選擇手機時可能會有不同的側重點,比如女性用戶可能在外觀、輕薄、顏色等方面著重考慮,而男性可能更側重性能、屏幕尺寸等因素。一部手機在其服役周期內也可能會因時間的推移而被不同的使用者所使用,而廠商在手機的升級維護中,不同手機又會有不同的策略。

為了探究手機系統的安全性與用戶性別之間有無聯繫,我們調研了1000位用戶的性別信息,統計了不同性別用戶與其手機的安全性之間可能的關係。

從上圖中,我們可以清晰的看出:男性使用系統版本大於或等於5.1的手機的比例遠低於女性用戶,包括各版本的比例中,男性用戶使用的比例也明顯低於女性用戶;而男性用戶中使用系統版本低於5.1的比例要遠高於女性用戶所佔的比例,包括各版本的比例中,男性用戶使用的比例也明顯高於女性用戶。即女性用戶中,使用新版本手機的比例明顯高於男性,這一結論在上述數據中,以6.0為界限統計的宏觀角度和以不同安卓小版本單獨統計的微觀角度都成立。

在不同性別的用戶手機的所存在的漏洞情況如上圖所示。我們可以看到女性手機的平均系統版本數值約為22.2 (數值為系統API版本,為Google官方為便於安卓版本的計數而提供的一個版本的數字代號,其中 5.0為21,5.1為22),即平均使用的版本號接近Android 5.1,而男性使用的平均版本號為21.7,平均使用的Android版本號也接近5.1。

對比上季度的統計數據,男性和女性的平均系統版本均有所提升,其中女性平均版本號提升了0.4,男性則為0.7。

在此次統計中,我們發現,女性手機平均版本比男性要高,且均大於等於5.1,而平均漏洞數女性手機所存在的漏洞數量也是低於男性。這與上面我們分析的漏洞數量與系統新舊不是簡單的線性關係有關,並且和我們上述對於不同版本的安卓系統的漏洞數中的高於5.1版本的系統的平均漏洞個數開始遞減的結論保持一致。

五、漏洞修復情況

(一) 用戶主動升級意願

對於每一款安卓手機,其手機中運行的系統大多由手機廠商在其維護周期內提供。由於手機服役周期超出廠商維護周期,往往導致手機系統無法與最新的安卓版本保持一致。加之不同廠商對不同手機的支持維護程度不盡相同,在某些機型中,有些用戶即使有意願將系統保持與谷歌最新版本一致,但由於廠商對此機型無支持、推送計劃,導致用戶最多只能保持到廠商最新版本。

從數據中可以看出,約有46.0%的用戶能夠保持手機系統中安全補丁等級的版本與廠商所能提供的最新版本保持一致。整體上,可以明顯發現近一半的用戶還是會保持手機系統的更新。但是仍有14.6%的用戶的系統版本滯後廠商最新版本一個月及以上,大約9.0%的用戶手機版本滯後4-6個月,約17.9%的用戶手機版本滯後半年以上,有12.4%的用戶手機版本滯後官方最新版本達一年以上,而這些用戶將比保持系統更新的用戶更多地暴露在更多的漏洞與更大的攻擊風險之下。對比上季度的數據,各分布所佔比例略有變化,但保持更新部分仍然保持在46%左右,本季度滯後半年以上的比例有小幅度上升。

我們統計了近兩年來用戶與手機廠商保持更新的比例變化情況,如下圖所示。

整體來說,近半用戶還是會願意保持系統更新至最新版本,但是保持更新的比例並沒有呈現上升趨勢,而且更新比例仍然偏低,一半以上的用戶手機處於高風險狀態。

(二) 漏洞修復綜合分析

下圖給出了用戶手機系統與安卓官方系統、手機廠商系統的更新情況對比。

可以看到,近一半的手機用戶能夠保持手機系統與廠商最新系統的同步更新,且6成以上的用戶能夠在廠商推出更新版本後三個月內更新自己的手機;但能夠享受與安卓官方最新系統保持同步更新服務的用戶則僅為5%,滯後時間小於3個月的用戶也只有近20%,較上季度比例均有所下降。

綜合對比用戶手機系統的更新狀態、安卓官方的更新狀態和手機廠商的更新狀態,我們發現:與安卓官方最新更新情況相比,用戶的手機系統平均滯後了約11.1個月,但與手機廠商已經提供該機型的最新版本相比,則平均只滯後了4.1個月,由此可見,用戶手機因未能及時更新而存在安全漏洞的重要原因之一,就是手機廠商普遍未能實現其定製開發的安卓系統與安卓官方同步更新,而且延時較大。

六、典型手機系統高危漏洞實例

經過上述對 Android 系統漏洞的研究,我們可以看出仍然存在大量未升級至新版本系統和未打補丁的設備正在被使用,這些與安全更新脫節的現象直接導致用戶手機暴露於各種漏洞的威脅之下,可造成用戶的隱私、財產安全。

下面我們以近期著名的「Janus」漏洞作為案例,分析漏洞對Android用戶的實際威脅:

(一) 漏洞簡介

Android 12月安全公告中披露了一個名為「Janus」的漏洞(編號:CVE-2017-13156),攻擊者可以利用該漏洞繞過Android系統的signature scheme V1簽名機制,直接對App進行篡改。由於簽名和驗證機制是Android系統整體安全機制建立的最基礎部分,利用該漏洞可以繞過整個Android系統的安全機制。基於signature scheme V1簽名機制的App在Android 5.1到8.0系統均受「Janus」漏洞影響。

(二) 漏洞危害

如果攻擊者將植入惡意代碼的偽造App投放到Android應用市場,就可替代原有的App,從而提供下載、更新,造成的可能後果如下:

1. 用戶隱私泄露,如通信、社交類APP的聊天記錄、圖片、通信錄等。

2. 用戶財產損失,如竊取金融類App的支付密碼、錢包密碼、token等; 監聽、攔截用戶的輸入,使用欺詐手段,誘騙用戶進行輸入密碼、轉賬行為。

3. 利用該漏洞可以更新Android的系統APP,從而獲得更高的系統許可權,達到更高級的攻擊效果,如遠程控制手機等。

(三) 漏洞影響

根據第一章第二節數據顯示,受此漏洞影響的設備比例為59.7%,表明有近6成的用戶手機仍然存在被此漏洞攻擊的風險。

第二章 安卓手機APP威脅形勢分析

本章基於360顯危鏡平台(http://appscan.360.cn/)2017年12月 對1.8萬款市場上主流移動應用進行安全掃描檢測後進行數據分析所得。本次檢測的樣本,我們主要根據應用的下載情況來選取,力求將影響用戶最多的應用威脅情況進行全面了解,客觀體現限制。下圖為選取的應用類型分布。

本次檢測的工具360顯危鏡為信息安全部移動安全組開發的Android應用漏洞掃描平台,集成在產品軟體生命周期的安全服務,針對應用彙編代碼的靜態安全掃描及動態分析的方式進行漏洞檢測,使得漏洞檢測更加精準,目前涵蓋了所有導出組件和幾十種常見類型的安全風險的檢測,嵌入於產品上線前的安全審核流程,進行自動化漏洞掃描,幫助APP應用快速定位漏洞細節,對產品提供安全風險評估和修復建議,實現APP應用的安全管理。

一、2017安卓主流應用威脅概況

(一) 安卓應用威脅風險整體情況

2017年12月通過360顯危鏡檢查的約1.8萬款安卓主流APP應用中,發現了99.5%的安卓應用存在威脅風險,平均每個應用威脅風險數量為38.6個。可見安卓市場上的APP存在嚴重的安全隱患。

動態註冊廣播威脅風險是檢測到的第一威脅風險,佔比24.6%,其次是隱式意圖調用風險,佔比15.5%,unzip解壓縮風險是第三大風險,佔比8.3%,未使用編譯器堆棧保護技術風險佔比6.8%,動態鏈接庫中包含執行命令函數風險佔比5.5%。此五大威脅風險佔整體的60%以上。還有20餘個風險林林總總的存在。

由於安卓市場的高度開發性,也造成了威脅普遍存在,且多樣化。

(二) 具有威脅風險的安卓應用類型情況

從具有威脅風險的APP類型來看,新聞資訊類應用全部都有威脅風險,其次是遊戲娛樂類(99.9%)、購物優惠類(99.8%)、影音圖像類(99.8%)和健康醫療類(99.7%)。金融理財類應用是威脅風險最少的,為98.6%。

從平均風險數量來看,優惠購物類風險數量最高,高達每個應用70個,其次是新聞資訊類(56.3個)、旅行出行類(44.6個)、通訊社交類(43.5個)和影音圖像類(43.3個)。最少威脅數量的是金融理財類(24.1個)。

二、2017安卓應用第三方SDK威脅概況

移動端應用的開發涉及到許多第三方SDK,而第三方SDK的安全性很難保證。移動端應用的開發為節約成本、快速成型,一般都會使用多種第三方的SDK,包括支付、統計、廣告、社交、推送、地圖類的第三方SDK。而第三方的SDK開發側重於功能性的完善,在安全性方面的投入較少,導致了2017年來由第三方SDK引起的安全事件頻發。

近兩年已被爆出有安全漏洞的第三方SDK主要有FFmpeg、SQLite、pdfium、個信sdk、chrome內核等,且由於其被廣泛使用到大量的APP中,造成漏洞的影響範圍非常大。

(一) FFmpeg威脅分析

FFmpeg的是一款全球領先的多媒體框架,支持解碼、編碼、轉碼、復用、解復用、流媒體、過濾器和播放幾乎任何格式的多媒體文件。

2017年6月,neex向Hackerone平台提交了俄羅斯最大社交網站VK.com的ffmpeg的遠程任意文件讀取漏洞。該漏洞利用了FFmpeg可以處理HLS播放列表的特性,而播放列表(Playlist)中可以引用外部文件。通過在播放列表中添加本地任意文件的引用,並將該文件上傳到視頻網站,可以觸發本地文件讀取從來獲得伺服器文件內容。同時,該漏洞亦可觸發SSRF漏洞,造成非常大的危害。

此外,360GearTeam發現的編號CVE-2016-6671漏洞,FFmpeg在對SWF文件解碼時,在計算解碼後數據大小時可導致寫入數據超過申請內存空間的大小,從而造成緩衝區溢出。編號CVE-2016-10190漏洞中發現FFmpeg在處理chunk數據時由於有符號整數到無符號整數類型轉換引起的堆緩衝區溢出。

當然,FFmpeg被爆出的漏洞不止上述幾種。下圖所示為FFmpeg官方的修復記錄,從中可以看到每一版本均修復了大量的已分配CVE編號的漏洞,新版本同樣會有許多未發掘出的漏洞等待修復。

在360顯危鏡後台根據該第三方庫的特徵規則搜索查詢,在庫中40萬多個APP中,有約6萬多個APP使用了FFmpeg的第三方開源庫的代碼,如下圖所示約佔15%。主流的一些視頻應用幾乎都採用了該開源庫用於對多媒體文件的處理。從圖中可以看出,該第三方庫的使用範圍是非常大的,一旦被爆安全漏洞,影響範圍將是無法估量的。

(二) SQLite威脅分析

SQLite是遵守ACID的關係資料庫管理系統,實現了大多數SQL標準。它使用動態的、弱類型的SQL語法,包含在一個相對小的C庫中。作為一款嵌入式資料庫,它因佔用的資源非常低,數據處理速度快等優點被Andriod、iOS、WebKit等流行軟體採用。

2017年Black大會上來自長亭科技的議題介紹了基於Memory Corruption的SQLite漏洞。基於該漏洞,可以攻擊常見的使用了SQLite的瀏覽器,包括Safari、Chrome、Opera等。同時,由於大部分應用本地資料庫的存儲幾乎都採用了SQLite實現,這些應用同樣受到該漏洞的影響。基於該漏洞可以造成大範圍的用戶信息泄露,包括用戶在瀏覽器中填寫的用戶名、密碼、身份證、銀行卡等敏感信息。另外,基於該漏洞可以實現遠程代碼執行,從而控制用戶終端設備,危害是非常大的。

此外,SQLite也有許多影響嚴重的漏洞常常被爆出。SQLite從3.3.6提供了支持擴展的能力,通過sqlite_load_extension API(或者load_extension SQL語句)開發者可以在不改動SQLite源碼的情況下,通過載入動態庫來擴展SQLite的能力。然而該功能被黑客利用,通過SQL注入漏洞載入預製的符合SQLite擴展規範的動態庫,從而實現了遠程代碼執行,危害非常嚴重。

當然,SQLite的漏洞並不僅限於這幾個。隨著版本更新,在功能升級的過程中,每一版本均會被爆出大量的不同級別的漏洞。每一版本均會在上一版本基礎上修改一些bug和漏洞,並可能會添加新的功能。由於精力有限,無法保證對每一行代碼都經過安全審核,新發布的版本中很可能存在未被發現的漏洞。在現有技術體系下,產品漏洞挖掘的過程將會是長期存在的狀況。

在Android應用中,只要有本地存儲數據的需求,一般均會採用SQLite資料庫存儲。因此,一旦SQLite被爆安全漏洞,將影響數以萬計的Android應用。同時,在某一Android設備中,一般都會預裝許多應用或日常使用中安裝了許多需要的應用,而這些應用中總會有一款應用使用了SQLite資料庫。因此,SQLite的安全漏洞幾乎總會影響的該設備。

(三) Chromium威脅分析

Chromium是一個由Google主導開發的網頁瀏覽器,以BSD許可證等多重自由版權發行並開放源代碼。Chromium是Google的Chrome瀏覽器背後的引擎,其目的是為了創建一個安全、穩定和快速的通用瀏覽器。

目前,有許多瀏覽器是基於Chromium開發的,且提供了Windows、macOS和Android版本的瀏覽器。國內的主流瀏覽器均採用了Chromium內核,包括360瀏覽器、獵豹瀏覽器、遨遊瀏覽器等。由於終端用戶對瀏覽器均會有硬性需求,PC和移動設備中均會安裝各種各樣的瀏覽器,總有一款是基於Chrome內核的。

雖然Chrome是Google開發和維護的,但是也被爆出許多漏洞,影響了基於相當內核版本的其他瀏覽器。微軟於2017年10月18日公布了一款藏匿於Google Chrome的瀏覽器安全漏洞,編號為CVE-2017-5121。該問題是由V8 JavaScript引擎引起的,通過引起應用崩潰導致攻擊者可以在內存地址中放置任意的數據。通過精心構造的攻擊,該漏洞可以達到遠程代碼執行(RCE),影響幾乎所有基於Chrome內核的瀏覽器。Google已於今年9月份中旬在Chrome 61版本修復了相關漏洞。

每年Chrome瀏覽器都會被爆出許多安全漏洞。影響幾乎所有Chrome內核的瀏覽器。此外,由於漏洞報給Google修復,其他基於Chrome內核的瀏覽器修復該漏洞需要較長的周期,漏洞的危害還是存在的。同時,其他廠商的瀏覽器很難跟上Chrome內核的更新速度,以至於很多瀏覽器還是很久之前的舊版本內核,導致該版本還受以往歷史漏洞的影響。

(四) Android系統安全趨勢

Android是一種基於Linux的自由及開放源代碼的操作系統,由Google公司和開放手機聯盟領導及開發,主要設計用於觸控熒幕移動設備如智能手機和平板電腦。目前,Android系統已經成為現今最流行的智能設備操作系統。

Android系統中,也使用了大量的第三方SDK組件用於其系統底層的基礎服務功能,例如藍牙協議棧實現、HTTPS協議實現、音視頻編解碼等。然而,Google使用的這些第三方組件也時常會被爆出有高危漏洞,且鑒於Android系統的廣泛流行性,影響也是巨大的。下圖所示內容為統計的2017年1月份至11月份Android系統中修復的第三方組件中的漏洞數量情況。從圖中可以看出,第三方組件的安全性嚴重威脅到了Android系統的安全性。

下圖所示為2017年1月份至11月份每月Android系統修復的第三方組件漏洞數量,平均每月約有80個漏洞影響Android系統的安全性。

在軟體開發過程中,大量復用第三方SDK加速產品成型成為普遍現狀,而第三方SDK的安全漏洞也將影響這些產品。如FFmpeg、SQLite、Chromium、PDFium等開源庫,均在安全漏洞的挖掘上投入了非常多的精力,尚且會被爆出許多高危漏洞影響巨大。也有許多優秀的開源產品,重點將精力投入到功能的開發與完善上,而未經過任何的安全審核。這些開源產品中,代碼中很難避免地留有大量的安全漏洞,一旦被惡意攻擊者利用將對用戶造成巨大損失。

目前,國內存在許多提供給第三方用於快速接入的SDK庫,然而其安全現狀卻令人堪憂。絕大部分第三方SDK均缺乏安全審核環節,造成代碼中總是有較多的安全漏洞,影響接入該SDK的應用的安全性。對於缺乏安全審核能力的廠商,我們推薦使用360顯危鏡對Android應用進行線上漏洞掃描,掃描結果報告中將列出風險點供廠商評估修復。

第三章 惡意程序

一、惡意程序新增量與感染量

2017年全年,360互聯網安全中心累計截獲Android平台新增惡意程序樣本757.3萬個,平均每天新增2.1萬。全年相比2016年(1403.3萬)下降46.0%,從2015年來看,新增惡意程序呈現總體下降趨勢,且今年下降幅度較大,顯示了移動惡意程序總體進入平穩高發期。

下圖是2017年各月Android平台新增惡意程序樣本量的分布圖。由圖可見,新增惡意程序整體呈現上半年高、下半年低的態勢,即1-5月新增惡意程序量整體呈現曲線上升,在5月達到最高峰。下半年除8月為78.0萬個新增樣本外,其餘月份均較低。

2017全年,從手機用戶感染惡意程序情況看,360互聯網安全中心累計監測到Android用戶感染惡意程序2.14億,相比2016年2.53億人次下降15.4%,平均每天惡意程序感染量約為58.5萬人次。

從近六年的移動惡意程序感染人次看,經過2012-2015年的高速增長期,2016年和2017年呈現下降趨勢,說明手機惡意程序進入平穩期。

下圖是2017年Android平台新增惡意程序感染量的按季度對比情況,每季度的新增惡意樣本均在下降。

全年來看,2017年四個季度的感染量呈現下降趨勢。其中二季度最高約為5934.8萬人次,四季度的感染量則最少,僅為4493.7萬人次。

二、惡意程序危害分析

根據中國反網路病毒聯盟的分類標準,360互聯網安全中心在2017全年監測的Android平台惡意程序的分類統計如下圖。從圖中可見,2017年Android平台新增惡意程序主要是資費消耗,佔比高達80.2%;相比2016年增加了6個百分點。

資費消耗類型的惡意樣本佔比已達到3/4,說明移動端惡意程序依然是以推銷廣告、消耗流量等手段,增加手機用戶的流量資費等謀取不法商家的經濟利益。當前主流運營商的資費模式重心已經轉向流量,而不再單純倚重語音通話。資費消耗類惡意程序對用戶資費造成的影響還是比較明顯。

三、手機木馬感染量年度TOP10

下表給出了2017年全年感染量最高的十大惡意程序名稱及類型、感染量。關於下面表格中每個惡意程序對應危害的詳細描述, 從全年來看,十大惡意程序如下表所示:

表2 2017年全年手機感染量TOP10的惡意應用

四、惡意程序感染量地域分布

2017年,從地域分布來看,感染手機惡意程序最多的地區為廣東省,感染數量佔全國感染數量的10.4%;其次為河南(6.8%)、山東(6.5%)、河北(5.9%)和浙江(5.9%)。

下圖給出了2017年Android平台惡意程序感染量最多的十大城市。毫無疑問,北京用戶感染Android平台惡意程序最多,佔全國城市的4.9%;其次是廣州(2.1%)、重慶(1.8%)、成都(1.7%)和東莞(1.5%)、石家莊(1.5%)。

第四章 Android平台挖礦木馬

挖礦(Mining),是獲取比特幣等電子加密貨幣的勘探方式的昵稱。由於其工作原理與開採礦物十分相似,因而得名。

手機挖礦木馬就是在用戶不知情的情況下利用其手機的計算能力來為攻擊者獲取電子加密貨幣的應用程序。

一、手機挖礦木馬歷史演變

挖礦木馬最早是2013年在PC平台上被發現,而首個手機挖礦木馬CoinKrypt[2]最早被國外安全廠商在2014年3月曝光。手機挖礦木馬經過一陣沉寂後,隨著電子加密貨幣價格的一路走高,惡意軟體作者又重新將目標轉向了挖礦。手機挖礦木馬的攻擊事件也重回視野,且勢必是未來惡意軟體的趨勢之一。

2014年03月Android.Coinkrypt,Android平台上首個挖礦木馬。

2014年04月Android. BadLepricon[3],在Google Play上發現手機挖礦木馬。

2014年05月Android. Widdit[4],首個使用Android挖礦SDK的挖礦木馬。

2017年10月Android.JsMiner[5],首個載入JavaScript的挖礦木馬。

2017年10月Android.CpuMiner[6],首個使用cpuminer庫的挖礦木馬。

2017年12月Android.PickBitPocket[7],偽裝成比特幣錢包的欺詐程序。

2017年12月Android.Loapi[8],擁有複雜模塊化架構的挖礦木馬。

2018年1月Android.Hackword[9],首個使用Coinhive安卓SDK挖礦的木馬。

二、規模和影響

從2013年開始至2018年1月,360烽火實驗室共捕獲Android平台挖礦木馬1200餘個,其中僅2018年1月Android平台挖礦木馬接近400個,佔全部Android平台挖礦類木馬近三分之一。

2014年Android挖礦木馬經過短暫的爆發後,於2015,2016年逐漸歸於平靜。主要原因是受到當時移動平台技術等限制,以及電子貨幣價格影響,木馬作者的投入和產出比不高。但隨著2017年年底電子貨幣價格的一路高漲,挖礦技術的成熟,再次得到木馬作者的目標,手機挖礦木馬在也呈爆髮式增長。

Android平台挖礦木馬偽裝成各類應用軟體,統計發現其中工具類(20%)、下載器類(17%)、壁紙類(14%)是最常偽裝的應用類型。

從樣本來源來看,除了被曝光的在Google play中發現的十多個挖礦木馬外,我們在第三方下載站點捕獲了300多個挖礦木馬,根據其網頁上的標識,估算出這個網站上的APP總下載次數高達260萬餘次。

從網站來看,據Adguard數據顯示, 2017年近1個月內在Alexa排行前十萬的網站上,約有220多個網站在用戶打開主頁時無告知的利用用戶計算機進行挖礦,影響人數多達5億。

三、目標幣種

挖礦木馬在幣種選擇上是隨著幣種的挖掘難度和幣種相對價格等因素而變化。目前在Android平台發現的挖礦木馬選擇的幣種主要有比特幣(BitCoin)、萊特幣(Litecoin)、狗幣(Dogecoin)、卡斯幣(Casinocoin) 以及門羅幣(Monero)這五種。

四、挖礦方式及收益分配

挖礦方式有單獨挖礦和礦池挖礦兩種。下面以比特幣為例來說明兩種挖礦方式的區別。

(一) 獨立挖礦

獨立挖礦是指使用自己計算機當前擁有的計算能力去參與比特幣的挖掘,獲取到的新區塊的收益全歸個人所有。

獨立挖礦流程

比特幣平均每十分鐘產生一個區塊,而參與比特幣挖掘的用戶數量非常龐大,獨立挖礦可能一整年也無法搶到一個區塊。且手機的計算能力相比於其他挖礦設備更是有限,當前Android平台還未發現使用獨立挖礦手段來獲取電子貨幣的挖礦木馬。

(二) 礦池挖礦

礦工是參與比特幣勘探競爭的網路成員的昵稱。而礦池是一個通過特定演算法而設計的伺服器,所有連接到礦池伺服器的用戶,會組隊進行挖礦。

個人設備的性能雖然渺小,但是成千上萬的人進行組隊挖礦,總體性能就會變得十分強大,在這種情況,挖礦的成功率會大大提升,一旦礦池中的隊伍成功製造了一個區塊,那麼所有隊伍中的人會根據每個人貢獻的計算能力進行分紅。礦池的開發者一般會對每個用戶收取一定手續費,但由於這種方法讓大家更穩定得獲得比特幣,大部分礦工都會選擇礦池挖礦,而不是單獨挖礦。

礦池挖礦流程

礦池挖礦也分為一般礦池挖礦和前端礦池挖礦。

1) 一般礦池挖礦:

一般礦池挖礦直接利用CPU或GPU本身的高速浮點計算能力進行挖礦工作。由使用C語言或者其他語言構造的挖礦程序進行CPU或GPU計算得到算力價值。礦池根據產生的算力價值進行分紅,並收取10%以下的礦池手續費。

2) 前端礦池挖礦:

前端挖礦利用asm.js或webAssembly前端解析器中介在瀏覽器端被動使用用戶的CPU完成挖礦或者利用Html5新規範WebGL利用瀏覽器完成GPU挖礦操作。由瀏覽者產生的CPU或GPU計算得到算力價值。前端礦池(如Coinhive[11])會收取30%的礦池手續費。

由於使用方便,跨平台且隱藏性較好等特點,前端礦池挖礦逐漸得到挖礦木馬作者的青睞。

五、挖礦技術原理

在Android平台上,攻擊者為追求穩定的收益,挖礦方式通常都選擇使用礦池來進行挖礦。攻擊者通過挖礦木馬遠程控制用戶手機,在用戶不知情的情況下,使手機持續在後台挖掘電子貨幣來為其牟利。

攻擊者通過挖礦木馬賺取收益的攻擊流程

而在代碼層上的表現形式為,嵌入開源的礦池代碼庫進行挖礦和使用礦池提供的瀏覽器JavaScript腳本進行挖礦。

六、挖礦木馬的技術手段

挖礦的過程運行會佔用CPU或GPU資源,造成手機卡頓、發熱或電量驟降等現象,容易被用戶感知。為了隱匿自身挖礦的行為,挖礦木馬會通過一些技術手段來隱藏或控制挖礦行為。

(一) 檢測設備電量

挖礦木馬運行會導致電池電量明顯下降,為保證手機在多數情況下正常運行而不被用戶察覺,會選擇在電池電量高於50%時才運行挖礦的代碼。

檢測設備當前的電量是否大於50%

(二) 檢測設備喚醒狀態

挖礦木馬會檢查手機屏幕的喚醒狀態,當處於鎖屏狀態時才會開始執行,避免用戶在與手機交互時感知到挖礦帶來的卡頓等影響。

檢測屏幕喚醒狀態

(三) 檢測設備充電狀態

設備在充電時會有足夠的電量和發熱的想像。在充電時運行挖礦木馬可以避免用戶察覺挖礦帶來的電量下降和發熱等現象。

通過MiningService服務連接Pickaxe礦池來挖掘比特幣

(四) 設置不可見的頁面進行挖礦

挖礦木馬通過設置android:visibility為invisible屬性,達到不可見的Webview頁面載入效果從而使用JavaScript腳本進行挖礦,隱藏自身的惡行挖礦行為。

設置不可見的webview頁面

(五) 仿冒應用下載器


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 威客安全 的精彩文章:

十分鐘看懂比特幣,矽谷密探帶來區塊鏈最強音
用戶信息被客服竊取並遭威脅,蘋果要讓外包工來「背鍋」?

TAG:威客安全 |