因為喜歡“對抗”,這位安全首席架構師一年為網易雲節省上千萬
儘管鼻樑被碰坍陷,牙齒被撞裂,“傷痕累累”的沈明星依然喜歡對抗運動,他從骨子裡覺得:“男人就應該拼一點,偶爾爭強好鬥下。”
沈明星是網易雲安全首席架構師,他主要從事安全防禦體系建設、安全應急響應、雲安全、安全服務產品化等工作,目前正致力於實踐傳統企業在向雲進行遷移時,利用雲安全服務解決企業的安全需求。
作為網易雲安全首席架構師,他的大部分精力在管理上,偶爾看到下屬碰到難解的問題,經過多輪努力仍無解時,他往往因為好勝心,抵不住誘惑一頭扎入其中,再次回到“籃球場”上。也正是如此,他帶領著團隊自研出網易獨有的NDS抗D架構,穩定性上達到99.99%;同時,自研的“自適應DDoS攻擊深度檢測和防禦系統”也入選了工信部公示的網路安全示範專案。
照片背後的故事:手裡拿著有相機,想拍點東西,正好看到沈明星在前面指導同事,於是捏了這張照片
他說,安全是需要不斷造輪子的。言論乍聽之下駭世驚俗。不要重複造輪子——Stop Trying to Reinvent the Wheel,這是程式設計師被告知最多的行為準則,然而當聽他靜靜講完,則覺得安全行業應當如此。
和他的訪談中,沈明星講了很多挑戰,技術上有人質疑他:“這玩意不實用。”安全雲化對外服務後,他遭遇瓶頸,有點玩不轉了……然而越是挑戰,越是讓他在這種技術和人生的對抗中找到了樂趣。
現在,我們一起認識下這位技術專家——沈明星。
王偉撞擊事件、911和閉塞環境
浙江杭州,美麗的錢塘江畔、六和塔邊的月輪山巒下是浙江大學之江校區。2001年9月9日,沈明星拖著厚重的行李箱來到這裡報導。
對入學日期之所以記得特別清楚,“是因為過兩天就是911。”
那時的之江校區比較閉塞,樓板都是木頭鋪的,甚至可以從上面看到下面。交通不便的環境,讓沈明星更加得以沉心學習計算機基礎知識。為什麼學計算機,沈明星說自己內心深處從高中開始就有一股好奇心和求知慾驅動:“紅警、CS這些遊戲,計算機是如何去構建和表達的?”
大學他的專業是電腦科學與技術,更多的是計算機基礎知識和研發層面的東西,與安全無關,似乎是冪冪之中註定,一些因緣讓他和安全牽在了一起。
第一個是他的室友。沈明星的室友出身大城市,接觸計算機比較早。“當時就有板磚一樣厚的康柏電腦,它的記憶體是32M。”對於細節沈明星記得特別清楚。重點當然不是他這個室友的電腦,而是這位兄弟可以破解軟體,能夠免費使用,這引起了沈明星的興趣。
第二個是大環境,沈明星高中、大學那個階段,國際政治事件頻發,比如北約轟炸中國駐南聯盟大使館、王偉撞機事件(4·1中美南海撞機事件),夾雜在大事件一起的還有中美駭客大戰。儘管那個時候的沈明星只能算作一個愛國青年,在網路上灑了點“熱血”——在網咖裡跟著大家“打醬油”,但愛國情懷下的對抗帶來的影響卻是深遠的。
接下來就是“知行合一”,沈明星做了不少算是“出格”但也很刺激的事:黑進教務系統,逛逛伺服器,看看資料;中國移動動感積分的兌換話費有漏洞,透過抓包修改,可以讓扣500積分,變成增加積分;公交卡、門禁卡資訊都是寫到卡上的,透過破解讀卡器的加密演算法,修改金額……
儘管有很多可以佔便宜的機會,但三觀很正的沈明星只是淺嘗輒止。他在採訪中強調:“做安全的人,可以去嘗試,測試自己的能力,但不能利用自己的安全知識去謀利。”
被安全“盯”上
真正讓沈明星走上安全道路,是在他工作的第三年。
他碩士期間就開始在美國道富銀行浙江研發中心實習,一開始他做的是研發工作,後臺、Web系統、報表、資料庫等。隨著業務越來越大,安全也成了這個研發中心不得不投入大量資源的領域。
沈明星就這樣被盯上。
“牽頭組建部門時,首先就想到了我。”因為和那幫人都很熟悉,再加上安全方面有積累、興趣強烈,沈明星立馬就被安全團隊拉入夥。
談及溝透過程,沈明星形容是“一拍即合”。他說自己非常看好安全行業的發展:“資訊那個時候已經從線下跑到了線上,安全的工作非常重要。更何況是跟錢相關的業務,因此道富銀行對安全非常重視。”
來到安全領域,似鳥投林。沈明星做了很多有價值的事情,比如說,開發出一套漏洞掃描系統。大的金融公司解決安全問題,一般都是購買乙方的產品和服務。但問題點是,商業化的東西,不一定貼合自己業務,而更為關鍵的是商業化的東西可控性比較差。碰到問題,做改動、提需求、溝通、發新版本、驗證……往往一兩個月就過去了,這種時間跨度,對敏捷開發、響應是一種災難。
“我們需要有更多的把控性。”面對現實,沈明星暗暗下定決心。
於是,他們把一些外包出去的安全工作,拿回來自己做。基於一些開源的元件,他們研發出了屬於自己的漏洞掃描系統,與此同時,也把漏洞的生命週期管理給做了起來。以前購買的安全服務,只能掃漏洞,但漏洞下一步誰處理、多長時間修復、怎麼複查漏洞…這些都很混沌。但現在從漏洞發生、修復、給方案、複查、關閉,整個漏洞生命週期的管理都給做起來了。
“這大大降低了公司的風險。”沈明星說。
來到豬廠
2011年,沈明星加入網易。網易安全部當時內容安全做的特別好,網路安全攻防這塊需要補足下,這對沈明星而言這是一個非常好的機會。
在網易七年多的時間,沈明星做了很多事情。主導了漏洞掃描器、入侵檢測系統、應用層 DDoS 智慧防禦系統、流量清洗系統、安全運維平臺、網易安全應急響應中心等平臺的建設和維護,以及推動了一系列安全制度和策略的落地實施。
中間有遇到很多問題,比如說運維流程上的問題。網路安全跟運維耦合性非常高,但網易有很多運維團隊:遊戲、有道、郵箱等,不同團隊技術標準、底層架構、監控技術和框架都不一樣,溝通成本非常高,而且交付質量參差不齊。沈明星就帶領團隊做了安全運維的流程化、標準化和自動化。這樣人的工作經驗都沉澱到系統上來了,而不是依賴工程師個人的水平和責任心,從而導致交付東西的質量參差不齊。
流程化、標準化和自動化的另外一個好處則是,便於衡量和考核KPI,比如100個漏洞裡,是不是可以要求機器發現的漏洞得佔到70%,邏輯的漏洞是不是可以有個20%等。
過程看起來順理順章,但真正入手做,又是另外一碼事。
舉一個小例子:發現一個問題,很難快速定位這個負責人是誰。找人的這個動作中間出現的時間視窗,往往風險很大,隨時會有人進來肆意妄為。其次是,大部分開發都沒有安全背景且忙著推進自己的業務進度,漏洞很難引起他們的特別重視。
如何解決?對於時間視窗,沈明星是在技術方案能達到的地方會去打上一個虛擬補丁,“這個虛擬補丁並沒有真正修復漏洞,但可以擋一擋,為後面的修復爭取時間。”漏洞重視的問題,他是深挖——把漏洞的後果直接展示給業務方,業務方往往一般都是以驚訝收尾。“這有一個好處是,提升安全部門在公司的影響力,也推進安全流程的落實。”
創新——DDoS “Docker化”
後來,沈明星又負責DDoS的研發工作,也正是這個階段有人直接挑戰他,認為他做的還不夠。
今日的DDos與往日早已不同,隨著聯網的裝置越來越多,頻寬的增加非常快,以前幾十M、一兩G就已經很大了,現在最大的攻擊已經達到數T級別了。其次,以前DDoS更多的是單機,發起的攻擊資源非常少,現在越來越多的攻擊是模擬真實使用者請求,打CC,這對防禦和演算法的要求比較高。再者,隨著數字化的進一步發展,網際網路的變化和挑戰越來越大,技術要求之外,頻寬資源的要求越來越慾壑難填。
而傳統的抗D裝置實際上算是一個單程式的網路裝置,只有一個服務源服務所有使用者,如果這個服務源“請假了”——比如某一個使用者量特別大,導致服務不過來,程式掛掉,所有使用者都會受影響。
喜歡打籃球的沈明星,最享受的就是對抗的過程,因為這種直面問題、解決問題的方式讓他很興奮,他喜歡這種鬥爭。如何透過創新,把DDoS做到極致,是沈明星想拼下的一個點。沈明星思考,是不是可以做一個隔離方案,對每一個使用者分配一個服務源:給每一個使用者起一個程式,單個程式分配一個資源額度。
“這樣,A使用者掛掉,就不會影響到B使用者,做到資源的隔離。”沈明星說,這等於把DDoS服務Docker化。
按照這個思路,他把產品中做出來了,但緊接著又遇到另外一個問題。有人挑戰他:“這玩意不實用。”也的確是如此,程式啟動多了,就很容易崩潰,一開始只能達到50多個。
如何破?沈明星又和資源的分配策略鬥爭起來,他重新寫了相關底層的程式碼,把CPU、記憶體、網路卡等做了一個新的資源池管理,並對每一個設定一個最高值。“如果需求更多資源,則從空閒的資源池裡拿。”憑藉這個,程式數一下子翻了100倍,穩定達到5000多個程式,並透過極端情況下的流量嚴格的壓測。而這為網易雲帶來的效益也是明顯的,一臺機器可以服務很多個客戶,並且相互之間不會有任何影響,一年為網易在裝置上節省投入上千萬元。
架構上做了創新之外,沈明星也在思考能否幫助企業做使用者體驗上的改善。很多企業儘管用了抗D服務,並且在受到攻擊時抗D服務也能夠扛住,但還是有部分使用者會受到影響,無法享受正常的服務,沈明星好勝的心裡就又多了這麼一個目標,一有時間就琢磨。
有一天,他突然想到,我們是不是可以做一個外掛,和使用者的業務做一個輕量級耦合。“使用者請求登入,強驗證因子證透過後,就可以認定你不是一個攻擊的人。”他接著思考,可以做一個外掛,對這個過程提取特徵碼,並加白,後續就不需要驗證了,這樣就能保證遭到特大規模攻擊時,線上的使用者不會失去服務。
想通之後,沈明星都有點自戀,他佩服自己的這個想法。隨後團隊趕緊去研發和測試,效果符合預期。後來就有不少客戶受益這個技術,其中有位客戶還送來非常名貴的茶葉,“原因就是這些定製的外掛,保證了他在極端DDoS攻擊的情況下,真正的客戶端發來的資料幾乎是零誤殺 ,提升了特殊情況下的使用者體驗。”
向前一步
2016年8月份,網易雲官網正式上線,對外提供場景化雲端計算服務,易盾的DDoS作為場景化服務的重要一環,也如期上線。
對外提供雲安全服務後,沈明星有點“玩不轉”了。玩不轉倒不是因為有什麼技術難題,而是他習慣和技術難題掰扯,但是現在解決技術難題還不行,他還得和銷售、市場去打交道;與此同時,他也得維繫好形形色色的客戶。
“並不是說沒有技術挑戰,而是說對外服務要做好的並不僅僅是技術。”沈明星解釋,比如說易盾專家對客戶的響應時間是:工作日十五分鐘之內響應,非工作時間三十分鐘之內響應。“這樣的標準,還是有客戶嫌慢,他們希望找到你,一分鐘內就能響應。”他說,這對技術專家挑戰和干擾蠻大的,因為他們更多的是希望能有靜心搞研究的時間。
後來他想了下,還是自己過於侷限於技術人思維裡了。於是他開始轉換思維,從使用者視角出發,因此他有同理心了,能夠理解客戶:“出現問題了放任何人身上都會急得不得了,的確得應該第一時間解決。”
安全服務雲化後僅幾十天,他就開始調整構建起“三化體系”,希望能提高使用者體驗,解決使用者痛點,三化分別是:
1.FAQ化:將常見問題、典型難題整理到官網上;
2.多責任化:之前是技術專家7x24小時直接面對客戶,後來培訓一批售後技術人員,讓他們先去解決。如果解決不了,說明問題還是有難度的,售後正好把整理後的需求傳遞給易盾專家,技術專家再及時銜接上。
3.溝通常態化:不少客戶對安全認識不足,對基本技術理念理解不到位,他只描述下需求,其他都指望你來搞定,但殊不知安全是雙方共同推進的。沈明星就化身佈道師,對客戶做安全知識的宣貫,包括線下活動、上門分享、官網、使用者手冊等。
這樣一來,充分利用資源的同時,使用者體驗也提高了,對技術的壓力也小了很多,技術專家也可以更加專注於創新和一些疑難雜症了。
但沈明星後來發現,做到這些仍然還不夠,他發現個別客戶不按常理出牌。
有一個客戶為了省安全的服務費,使用共享套餐時就有了“創新”。比如說,把高防IP掛在CDN後面,在CDN後面後就會導致高防接收的IP就是CDN回源的IP了,“這就有一個問題,我們對於IP級別的很多策略就會受到影響或失效。”他接著指出背後的問題:“CDN回源的IP比較集中,這會導致基於頻率的統計會失效,有很多IP就不能盲目地封。”
他暗忖,這樣的做法雖然不符常理,但也不能說客戶做的就是錯的。因此他選擇從技術角度出發,開發了特定的安全外掛,根據DPI(包的深度分析)做特定的適配,解決IP級策略失效的問題。
安全雲化的“樂趣”
在適應了前期的一些商業化轉型後,沈明星漸漸發現安全雲化後的樂趣。
用他的話來說就是,重新整理了對生態的認知。他說,雖然網易做的業務比較主流,但安全雲化對外提供服務後,讓他看到了一些特有的需求,對網際網路生態和產業鏈的瞭解進一步加深,這是之前只做內部支撐時所看不到的。
其次,他也非常享受被認可的感覺。有一家初創企業,創始人是老司機,業務剛剛起步時就提前預料到會有各種風險,他找到沈明星團隊提前做了接入和適配。因為介入的比較早,沈明星除了提供安全服務之外,也在技術和架構上提供了技術諮詢,當做易盾自己的業務去對待。
隨著業務的增長,初創企業受到的攻擊越來越大,最近的一次DDoS達到近500G。這次攻擊是持續性對抗,大部分自動系統可以識別出來,但易盾技術專家也適時介入,因此他的業務沒有受到任何影響。“有的時候凌晨一兩點,也會盯著不斷髮出藍光的螢幕,根據攻擊的特徵加入了新的規則和策略,保證攻擊平穩過渡。”
事前、事中、事後,易盾的抗D服務都及時推送通知,把攻擊方式展示、報表發給他們,有什麼疑惑,沈明星也第一時間響應和回覆。這樣的效果和服務,讓他們的創始人非常認可易盾,也送了特別的禮物來感謝。
沈明星原本的志願是學醫,但隨著自己在高中接觸電腦,以及後來在計算機世界裡越來越Enjoy那種熱血的感覺,於是他高考志願填報了計算機專業,踏上了一條興奮不已的“對抗”路。在網易把安全能力雲化對外服務後,這種興奮感又開始不斷湧來。
他喜歡遇到挑戰,喜歡不斷的對抗。
有一次,沈明星遭遇一次很特殊的CC攻擊。一般的CC攻擊,在下一條攻擊上會有明顯的特徵,但他們團隊所負責的一個客戶,攻擊端不僅量很大,而且很多殭屍網路發過來的包很先進、很離散,找不到一個很好的特徵去做攔截。常規的302跳轉,JS挑戰都無效,它都能正常響應,並繞過去。
試了很多辦法無效後,他引入人工智慧來解決。透過一個演算法,對連線數、新建連線數、一些奇怪的重傳率等很多維度去打分,最終對整個行為建立一個模型。如果分數大於500分,那麼這個身份驗證的人就是壞蛋,那麼低於500分,那麼進行身份驗證的人就是一個好人。
邏輯是這樣,但實際對抗中,需要不斷的去調整分數的預值,直到能扛得住,也沒有大量的使用者反饋被誤殺。有人說,網易是豬廠,他們的食堂能讓人一年長胖二十斤,而在這個過程中,整天埋頭思索的沈明星,卻瘦了數斤。
被老虎追,不一定要跑成第一,但千萬不要成最後一個
有不少程式設計師被告誡,不要重複造輪子。
原因主要是以下兩點:
1.複雜點的輪子特別費勁,而且道阻且長,很有可能半途而廢;
2.最終造出來的輪子,維護成本更高,且漏洞百出。
但在沈明星看來,安全必須要造輪子,因為這能在攻防對抗上增加把控度。他舉了一個簡單的例子——網易考拉類似於雙11的商品大促銷。他說,黑灰產往往在你開始之前就已經分析好你現有的安全方案,寫好秒殺器等著你。
“如果用的是一個標準化的方案——比如AES、3DES演算法,黑灰產們根本不需要看演算法內容,只需要找金鑰在哪裡,調一下就立馬破解。”那麼造輪子自寫加密演算法,是如何起作用的?沈明星說:“我們會造一堆輪子,在活動之前掛的可能是方案1,但真正上線時就會切換成方案6。過程中,也不會不斷的去變,並且這些都不是標準的東西。”透過造輪子,讓對方分析成本變高。
“安全本身就是一個對抗的過程,任何一個方案都做不到絕對的安全,更多的是雙方的成本比拼,把攻擊門檻提高,當攻擊方發現攻擊的成本和收益不對等時,自然就不會攻擊了。”他強調,這並不是代表他攻不破,而是他們也得考慮本錢。
沈明星舉了一個例子形容黑灰產:“一群人被老虎追,要做的就是不一定非要跑成第一,但千萬不要成為最後一個。”他說,黑灰產說到底都是為了錢,他們的資源和精力也是有限的,他們也會評估成本,攻擊找的一定是找最弱的。“如果你做的比其他人好,壘的牆足夠高,他們自然而然會去找別的。”
沈明星認為,未來DDoS攻擊的流量越來越大的同時,流量也會越來越複雜,這對DDoS的識別挑戰會比較大
談及DDoS的預防,他建議容易遭到攻擊的企業應該增加自身的實力,他說DDoS是資源的對抗,因此要做系統的儲備、系統的最佳化;在設計應用時,可以做有些動靜分離,把一些靜態的資源分拆到CDN,動態的資源微服務化,不要有很重的請求——特別耗資源的話,會成為短板,駭客就會死揪這個短板。
除此之外,也可以考慮外圍的幫助(比如說網易雲易盾高防的產品等),尤其是在有人特意搞破壞的情況下。哪怕平時不用,也可以當做儲備,遇到大流量攻擊時,就可以甩到雲端的清洗上去,做到一個立體的多層次防護。
一次分享中,沈明星為大家展示DDoS攻擊的行業比例
“安全沒有銀彈,玩的是縱深防禦,是一道道防線,不存在搞一個東西就能把所有問題解決。”因此,沈明星建議,防線多做幾道,即使破了一道兩道,也不會被攻透,導致底褲都被看到。
否則損失的就不是這點錢了,而是無形的品牌價值和使用者的信任,特別是網際網路金融產品——使用者會擔心這是不是要跑路的徵兆……
結束語
沈明星是一個看起來文質彬彬的技術人,他特別喜歡身體對抗的活動,喜歡流汗的感覺,年輕時身體因此也傷痕累累,而這筆者卻渾然看不出。
沈明星說,WAF他們是透過分析引數個數、長度、分佈、頻率等維度,用統計學方法篩選出異常
這種“衝突”,也發生在眼前。問經歷,他像是一個靦腆的鄰家男生,一旦涉及到技術問題以及細節時,像是換了一個人——專注度、氣場、解釋力,和之前判若兩人。
談及人工智慧,他說人工智慧可以從一些關係中找到規律出來,“但今天所謂的人工智慧,仍舊需要大量的人工輔助,才能做出智慧的效果出來。”因為今天網際網路流量中,機器人異常的比例非常大,所以他們團隊也投入了大量的人力,把正常流量標記出來,提高人工智慧的精準度。
對於接下來的目標,喜歡看歷史書籍的他沒有透露太多,一開始只講了七個字:“超越過去,比下去。”沈明星說:“我們會順應形勢,站在更大的視角去看待問題;發展上會尋求差異化,揪住一個點,由點及面,做大做強。”
歷史上有很多以弱勝強的例子,也有很多微小事件導致重大歷史的轉折。
末了,他點題到:一是從骨幹網層面去做一個業界的聯合;二是在服務質量、技術指標上達到一個更高的層次。
點選“閱讀原文”,一鍵接入網易雲易盾網路安全。
相關文章
- 阿里雲中介軟體首席架構師李小平:企業為什麼需要雲原生?2021-06-22阿里架構
- 對話首席架構師 | 北京架構師大會活動報名2016-11-24架構
- 網易易盾首席安全架構師沈明星分享DDoS防護如何建設2019-05-22架構
- 網易雲首席安全架構師談安全新形勢:DDOS兩三天,遊戲玩家數從幾萬降到幾百2018-04-14架構遊戲
- 程式設計師為什麼喜歡程式設計這項工作?2017-08-14程式設計師
- 為啥程式設計師喜歡Android?2012-06-21程式設計師Android
- 對話首席架構師 | 北京架構師大會12月活動報名2016-12-14架構
- 雲架構師:職責、技能以及如何成為一名雲架構師2024-05-15架構
- 為什麼我越來越喜歡用DDD — DDD架構篇(1)2024-10-30架構
- 對話京東安全首席架構師:電商平臺構建安全防護體系關鍵點2020-09-23架構
- 網易易盾首席安全架構師沈明星:企業安全應急響應體系建設之道2019-04-23架構
- 因為一句歌詞喜歡一首歌2024-05-27
- 程式設計師為什麼喜歡夜間工作?2014-12-16程式設計師
- 為什麼程式設計師喜歡熬夜工作?2013-01-18程式設計師
- 怪不得這位程式設計師有女朋友,原來是因為這個!2020-12-08程式設計師
- 轉轉首席架構師 孫玄:如何成為一個有情懷的工程師?2019-02-27架構工程師
- 為什麼我喜歡Java2014-03-31Java
- 為「PPT 架構師」正名2016-06-02架構
- 相對於PHP,為什麼大家喜歡Python?2020-10-21PHPPython
- 從厭惡到逐漸喜歡上前端,僅因為一個理由2019-03-25前端
- 這麼多程式語言,為何Python深受喜歡?2020-04-20Python
- 程式設計師為爭大廠職位“頭破血流”,除了薪資還因為這些2019-03-01程式設計師
- 程式設計師為什麼喜歡在晚上編碼2020-02-24程式設計師
- 微博平臺架構和安全——微博平臺首席架構師楊衛華演講2012-01-31架構
- 我為什麼不喜歡框架2011-08-23框架
- 入職一年半,這個AI員工晉升為了國內首位AI架構師2024-08-08AI架構
- 我喜歡程式設計師這份差事!2014-11-10程式設計師
- 為什麼程式設計師喜歡在半夜寫程式碼?2018-08-29程式設計師
- 為什麼優秀的程式設計師喜歡命令列?2017-03-28程式設計師命令列
- 為什麼很多人都不喜歡做程式設計師?2014-11-09程式設計師
- 為什麼程式設計師喜歡在深夜程式設計?2013-01-24程式設計師
- python工程師的就業前景如何?為什麼這麼多人喜歡python?2018-10-29Python工程師就業
- 為什麼很多公司都不喜歡用php,而喜歡用java呢2020-12-01PHPJava
- 想為Mac上的資料夾定義自己喜歡的顏色嗎?看這裡2020-11-26Mac
- 為什麼你總成為不了架構師?2018-04-14架構
- 混合多雲第二課——混合技術如何每年為京東節省上億元成本?2023-03-29
- 我為什麼喜歡程式設計2009-10-18程式設計
- 如何成為一個架構師2007-12-22架構