解密:天貓雙十一1682億背後的“霸下-七層流量清洗”系統

阿里云云棲社群發表於2017-11-20

上古神話中,龍生九子,其六為贔屓(bi xi),又名霸下,力大無窮,喜負重。在阿里安全也有這麼一套技術框架以此命名。
001
上古神獸——霸下

名如其意,霸下的責任是支撐阿里安全產品的底層技術框架,它面向的使用者是安全產品,給安全產品提供所需要的一切技術元素,諸如接入、資料傳輸、配置下發、策略執行、線上近線計算、儲存、檢索。通過拼接組合這些安全產品必備的元素,就能非常快速地構建出一個全新業務場景的產品,而不用再從零開始設計、探路、踩坑。讓安全產品,在與外部的黑客、黑灰產鬥爭中做到迅捷快變。

這套強大的技術框架為今年的雙11保駕護航,並立下赫赫戰功。今天,我們就一起探祕基於其研發的全新的“七層流量清洗”業務。

差一點被黑產“打穿”

“2016年之前,我們並未針對交易鏈路去做專項的防控,現在去看相當於是‘裸奔’的狀態!”霸下-七層流量清洗業務產品負責人硯墨這句話令人印象深刻。

2016年3、4月份的時候,黑灰產肆虐,連續造成故障。原來,聚划算每天早上10點推出的秒殺被黑產盯上了。阿里安全的工程師進行排查的時候發現,在出故障的時候,所有的交易流量90%以上都不是實人,而是黑產發起的機器流量。而正是這些垃圾流量佔用了絕大多數通道,讓正常的使用者幾乎下不了單,導致交易系統幾近癱瘓。

“當時的安全在交易鏈路上的防控是非常非常弱的。”硯墨連續用了兩個“非常”。

自此之後,阿里安全成了專項團隊,針對交易鏈路進行防控。從2016年4月份一直持續到2016年11月份。特別是在2016年雙11之前,阿里安全的技術團隊“996”了一個多月,去進行相關的佈防,終於,2016年的雙11平穩度過。

然而,在接下來的2016年雙12中,誰也沒有料到,一個月前還固若金湯的防線,居然差一點點就被黑產“打穿”!

“2016年的雙12沿用的是之前雙11的策略,我們佈置了兩道防線。第一道防線佈防於集團的閘道器,第二道防線設定在使用者最終提交訂單的環節。但是在零點的時候,黑產竟然突破了第一道防線!說實話,當時我冷汗都給嚇出來了。”硯墨描述起當時的情形。

不過所幸的是,黑產流量在突破第一道防線之後,再無進展,因為阿里安全工程師佈防的第二道防線成功守住了。

從雙11到雙12,僅僅一個月的時間,黑產的技術能力就有了大幅度的提升。硯墨回憶說,在2016年雙12,黑產大概用了三種手段,去繞開第一道防線。然後全部的黑產流量就已呈“兵臨城下”之勢,打到了第二道防線上,也就是應用的前面。如果再過去,就直接到交易了!
binglinchengxia
敵人已到城門口

“當時我們統計了一下前15分鐘的黑產流量,大概有近兩千萬的PV是由機器發起的,佔據了整個流量的30%多。如果這部分流量將我們的兩道防線全部打穿的話,後果不堪設想。雙12當天一定是一個P1故障!系統也應該基本癱掉了。”硯墨說。

全新系統終於誕生

“我們發現最核心的問題是攔截效果不好,應對外部黑灰產的變化的時候,我們的響應速度也比較慢。黑產每天都在研究我們,對我們的系統非常瞭解,也知道哪些地方比較薄弱。” 硯墨說。鑑於2016年黑產的猖獗造成的“不堪”,阿里安全的工程師們決定打造全新的系統來對抗,但是面臨的挑戰也是前所未有的。

從整個底層架構來看,相當於把技術上的所有網路產品重新做了一遍。從應用角度、從程式碼角度,都得全部重新寫。新系統的架構,無論是從設計邏輯上,還是理念層面的,與以前的都完全不同。

“與上下游團隊、交易團隊的會議當時開了很長很長時間,大概持續了一兩個月,都在討論這個問題。反反覆覆,反反覆覆。第一次反正是談都沒得談,直接說這架構不行,讓我們回去重新搞。後來,我們的做法就是,去做各種各樣的壓測、驗證,比如穩定性的驗證,包括CPU、記憶體的可控邏輯。接著,我們和以前的架構去一一做對比,比如程式開銷有什麼樣的優勢等。全部列下來,然後再去找相關的團隊談。然而,還是沒有被接受。一方面是覺得這個技術是全新的,另外一方面,是覺得運營和運維的壓力很大,因為他們原先不需要去關心單獨的安全問題,現在要多考慮這樣的一個因素。”硯墨說。

當然,經過漫長的討論,以及各個團隊的負責人、集團的架構師團隊、阿里安全的架構師的反覆驗證,從資料上證明,這個專案的風險是可控的。最終,各方也就同意了。

