吳昊:各位來賓,各位安全圈的朋友以及各位媒體朋友,大家上午好!很高興也很榮幸站在這里跟大家講移動安全問題。前面Bruce也分享了Radware在云端上的安全防護問題。這里分享一下移動端的安全防護問題。
前段時間,大家還在糾結(jié),能不能登上移動互聯(lián)網(wǎng)的船票,甚至在說這個東西到底是站票還是坐票,經(jīng)過這幾年的發(fā)展,移動互聯(lián)網(wǎng)發(fā)生了什么變化呢?CNNET發(fā)的一個數(shù)據(jù)。從2007年移動互聯(lián)網(wǎng)開始普及,為什么是這個節(jié)點呢?
2007年iPhone發(fā)布了第一款他的手機,從那個時代大家對智能機的認知已經(jīng)發(fā)生了改變。2008年Android發(fā)布,中國互聯(lián)網(wǎng)從PC時代到移動時代,最終移動互聯(lián)網(wǎng)在整個網(wǎng)民中的滲透率已經(jīng)達到現(xiàn)在的90.1%,整體網(wǎng)民達到7億,而移動互聯(lián)網(wǎng)網(wǎng)民已經(jīng)占到6.1億。
這個大背景下,人們發(fā)現(xiàn)整個生活已經(jīng)離不開移動互聯(lián)網(wǎng),大家的智能手機,無論是吃飯還是坐車,基本都會有對應(yīng)的App幫大家解決這些問題,不像以前PC互聯(lián)網(wǎng),大家的入口就只是一個瀏覽器甚至是QQ。
這是手機管家做的統(tǒng)計,這個數(shù)據(jù)可能讓大家感覺更加觸目驚心,在2011-2013年時,移動App的發(fā)展是相對平緩的,但到2014-2015年呈指數(shù)級的增長。2014年涌現(xiàn)了一波移動互聯(lián)網(wǎng)的創(chuàng)業(yè)浪潮,那時候出現(xiàn)的很多小開發(fā)者甚至個人開發(fā)者,整個移動App開發(fā)效率越來越快,成本也越來越低。
我給兒子輔導(dǎo)英語時,他的老師會推移動App,有很多bug,我就找這個買法者,很驚奇地發(fā)現(xiàn)這個App就是孩子的父親,為了讓孩子學(xué)好英語,就是簡單的錄音、上傳,讓同班同學(xué)可以分享。所以,整個移動App已經(jīng)完全滲透到我們生活的各個領(lǐng)域中。
我們所面臨的風(fēng)險。
機遇永遠和風(fēng)險都是并存的。既然整個行業(yè)都盯在這一塊,很顯然黑產(chǎn)對這塊也是虎視眈眈。環(huán)境,你的App在Android手機上運行,和它一起運行的可能是其他的App。大家需要知道的是,不光是其他的App在你的手機上,還有這么多的病毒,病毒和App的趨勢是相同的,也是2014-2015年呈指數(shù)式的增長。
這些病毒是干什么的呢?
黑產(chǎn)為什么會有這么大的動力做這個事情?其實就是為了錢,看排名第一的就是資費吸取,可能你的手機會在不知不覺中中了一款病毒木馬,它會發(fā)短信和網(wǎng)絡(luò)鏈接,消耗你的流量,不知不覺中你的流量就被吸走了。
既然有這么大的動力,它的傳播渠道呢?大家會說iOS的審核非常嚴格,但Android會多達40、50的分發(fā)渠道,這樣多的分發(fā)渠道導(dǎo)致病毒傳播也非常快速。這里面利潤比較高,有一些步伐廠商會累及病毒,那么你的手機在病毒肆虐的環(huán)境中會受到影響。
除了病毒,很多App的開發(fā)者,剛把自己的東西發(fā)出去,利馬仿冒的東西就出來了,甚至它的東西會夾了一些廣告,就是你辛辛苦苦做的東西全在給別人打工了。這個仿冒會有非常大的行業(yè)性,在游戲里會特別明顯.
據(jù)不完全統(tǒng)計,90%的游戲都會存在仿冒。我們做了統(tǒng)計,平均每個游戲的仿冒數(shù)大概是150家。其實這種仿冒對黑產(chǎn)來說非常簡單,它有一套非常成熟的工具。可能你的App過來之后,仿冒就自動化廣告插件,自動化編譯,發(fā)布到各大平臺,可能是一體化傻瓜式的操作。
剛才說了應(yīng)用環(huán)境,你的App會面臨著競爭對手的仿冒,非常嚴峻的生存環(huán)境,但本身的App是不是也沒有問題?
再看一個數(shù)據(jù),這是騰訊安全平臺部對市面上70%、80%的主流軟件做了統(tǒng)計,最危險的是Webview代碼執(zhí)行漏洞,做技術(shù)的人知道這個漏洞的危害,也許你無意點了別的鏈接,也不是上黃色網(wǎng)站,但你的手機就有可能中毒,就有可能變慢,就是因為這個漏洞。
這是給大家分享的安全的問題,除了安全還有做移動開發(fā)的有沒有別的問題。(圖)蘋果從發(fā)布到現(xiàn)在整個手機更新?lián)Q代非常快,而且比例、占比都是挺OK的,現(xiàn)在看中國的Android市場,無論是排名第一的OPPO還是華為,以及小米都耳熟能詳,但沒有一款機型包括1.5%。如果把這個鏈條朝下拉,你們可以想像,在中國市場上會有多少款手機,5萬款。
在大量碎片化情況下,可能你要應(yīng)對的不光是把功能做好,更多的是要應(yīng)對各種各樣的適配問題,常見適配問題第一的是Android 00M問題,有的可能在模擬器、主流機型上運行得很好,測試環(huán)境中都OK,為什么發(fā)布出去用戶就卸載,因為用不了,還有各種各樣的分辨率等問題。當(dāng)我們費勁所有的問題把這些搞定之后,我們的產(chǎn)品發(fā)布出去了,用戶數(shù)如何,穩(wěn)定性如何,可能有的用戶用完就卸了,什么原因?不知道。
每天有1400萬Android手機都會發(fā)生應(yīng)用崩潰,每個月會有1.8億設(shè)備發(fā)生應(yīng)用崩潰。這對每個開發(fā)者來說都是非常巨大的考驗。做過Windows開發(fā)的都知道,空指針一直是程序員所詬病的,它也是出現(xiàn)最多的問題,在Android環(huán)境下其實一樣不例外,50%接近一半都是空指針。你如何找到這些點,可能要自己搭建一套很復(fù)雜的運營管理系統(tǒng),但很多小廠商或個人開發(fā)者有沒有這樣的能力?
我們該怎么辦?
前面講了很多數(shù)據(jù),其實想給大家說,我們在這種大環(huán)境下,有些問題不僅是小廠會面臨,騰訊這樣的大公司也有很多App,我們這些App怎么解決,是安全問題,適配問題還是跟蹤問題?大公司有個好處,專業(yè)的人去做專業(yè)的事情。這里跟大家稍微分享一下騰訊的研發(fā)體系。
騰訊研發(fā)體系。
需求階段,我們安全人員會做一個風(fēng)險評估,工人有沒有潛在的問題,有什么樣的惡意?這個地方會做充分的評估,如果評估這個方案不OK,那么對不起,產(chǎn)品就會改方案。
開發(fā)階段,我們會有一整套的研發(fā)安全規(guī)范,會提供安全API,比如輸入、輸出和關(guān)鍵地點都會做匹配和適配,最大程度地去避免因為開發(fā)者沒有安全的經(jīng)驗而導(dǎo)致的低級錯誤。我們會給代碼做混淆各加密,相當(dāng)于給代碼輸入一道“防盜門”。
測試階段,整個應(yīng)用本身會有漏洞,測試過程中不僅有工人測試,還有人工滲透測試,還有漏洞掃描,這樣把漏洞早點發(fā)現(xiàn)。騰訊市場上主流真機我們都會采購過來,進行真機測試。
發(fā)布階段,服務(wù)器上我們會做服務(wù)器的保護和安全防護。
運營階段,會做質(zhì)量跟蹤,渠道方面的監(jiān)控。
這是整個研發(fā)周期,安全會從頭至尾會做培訓(xùn)考試,審計、咨詢、執(zhí)行,這一整套體系下來,我們的App在市面上做安全風(fēng)險、應(yīng)用適配都會有一些優(yōu)勢。
對業(yè)務(wù)代碼,我們想做專業(yè)的安全保護之后,它就能夠提升立項的成本。(圖)這是我們的保護框架。業(yè)務(wù)有很多種形態(tài),無外乎就是APK,SDK,或者源碼級的。對這三種形態(tài)我們會有分別的對應(yīng)方式,比如APK就是Dex這一層會判斷虛擬機,二進制文件我們會自己寫loder站,會把常見的文件抹掉,市面上常見的文件搞不定。還有資源文件,你辛辛苦苦做的資源文件說不定會給別人就用了,我們會做加密。我們會在接口層面做接管。
下面這一層是加解密中心,會根據(jù)不同的形態(tài)做高強度或低強度的加密。再到下一層就是對抗。最后一層是核心,我們有一套自己的虛擬機,會對代碼做混淆變化流存,各種各樣的扁平化。過程中會有反調(diào)試,反Download的實時防御。這樣下去之后你的數(shù)據(jù)就會非常健壯,有一道防火墻或防盜門,你先得攻破這道門才能了解里面的秘密。
當(dāng)然,外部豎了一道門,你有漏洞還是不得不修,有漏洞必須要修的。我們對業(yè)務(wù)做了一套通用的掃描引擎,分為靜態(tài)和動態(tài),會在數(shù)據(jù)安全和通信安全、應(yīng)用安全、第三方主題安全四個維度做自動化的掃描,一旦掃描最基本的低級錯誤就會被過濾出來。還有主機掃描,進行攻擊測試,傳輸一些掃描,看有沒有crush。最底層有APT威脅情報,對近景或遠景漏洞都會有威脅情報中心的掃描系統(tǒng),掃描之后報告給庫。
我們的App每天會出一個統(tǒng)一報告,你要關(guān)注的點非常簡單,只要看這個報告里是否有漏洞修復(fù),達到我們發(fā)布的標(biāo)準(zhǔn)。
真機測試,幾千臺機器,不可能每個人對應(yīng)一點,所以我們做的一個平臺化測試平臺。我們有中控系統(tǒng)會管理腳本,會通過網(wǎng)絡(luò)發(fā)到每個手機終端上,在手機終端上你的App會有一套KAT框架,在管理整個App的生命周期。
比如App的安裝、卸載以及各種各樣點擊的觸發(fā)、上報、數(shù)據(jù)的錄取,內(nèi)存的消耗等各種各樣會做統(tǒng)一的分析,最終也是把結(jié)果以報告形式反饋給開發(fā)者。也就是說你的App做完之后,每個自動化編譯之后,它的漏洞結(jié)果、測試結(jié)果、適配性結(jié)果,市面上幾款機型適配率99%還是98%一目了然。對這些機器還可以測試,遠程登到這些機器上進行遠程調(diào)試,幫助定位這些問題。
質(zhì)量跟蹤。真機測試之后回到質(zhì)量跟蹤,這是每個App打到SDK,會做負載均衡。騰訊系的App量還是非常大的,每個App搭一個Crush分析框架不現(xiàn)實,這是統(tǒng)一的框架,我們會做負載,會做聯(lián)網(wǎng)數(shù)據(jù)、崩潰數(shù)據(jù),消息中間層會對邏輯堆棧進行處理。
比如今天新增了多少用戶,明天本來應(yīng)該在線的用戶離線了多少,哪些用戶是你的潛在用戶或高ARPU值的用戶。我們通過后臺一個分析數(shù)據(jù)庫和搜索引擎,最終你從前臺都能通過每個業(yè)務(wù)開放權(quán)限查到自己的業(yè)務(wù)對應(yīng)的報告。
騰訊在這塊投入了非常大的人力物力解決這些問題,每一塊涵蓋了無論購買真機還是組建安全團隊都會消耗非常大的人力、物力、財力。對中小企業(yè)來說真的會很奢侈,有沒有很方便的,假如我是小開發(fā)者,你幫我全部搞定。我們把之前所說的這套框架做了整合,最終我們提出一個口號是——移動安全一站式服務(wù)。什么叫一站式服務(wù)?只要在我們這兒全部都可以搞定,很方便。
黑產(chǎn)也方便了,病毒、木馬可能都會過來用。所以,我們在前面有個樣本掃描系統(tǒng),這也是依賴于電腦管家強大的病毒查殺能力,我們在給行業(yè)提供便利的同時要主打外來黑產(chǎn)。審計層很多黑產(chǎn)就過不了。對于用戶他有多種選擇,可以通過Web入口做,可以通過PC工具,甚至通過API集成他的環(huán)境。
進來之前我們會先做一下體檢,告訴你那個地方有危險,哪個地方應(yīng)該做什么東西。當(dāng)這些東西做完之后,有的用戶會不太懂下一步要做什么,我們這里更多的是提煉一種解決方案,就是用戶可能是電商用戶、游戲用戶、互聯(lián)網(wǎng)金融用戶或銀行用戶,對不同用戶對應(yīng)的解決方案都不一樣。
我們會包裝一些,比如可能你的游戲需要防破解,金融可能需要一些知識產(chǎn)權(quán)保護,或者交易流程的保護,電商可能會需要一些信息數(shù)據(jù),有些需要病毒木馬殺毒。每個垂直領(lǐng)域我們都有一套分級的保護方案,你可以選擇輕量、中量或高強度的方案,我們會有不同的方案。各種插件式的組件你都可以自由勾選,自由組合。
插件的支撐是依賴于騰訊支撐的大平臺,我們有應(yīng)用的Top級的,有應(yīng)用管家、海量病毒庫,會對監(jiān)控做監(jiān)測爬取。比如游戲外面出現(xiàn)盜版之后我們盜版系統(tǒng)馬上會發(fā)現(xiàn)。所有的真機測試和質(zhì)量跟蹤系統(tǒng),你前面遇到的無論是環(huán)境問題、安全問題還是App自身的問題在這里都能得到一站式的解決。
這套框架出來之后,用戶已經(jīng)開始自動化接入了,比較慶幸的是,現(xiàn)在云作為一個很好的出口,在云上做非常好的整合,在App生命周期里,無論是代碼集成、上線測試、發(fā)布運營它都涵蓋,在平臺上能找到所有的對應(yīng)功能,而且所有這些東西都能非常得簡單。
目前我們通過這個平臺已經(jīng)做了超過10萬款應(yīng)用,服務(wù)了1億終端。未來在騰訊其他App領(lǐng)域可能還會孵化出新的工具或新的解決方案,我們都會依賴云把整個解決方案對外發(fā)布,也希望所有中小開發(fā)者和我們一起去共同組建云端App生態(tài),一起為App整個行業(yè)健康發(fā)展,騰訊希望為大家保駕護航。
謝謝!