龍芯微四樓。
老吳站在屏幕前,雙手抱在胸前。
公網蜜罐伺服器上,攻擊流量的峰值曲線還在往上躥。1.2T,1.3T,1.35T。
對方加碼了。
小趙從座位上轉過來:「老吳,攻擊源在增加節點。新的流量特徵不太一樣,有幾個AS號段的包體積比普通肉雞大得多。」
老吳走過去看了一眼。
包體大小超出標準UDP放大攻擊的五倍。這不是普通家用電腦能打出來的。
「超算節點。」老吳說。
小趙點頭:「至少三到四台高性能伺服器被當成攻擊節點在用。對方把壓箱底的東西拿出來了。」
公網蜜罐那台機器的CPU占用率已經百分之百了。空殼歸空殼,物理機還是扛著流量在消耗。
但那跟《神途》沒關係。
專線面板上,三條光纖鏈路穩如磐石。延遲2毫秒。負載百分之十三。上浮了一個點,不值一提。
老吳轉頭看了眼另一塊屏幕。全國飛宇網吧的終端反饋數據。
八百三十七家店,當前在線總人數:十四萬七千。
零投訴。零卡頓。零掉線。
玩家什麼都沒感覺到。
「小趙。」老吳喊了一聲。
「在。」
「啟動'盾'的反制模塊。」
小趙手停了一下。「反制?」
「對方還在加碼。蜜罐再扛下去,公網運營商那邊會受波及。把流量從源頭掐掉。」
小趙打開了另一個終端窗口。輸入了一串指令。
屏幕上跳出一個界面。項目代號:盾。子模塊:反射。
這套程序是今年三月立項做的。原理不複雜。
龍芯微自研的FPGA硬體過濾晶片在攔截攻擊數據包的同時,會記錄每一個攻擊源的IP和埠特徵。反制模塊做的事情是:向這些攻擊源回發一個精心構造的偽造確認包。
包裡帶著特殊的TCP序列號和窗口參數。
攻擊端的殭屍程序收到這個確認包之後,會把它當成目標伺服器的正常回復。然後按照DoS程序的邏輯,再次發起下一輪攻擊請求。
但目標地址被篡改了。改成了攻擊者自己的控制伺服器。
兩百多萬台肉雞,開始互相打。
死循環。
小趙敲下回車鍵。
「反製程序啟動。」
三秒鐘。
屏幕上,攻擊流量的曲線開始抖。
從1.35T掉到1.1T。
五秒鐘。0.8T。
十秒鐘。0.4T。
三十秒之後。流量歸零。
老吳盯著曲線看了十秒,確認不是波動,是斷了。徹底斷了。
「全球節點的在線數呢?」
小趙切到另一個監測面板。殭屍網絡的活躍節點數量在斷崖式下跌。
兩百三十萬。一百九十萬。一百二十萬。六十萬。
大片大片的肉雞在死機。
作業系統藍屏的藍屏,死鎖的死鎖,反制包觸發的內部循環把這些機器的內存和CPU全部吃光了。
全球一百七十二個國家,幾十萬台家用電腦、網吧機器、企業伺服器,在這一刻同時黑屏。
用戶不知道為什麼。只知道電腦突然死機了,重啟就好。
他們永遠不會知道,自己的電腦剛才參與了一場針對中國一台遊戲伺服器的攻擊。
烏克蘭。基輔郊外。地下室。
光頭男人盯著屏幕。
他看見了。
節點在線率從百分之九十八跌到了百分之四。
整個殭屍網絡,廢了。
不是被打掉的。是自己打自己打廢的。
他用俄語罵了一句,站起來踹翻了椅子。
對方往回送了確認包。偽造的。帶反射參數的。
他幹了十二年黑活,頭一回碰見這種東西。
不是軟體層面的防禦。是硬體級的。數據包在物理層就被解析、標記、反射了。軟體防火牆做不到這個速度。
這是什麼東西?
他不想知道了。
坐回去,打開暗網論壇。登錄Shadow的帳號。發了一條帖子。
英文。
「Mission aborted. Target possesses hardware-level active defense capability beyond current countermeasures. Deposit refunded in full. No further contact.」
任務終止。定金退還。別再聯繫。
發完,關機。
啤酒罐掃到地上,嗦啦滾到牆根。
國貿大酒店。三樓宴會廳。
陳天宇還站在LED屏旁邊。
香檳瓶握在手裡,沒開。
他盯著屏幕右半邊。
綠燈。穩當的綠燈。從亮起來到現在,一直沒變過。
《神途》在線人數也顯示在上面。
十四萬七千。
比半小時前多了三千。
還在漲。
陳天宇的右手攥著瓶頸,指關節發白。
運維主管從角落走過來,湊到他耳朵邊上,聲音壓到最低。
「陳總,攻擊方那邊失聯了。發消息沒回。我用備用渠道查了一下,暗網論壇上Shadow剛發了帖子,說任務終止了。」
陳天宇沒轉頭。
「為什麼?」
「帖子上寫的,目標有硬體級主動防禦,他們搞不定。」
陳天宇沒說話。
運維主管等了五秒,退回角落去了。
宴會廳里的人開始交頭接耳。有人注意到《神途》的在線數字還在漲。十四萬八,十四萬九。
老沈端著酒杯走過來。
「老陳,對面那個數字是怎麼回事?」
陳天宇把香檳瓶放在桌上。轉過身來,臉上擠出笑。
「沈總,沒事。《神途》那邊他們有他們的用戶。咱們看自己的數據就行。」
他抬手指了指屏幕左邊。
《魔途》在線人數:九萬九千八百五十。
「馬上破十萬了。」
老沈看了他一眼,沒接話,端著酒杯回去了。
陳天宇回到座位上坐下。
端起茶杯,茶已經涼了。
他看著屏幕左邊的數字。
九萬九千八百七十。
九萬九千八百九十。
九萬九千九百。
漲得慢了。
過去十分鐘漲了五十。之前十分鐘能漲三百。
他掏出手機,給推廣那邊發消息:所有渠道再推一把。還差一百。
回覆:收到。全量投放已開啟。
九萬九千九百一十。
九萬九千九百二十。
九萬九千九百三十。
卡住了。
兩分鐘沒動。
陳天宇盯著那個數字。
宴會廳里有人在聊天,有人在喝酒,有人在看手機。沒人再盯著屏幕喊了。
剛才那股勁過去了。
九萬九千九百四十。
動了。又停了。
三分鐘。
九萬九千九百五十。
陳天宇把茶杯放下,站起來,走到屏幕跟前。
九萬九千九百六十。
九萬九千九百七十。
九萬九千九百八十。
差二十。
他站在那裡沒動。
九萬九千九百九十。
差十個人。
底下有人抬頭看了一眼,又低下去了。
九萬九千九百九十五。
差五個。
陳天宇的呼吸停了一拍。
九萬九千九百九十九。
差一個。
屏幕上的數字,定在了那裡。
一秒。兩秒。三秒。五秒。十秒。
沒動。