事實證明,這套新系統的不論是效能、功能還是穩定性角度,都甩了老系統幾條街。

經受大戰考驗

“這個專案啟動於去年雙11,第一次得到驗證是今年的618大促。”硯墨說。

2017年2、3月間,阿里安全技術團隊就把“霸下-七層流量清洗”系統的整個架構設計了出來。事實上,這套全新的系統從立項到釋出總共也就半年的時間。在今年的5月18日,“霸下-七層流量清洗”系統就已經準備就緒。

618大促的時候,整套系統替換掉了去年的第二道防線, 8月9日,成功在全集團的統一閘道器層進行了部署。到9月9日酒水節的時候,系統已經是全部就緒,相對於去年雙11來說,鳥槍換炮。

酒水節至2017年雙11期間,阿里安全技術團隊還對系統進行了版本的更新,修復了一些Bug,並做了效能優化。同時,提前進行安全策略的準備,比如一些模型、攔截名單之類的。

在10月11日的時候,包括物理架構和安全策略都全部定型,然後就進入全鏈路壓測階段。

“在10月國慶節後的第一週第一次壓測的時候,我們還發現了很多問題,然後在一週之內把這些問題全部解決了。第二次全鏈路壓測也順利地過了,從效能和策略角度都全部過了。但其實也做了很多效能方面的優化和改動,小夥伴們非常給力,都加班加點熬夜完成。在最後一次全鏈路壓測的時候,就沒有什麼問題了,看看資料就好了。”硯墨輕描淡寫地講出雙11的備戰情況。

天貓2017雙11的總交易額為1682億元,其中,交易峰值達到了32.5萬筆/秒,比去年的資料有著很大幅度的提升。令人稱奇的是,今年的雙11基本沒有出現大量使用者反饋“無法下單”的情況。毫無疑問,這裡面也有“霸下-七層流量清洗”系統的一份功勞。

據硯墨介紹,2017年雙11,阿里安全技術團隊所研發的全新流量清洗系統設定了4層防護,從開始渲染訂單的時候就進行防控。而根據實際監測的情況來看,90%以上的黑產流量或惡意流量被第一、第二道防線過濾掉了,而最終交易系統的流量純淨度高達99.85%。

“你來我往”的攻與防

2016年年初,黑產最為猖獗的時期。

硯墨說,“黑灰產的利潤遠遠超出所有人的認知,而且只要是有優惠或者秒殺的商品,他們都會去搶。例如一個洗髮水原價19塊錢,他們用1塊錢秒到,一轉手保底就有10塊錢入賬。10塊錢雖然看起來很小,但是考慮到全網所有的優惠,可能一天就能讓他們“薅”走成千上萬塊。而這些本來是我們提供給消費者的實惠!”。

當時,黑產通過一些防控最弱的通道,但是很快,阿里安全的工程師就將其堵死。黑產發現這條路被堵之後,然後又繞道從一些“人跡罕至”的路口,找一些非標準的路徑,也被阿里安全的工程師識破並拒之門外。

黑產又生一計,開始花大價錢去破解手淘。儘管手淘的所有交易都是加密的,但是金錢的誘惑是巨大的,黑產費力找來一些老版本的手淘,然後去進行破解,獲取裡面的通訊協議等等,然後通過這些協議、指令碼去模擬、下單。然而又一次地,阿里安全的工程師們重點加強了老版本手淘的防控,也沒有給黑產可乘之機。

硯墨說,與黑產的你來我往,就是經典的安全攻防教程。

據介紹,全新的流量清洗系統也充分考慮了使用者的體驗。“霸下-七層流量清洗”系統對交易承諾的時間是5毫秒以內,而整個鏈路包含了網路請求通過閘道器,經過流量清洗系統的檢驗,再送到交易。

“只有這樣,才能讓使用者無感知。”硯墨說。

實際上,今年雙11前,市面上出現了大量的秒殺軟體,而阿里安全的情報團隊和工程師們迅速從流量中發現了異常,並進行有針對性的佈防,使得這些黑產無功而返。

“霸下-七層流量清洗”系統還有一項非常牛的資料,那就是對流量的判定時間大幅縮短。在一年之前,一個流量被判定為機器流量,到流量被攔截,最長耗時達到15秒!而今年,這一時間暴減至幾毫秒!也就是說,即使黑產軟體能夠在一秒內發起大量的請求,那阿里的安全防護系統也可以在幾毫秒內直接攔掉。

“今年雙11的GMV能再創新高,達到驚人的1682億元,技術進步真的發揮了很大的作用。”硯墨感慨到。據悉,各條業務線也反饋,今年雙11從流量清洗系統過去的流量純淨度非常高,充分保障了業務的正常運營!
11111

把通道給真實的使用者,把優惠送給“剁手黨”,把黑產流量清洗掉,這就是“霸下-七層流量清洗”系統的使命。

硯墨表示,他和小夥伴們已經在著手準備雙12了。


相關文章