顧孔希:尊敬的各位嘉賓下午好!我是顧孔希,名字可能大家不太熟悉,我藝名叫做雞子,我在滴滴安全部負(fù)責(zé)系統(tǒng)安全,負(fù)責(zé)安全技術(shù)系統(tǒng)建設(shè),是壓力比較大的工作,包括PPT也沒有時(shí)間寫,當(dāng)然我們壓力比較大,挑戰(zhàn)比較大,歡迎大家對(duì)滴滴感興趣可以私下聊一聊。今天主要三塊,安全檢測(cè)能力是什么、滴滴安全檢測(cè)能力歷程、對(duì)未來(lái)理解什么樣。
一、安全檢測(cè)能力是什么?
我們覺得企業(yè)安全檢測(cè)不是一個(gè)點(diǎn)上的東西,不是補(bǔ)一個(gè)漏洞就做好的事情,企業(yè)安全是體系化的對(duì)抗。體系化主要四個(gè)能力的建設(shè):第一運(yùn)營(yíng)能力,貫徹整個(gè)安全建設(shè)中間,下面有三個(gè)技術(shù)能力做,分別防護(hù)能力、檢測(cè)能力、處理能力,我今天講的主要處理能力。在我們看來(lái)安全檢測(cè)幾個(gè)層次,設(shè)各種坎,我們用什么手段攻擊我們,我們用什么手段防御他。我們分析這些人怎么攻擊我的。大家闡述安全是不斷提高對(duì)抗的過(guò)程,消除它的獲利。
今天講的安全檢測(cè)能力是第二層面事情,分析攻擊過(guò)程,把攻擊手段封鎖住。什么是安全檢測(cè)能力?我們公司認(rèn)為安全檢測(cè)能力是數(shù)據(jù)加各種模型等于安全檢測(cè)能力,大家看我在后邊打了一個(gè)問(wèn)號(hào),我不太認(rèn)同。所有安全事件都會(huì)在數(shù)據(jù)中,我們常說(shuō)安全建設(shè)有木桶原理,同時(shí)攻擊者有一樣對(duì)應(yīng)的原理在,不管用什么手段攻擊,總會(huì)數(shù)據(jù)里邊留下一點(diǎn)痕跡,我們做安全檢測(cè)能力一定拿到所有的數(shù)據(jù)
我跟負(fù)責(zé)安全檢測(cè)事件相應(yīng)能力人聊,對(duì)于他說(shuō)安全檢測(cè)能力高效安全檢測(cè)能力閉環(huán),高效不光指速度,還有準(zhǔn)確率,有很高的準(zhǔn)確率和很快的相應(yīng)速度。還有我自己的看法,我是2014年到滴滴,那會(huì)兒CNM有點(diǎn)預(yù)熱,不是把公司各種安全設(shè)備集中一個(gè)平臺(tái)上去,我更多理解把各種各樣日志集中同一個(gè)平臺(tái)上去,通過(guò)關(guān)聯(lián)分析把所有日志打通,包括去年2015年業(yè)界熱詞,也離不開關(guān)聯(lián)分析,把各個(gè)緯度數(shù)據(jù)拉到一起做關(guān)聯(lián)分析。根據(jù)我們幾個(gè)人討論分析,安全檢測(cè)能力是什么?把各種各樣數(shù)據(jù)聚合一起,通過(guò)很高效的手段把數(shù)據(jù)聚合分析就是安全檢測(cè)能力
二、滴滴怎么做安全檢測(cè)能力?
先說(shuō)我們安全技術(shù)架構(gòu)是什么?我們解決兩個(gè)問(wèn)題,第一應(yīng)對(duì)攻擊、保障業(yè)務(wù)能力和安全,第二保護(hù)數(shù)據(jù)泄露。大家不會(huì)把自己企業(yè)安全防護(hù)策略拿出來(lái)講,更多講架構(gòu)方面的東西。去年網(wǎng)絡(luò)安全大會(huì),京東過(guò)來(lái)講應(yīng)急,就是后邊一塊。真正到現(xiàn)在為止,沒有哪個(gè)甲方把安全策略拿出來(lái)講,畢竟是對(duì)抗核心的東西。為了達(dá)到這兩個(gè)目的,主要設(shè)計(jì)一套技術(shù)架構(gòu),這套技術(shù)架構(gòu)體現(xiàn)系統(tǒng)安全全貌,包括系統(tǒng)機(jī)構(gòu)、還有人員體系。
今天講的安全檢測(cè)能力在技術(shù)架構(gòu)處于中間力量位置,安全檢測(cè)能力依賴核心系統(tǒng)就是日志監(jiān)控平臺(tái)。
我們滴滴發(fā)展歷程大概分為四個(gè)階段,最早出腳本階段、第二免費(fèi)軟件,第三開源系統(tǒng),第四自研。最早的時(shí)候腳本時(shí)代,數(shù)據(jù)量不大,我們到一臺(tái)機(jī)器寫點(diǎn)腳本基本可以搞定,為了寫這個(gè)PPT上去翻一下,我發(fā)現(xiàn)我腳本還在運(yùn)行。我們?cè)谠紩r(shí)代的時(shí)候,其實(shí)做的一件事情最核心,我們關(guān)注安全檢測(cè)的邏輯,到后邊發(fā)現(xiàn)寫腳本已經(jīng)滿足不了我們需求,我們需要一個(gè)系統(tǒng)做支撐,這時(shí)候我也做很多調(diào)研。2012年我接觸Spiak,腳本、告警不滿足我們要求可以框架,進(jìn)行二次開發(fā),他支持GS做可視化,可以滿足所有數(shù)據(jù)分析需求。這款產(chǎn)品對(duì)于我來(lái)講幾乎完美的產(chǎn)品,為什么沒有用下去?原因很簡(jiǎn)單,免費(fèi)版500兆,以我們數(shù)據(jù)量肯定幾十萬(wàn)才能做下來(lái),肯定不行。比如先數(shù)據(jù)預(yù)處理,數(shù)據(jù)量一定規(guī)模的時(shí)候很難滿足,后續(xù)我們尋找其他方案,我們找到ELK。
ELK是三個(gè)組件組成的,這套系統(tǒng)在歷程生命周期非常短,我們發(fā)現(xiàn)運(yùn)行不是特別穩(wěn)定,數(shù)據(jù)量大的時(shí)候存在嚴(yán)重的性能危機(jī),數(shù)據(jù)規(guī)模大的時(shí)候基本不是特別穩(wěn)定。最后定來(lái)搞一套自己的系統(tǒng),于是我們進(jìn)入自研的時(shí)代。
我們把自己系統(tǒng)叫哈勃平臺(tái),我們覺得這個(gè)平臺(tái)是我們探索賽博空間無(wú)限可能性的一個(gè)工具。當(dāng)時(shí)這個(gè)平臺(tái)我角色更偏向產(chǎn)品經(jīng)理或者需求方,給當(dāng)時(shí)ID談這個(gè)事情,我們?cè)僭靸r(jià)值幾千萬(wàn)軟件出來(lái)。我們很多借鑒Spiak,比如我們搜索一樣,自己實(shí)現(xiàn)一套查詢語(yǔ)句,再比如支持各種數(shù)據(jù)源的導(dǎo)入,各種緯度的報(bào)表,我們模仿它非常自由化的告警機(jī)制,以及索引根據(jù)自己需求從不同渠道建。
簡(jiǎn)單介紹我們架構(gòu),我們沒有拿更多的具體策略、具體方法講,更多講我們架構(gòu)怎么做。業(yè)務(wù)層面分四塊:采集、數(shù)據(jù)、計(jì)算、運(yùn)營(yíng)層。采集流失、客戶端、PC采集。到數(shù)據(jù)層主要接觸各種各樣原始數(shù)據(jù),以及安全系統(tǒng)經(jīng)過(guò)二次處理的數(shù)據(jù),用的數(shù)據(jù)站四塊APF,各種表的關(guān)聯(lián),為了讓我們查詢更快引入rds。計(jì)算層分兩塊:一個(gè)分析、一個(gè)規(guī)則平臺(tái),分析平臺(tái)就是ES,支持各種自由化查詢,離線跑MR。運(yùn)營(yíng)層做的比較薄弱,包括可視化沒有做起來(lái),主要更多在查詢和規(guī)則這一塊。我們?cè)谙到y(tǒng)上自己實(shí)現(xiàn)搜狗語(yǔ)言做查詢
我們這套數(shù)據(jù)流,數(shù)據(jù)源盡可能把公司各種各樣數(shù)據(jù)采過(guò)來(lái),輸入數(shù)據(jù)采集這邊,數(shù)據(jù)采集有ETL系統(tǒng),把數(shù)據(jù)提取,經(jīng)過(guò)特算平臺(tái),對(duì)外輸出產(chǎn)品可以各種各樣,根據(jù)采集數(shù)據(jù)不同提供不同產(chǎn)品。比如提供異常告警也是安全產(chǎn)品,比如移動(dòng)端日志拉過(guò)來(lái)可以做設(shè)備的新用。舉一個(gè)具體例子,我們會(huì)采集各種各樣移動(dòng)端數(shù)據(jù),采集之后定義特征,根據(jù)特征最后輸出服務(wù)是什么?這個(gè)設(shè)備是否可信。
我們做這套系統(tǒng)的時(shí)候主要困難是什么?
1、模塊聯(lián)合我們最初做這個(gè)事情的時(shí)候,沒有一個(gè)好的指導(dǎo)方向來(lái)做這個(gè)事情,基本上我們說(shuō)跟著需求走,我們現(xiàn)在需要分析能力上一套ES,現(xiàn)在需要做規(guī)則和自動(dòng)發(fā)現(xiàn)就上MR,最后發(fā)現(xiàn)用起來(lái)非常困難。最后怎么解決這個(gè)問(wèn)題?引入安全監(jiān)控、安全分析熟悉人業(yè)務(wù)流梳理,重新設(shè)計(jì)模塊關(guān)系,結(jié)合前端把模塊打通整合起來(lái)。
2、性能優(yōu)化,我們遇到最大挑戰(zhàn)就是性能方面挑戰(zhàn),我們之前是20臺(tái)機(jī)器吃不下公司數(shù)據(jù)量,為了結(jié)果這個(gè)問(wèn)題,經(jīng)過(guò)分析索引鑒定出了問(wèn)題,我們對(duì)索引鑒定優(yōu)化,一個(gè)優(yōu)化機(jī)制,一個(gè)索引鑒定設(shè)計(jì)閉型,基本上50臺(tái)機(jī)器吃下公司所有日志
3、用戶體驗(yàn)的優(yōu)化,我們用各種不同的組件在下邊,用戶用的時(shí)候非常困難,我們架構(gòu)師怎么解決這個(gè)問(wèn)題?拿一套開源設(shè)備做二次開發(fā),把各種服務(wù)打通。架構(gòu)師定義一套語(yǔ)法出來(lái),后邊做解析。
4、關(guān)聯(lián),我們?cè)趺搓P(guān)聯(lián)起來(lái)?傳統(tǒng)方法是通過(guò)IP或者通過(guò)時(shí)間,但是我們發(fā)現(xiàn)并不可取,IP外網(wǎng)進(jìn)內(nèi)網(wǎng)各種轉(zhuǎn)化,有可能轉(zhuǎn)化內(nèi)網(wǎng)接入IP,沒法關(guān)聯(lián)起來(lái),時(shí)間不可怕,幾萬(wàn)條日志沒法做關(guān)聯(lián)。最后我們公司把所有日志打通,里邊引入ID,嵌入公司業(yè)務(wù)流中,把數(shù)據(jù)打通。通過(guò)ID后端查詢?nèi)罩究梢圆榈健?/p>
現(xiàn)在我們這套系統(tǒng)現(xiàn)狀什么樣子?每天處理數(shù)據(jù)量400億,自己感覺從開發(fā)歷程到現(xiàn)在半年樣子,現(xiàn)在處理這個(gè)數(shù)據(jù)量比較棒,結(jié)構(gòu)化數(shù)據(jù)達(dá)到秒級(jí)響應(yīng),非結(jié)構(gòu)化數(shù)據(jù)慢一點(diǎn),差不多10秒出結(jié)果。
三、我們這套系統(tǒng)未來(lái)打算做成什么樣子?
我一直覺得安全攻防有本質(zhì),它是人和人的戰(zhàn)爭(zhēng)。怎么理解?現(xiàn)在大家都提智能或者機(jī)器學(xué)習(xí)具體安全問(wèn)題,我的觀點(diǎn),不知道大家用蘋果和微軟安全軟件,機(jī)器跟我們聊天,并沒有得到很愉快的體驗(yàn),他不會(huì)理解我上下文,我兩句話之間邏輯關(guān)系是什么?他沒法立業(yè)邏輯,我覺得現(xiàn)在智能不具備理解這種邏輯,上下文關(guān)聯(lián)邏輯。包括阿爾法狗對(duì)抗也是同一個(gè)維度上下圍棋。攻擊是什么情況?有一個(gè)朋友在另外一個(gè)公司專門做機(jī)器學(xué)習(xí),花一個(gè)月到兩個(gè)月跟蹤黑產(chǎn)攻擊,制定模型解決這個(gè)問(wèn)題,他發(fā)現(xiàn)兩個(gè)月把模型上線確實(shí)把問(wèn)題解決,但是一周不到發(fā)現(xiàn)黑傘已經(jīng)換了玩法,所以攻擊者和我們不是一個(gè)層面對(duì)抗,你理解現(xiàn)有攻擊沒有用,可能更高層面是攻擊。本質(zhì)是人和人戰(zhàn)爭(zhēng),機(jī)器達(dá)不到程度。
我覺得智能對(duì)這套系統(tǒng)非常有意義,這里用一個(gè)標(biāo)題返璞歸真,我覺得平臺(tái)的智能體現(xiàn)什么地方?我作為一個(gè)安全專家角色,我告訴平臺(tái)邏輯是什么?這就是返璞歸真過(guò)程,最原始我們關(guān)注安全檢測(cè)邏輯是什么,未來(lái)是什么樣子?我告訴他我邏輯是什么,平臺(tái)理解我邏輯輸出一個(gè)結(jié)果,再告訴我想什么結(jié)果,給我想要的展示。他理解我要看什么東西?輸入什么樣規(guī)則,這是智能體現(xiàn)的地方,未來(lái)到底什么樣子?極度抽象輸入輸出的平臺(tái),我輸入并不是固定的模式,并不是寫一個(gè)代碼,甚至寫偽代碼,告訴這個(gè)事情我怎么檢測(cè)他,他能理解。輸出都是任意配置,我想看到圖想看到列表自己可以理解,智能體現(xiàn)交互過(guò)程,我覺得這是未來(lái)安全檢測(cè)平臺(tái)一個(gè)樣子。
總體來(lái)說(shuō),我們覺得現(xiàn)在安全檢測(cè)平臺(tái)才做半年,比較初期。大家如果對(duì)這一塊很感興趣,想在這一塊做更深的事情,可以私底下聊一聊,我們有很大的平臺(tái),提供平臺(tái)發(fā)揮你的才能,我今天演講到這里。謝謝大家!