長夜將至,我從今開始守望,至死方休。
我將不娶妻,不封地,不生子。
我將不戴寶冠,不爭榮寵。
我將盡忠職守,生死於斯。
…….
今夜如此,夜夜皆然。
這是《權力的遊戲》中守夜人軍團的誓詞。
在遠古時代,先人構築「絕境長城」將北方妖魔與南方的維斯特洛大陸隔離,守衛長城的就是「守夜人」。
在網絡世界裡,像異鬼入侵般針對企業的黑客攻擊卻從來沒有停止過。
今天,我們要講的就是另外一群「守夜人」,他們築起守護業務安全的 「絕境長城」——名叫「洋蔥」。
這是一款騰訊自研的安全反入侵系統,覆蓋騰訊公司 100W+伺服器,涵蓋 微信、QQ、騰訊雲、騰訊遊戲等業務,提供7*24小時應急安全支持的系統。
45秒,史上最快入侵來襲
這是一個再正常不過的星期天。
12點25分13秒。
騰訊安全平臺部反入侵團隊的「守夜人」鬼叔,邊吃飯,邊打開視頻網站。
此刻,另一棟大樓的一臺業務伺服器正嗡嗡作響,準備啟動重裝系統。
12點25分58秒。
沒有一絲防備,鬼叔剛吞下第一口盒飯。
洋蔥系統發出預警通知。
伺服器入侵警告!
一切發生的太快,甚至60秒視頻廣告都沒放完。
鬼叔驚覺,這怕是鵝廠有史以來經歷過的最快入侵,從開機到被植入木馬,歷時僅45秒!
但,它遇到了「洋蔥」。
鬼叔緊急聯繫值守的夥伴,通知業務,緊急斷開伺服器網絡,成功將黑客攔截向內滲透之前,及時止損。
隨後迅速開啟排查。很快,定位到問題並堵住了漏洞。
「無利不起早,能夠這麼快的入侵,說明黑客盯了很久了,公司業務量級非常大,很多人天天盯著。」鬼叔說。
「我們配備了7*24小時反入侵小組,俗稱「守夜軍團」,伺服器一上線,系統就跟反入侵系統綁定,這樣能最大程度降低風險。」
然而,這僅僅是無數攻擊浪潮中的一波。
十年磨一劍,打造「辛辣」洋蔥
黑客攻擊只需找到一個突破點。
一個忘打補丁的系統,一個隨手輸入的弱密碼,甚至可能是一次無心的操作,帶來的損失和後果都可能是毀滅性的。
早在2009年,騰訊安全中心就開始關注入侵防禦系統建設,洋蔥系統的搭建也始於此,開始漫漫10年的建設和運營。
敵眾我寡,敵暗我明,防禦要兼顧各方各面。
「企業防禦關鍵在『控』,堅壁清野步步為營,層層設防,讓黑客即使入侵進來,也在我們可控的位置活動。」守夜軍團的lake補充道。
「騰訊設立了多層防線,像Waf作為最外層,就像安檢門應對的是海量的『自動化』攻擊;而擁有完備工具的專業黑客,通過層層防護網,最後會遇到一堵絕境長城。對,洋蔥要做的就是,對抗這種專業攻擊。」
洋蔥系統部署在騰訊每一臺伺服器上,針對每一臺伺服器做到服務穩定。
「公司業務形態多元(遊戲、社交、雲計算、視頻等),環境複雜(物理機、虛擬機、容器、多種OS平臺、海量數據處理、高並發)。洋蔥要能兼容每個系統且保持高穩定性,解決了非常嚴苛的問題。」
為什麼叫洋蔥呢,lake抹了抹眼睛。
「剝開洋蔥的外衣,一定會被嗆到流淚。但凡被洋蔥發現的,都要確保沒有造成損失。」
在這條叫「洋蔥」的絕境長城上, 分工明確。
有鬼叔這樣的守夜人,以防萬一;也有像偵察兵一樣為業務和投後做安全評估和預警的同學;更多的人集中在底層系統的研發上。
「7*24小時,黑客來了,我們衝在最前面。」鬼叔說。
洋蔥系統自動且強大,專職守夜人只需3個即可。順應黑客攻擊的喜好,晚睡早起。夜裡只要有危情,電話直接報警,凌晨2、3點叫醒所有人一起抗擊黑客是常有的事。
一張圖片也可以變成核彈
又是一個凌晨。
2016年5月5日,覆蓋量最大的圖片處理組件之一ImageMagick,爆出一個「核彈級」的0day漏洞,因為是通用的圖片處理系統,國內大型網際網路公司基本無一倖免。
「這意味著,哪怕是一個入門級的小黑客,只需上傳一張包含惡意代碼的圖片,可就能遠程操控存在漏洞的任何一家公司伺服器,並且可以潛伏下來長期盯著,竊取相關資料,篡改頁面等等。」鬼叔談及也免不了心有餘悸。
漏洞剛一爆發,就有黑客跟進,利用各公司修復漏洞的空隙想來滲透和入侵。
「漏洞剛發布,就被我們的情報捕獲,第一時間知會了各個業務線。同時,外部攻擊量暴增,很多被最外層的防護(Waf)擋住了,躲過多層防線的傢伙侵入,遇到最後防線洋蔥,馬上被發現,及時擋住。等於他還沒來得及做實質性破壞,就已經暴露了。」
整個入侵不是攔住、斷網就完結,是需要清理乾淨的。
止損、定位、排查、清理、恢復。所有工作迅速推進。
騰訊各大業務線安全團隊,通宵了2個晚上,第一時間修復了4萬臺伺服器的漏洞,在1003臺伺服器上成功抵禦了數萬次的攻擊。
黑客利用0day發起猛烈攻擊
洋蔥既要保證穩定,又要做到給黑客反入侵提供足夠的數據源,這是一件非常困難的事情。「國內少有公司像我們一樣擁著一套這樣大規模量級可實際運營的反入侵系統,10年之功,不斷加固。」
內外兼修,不斷升級
除了外部攻擊,守夜人團隊還要面臨來自內部的「挑戰」。
他們經常要找藍軍來,試試絕境長城的「皮實」程度。
書接上回的紅藍對抗。
鬼叔磨刀霍霍的小眼神在閃爍:「藍軍的口號是生死看淡,不服就戰,我們回擊就是,紅軍不服,求王者峽谷一戰!」
藍軍找一個點,不斷的攻破,作為紅軍需要守住每一個面,不能遺漏。真的模擬作戰的時候,那就要幹的,彼此不服,相愛相殺。
紅藍對抗演練每個月有1-2次,一搞就是1個月。雙方一個拼命找漏洞,一個死命防守。
「有時候他知道我們發現了他們,他會猜我們是怎麼發現的。」鬼叔笑道,「演練的時候,那就是敵人,要砍死的那種,互相不服氣,不想被攻破,既希望又不希望他們發現問題。」
正是這樣的不斷強化測試,讓洋蔥系統經受住一次次考驗,不斷修繕強化。
至今,洋蔥系統不斷升級,伺服器由原來的物理機(實體機)向虛擬機轉變,守護的對象以指數級的速度上升。同步的,以前需要24小時才能分析完的數據,現在只需要1分鐘。
網絡世界看似平靜的表世界之下,隱藏著一個暗潮洶湧、黑客肆虐的裡世界。鬼叔感嘆,「安全是公司的生命線,我們堅守著最後一道安全防線,我們的絕境長城不允許被攻破。」
不娶妻?不生子?
那是不可能的。
鬼叔說:「我們還是要為安全培育下一代的。」
但…安全人眼中的對象,和普通人眼中的對象不一樣。
「做過守夜人的,責任心都會變得超強!」鬼叔開始推銷他的單身兄弟了。
但確實,他們有一個傳統,新來的人必須參與守夜人的角色,去熬,去歷練。
今夜如此,夜夜皆然。
這是守夜人的誓詞,也是騰訊安全的誓詞。