第1079章 遭遇攻擊
他把話題岔開了。
楊青關掉直播窗口的時候,桌上的座機又響了。他盯著那部電話看了三秒,沒接。
起身去了蘇哲辦公室。
蘇哲在看一份跟深海項目無關的文件——市政供水管網的改造規劃。楊青進來的時候他頭也沒抬。
「說。「
楊青把錦通精工的投訴函和PTC發布會的要點摘要放在桌上。
蘇哲翻了兩頁投訴函,擱下了。PTC的摘要他看都沒看。
「陳默在哪兒?「
「在高新區的辦公室。三天沒回家了。「
「叫他來。「
半個小時後陳默出現在市委大樓三層。頭髮打結,襯衫領口的扣子掉了一顆,左手食指上貼著一片創口貼——敲鍵盤磨破的。
蘇哲看著他。
「你需要什麼?「
沒有鋪墊,沒有寬慰,沒有「你辛苦了「。這是蘇哲的做派——在陳默最需要聽到廢話的時候,他偏不說。
陳默站在辦公桌前面,嘴唇乾裂得起了白皮。他想了五秒。
「五天。敦煌超算中心的全部算力。「
「還有呢?「
「不要讓任何人來找我。「
蘇哲點頭。拿起電話撥了林銳。
「幫陳默訂今晚去敦煌的航班。到了之後讓超算中心的後勤給他備好方便麵、速溶咖啡和一箱礦泉水。「
他掛了電話,對陳默說:「第六天早上我等你的消息。「
陳默轉身出去了。
楊青還站在原地。他猶豫了一下:「書記,PTC降價的事——「
「等。「
「等什麼?「
「等陳默。「
楊青走了之後,蘇哲拿起了那份PTC的摘要,終於看了一遍。三萬六一年。降了七成。這個價格對中小企業來說確實有吸引力——特別是在盤古造物出了故障、用戶信心動搖的當口。
他把摘要翻過來,在背面空白處寫了幾行字,然後塞進了抽屜。
第二天。陳默飛往敦煌。
第三天。楊青匯報:盤古造物的企業退訂率攀升到了百分之十五。
蘇哲把楊青叫過來,讓他以高新區管委會的名義給全市——不,全國所有註冊企業發一份通知。措辭他自己寫的:
「各盤古造物用戶企業:因系統架構升級需要,在線協同功能將於近期完成疊代優化。升級期間,本地設計和離線仿真功能不受影響。新版本將於三日內發布。免費政策不變。「
就這麼幾行字。沒有道歉,沒有解釋技術細節,只有一句「免費政策不變「和一個明確的時間節點。
通知發出去當天下午,退訂率從百分之十五降到了百分之四。
楊青看著後台數據長出了一口氣。他不知道蘇哲憑什麼敢打這個包票——陳默能不能在五天裡解決問題,誰心裡都沒底。
蘇哲心裡有沒有底?
老實說,也沒有。
但他賭的不是陳默的技術能力。他賭的是陳默這個人。那天在辦公室里,陳默站在他面前的時候,眼睛裡沒有慌張。疲憊是有的,焦慮是有的,但底層的東西沒變——那是一種工程師特有的、對自己手藝的篤定。
蘇哲見過太多人在壓力下眼神渙散。陳默沒有。
第四天。
蘇哲在處理深海項目的後續事務。拉爾森的訴訟正在走撤訴程序,威爾遜在跟北極深海公司的律師團隊拉鋸細節條款。三菱重工那邊也在鬧——向東瀛經產省遞交了出口管制評估申請。但這些事都在可控範圍內。
唯一讓他坐不住的,是敦煌那邊沒有消息。
不是壞消息,是壓根沒消息。陳默把手機設了勿擾模式,除了超算中心主任代為轉達的每日一句「還在搞「之外,什麼都沒傳回來。
林銳倒是幫著打聽了一下情況——超算中心的工作人員說陳默白天睡四個小時,其餘時間都在終端前面,方便麵吃了二十六桶,咖啡粉用了一公斤半。
「這人會不會把自己搞出毛病來。「林銳有點擔心。
蘇哲沒回應。他翻開了PTC那份摘要的背面,看了看自己前兩天寫的那幾行字。
第一行寫的是:格林的降價是最後一搏。價格戰他們打不贏——三萬六還有利潤空間說明之前十二萬是暴利。這一刀捅下去,所有用戶都會記住他們曾經收了多少冤枉錢。
第二行寫的是:問題不在PTC降不降價。問題在盤古造物到底是不是一個「湊合能用「的東西。如果是,多便宜都會被替代。如果不是——
第三行只有三個字:等陳默。
第五天。
下午兩點四十分。蘇哲的手機屏幕亮了。
陳默發的消息。沒有文字,只有一張截圖。
截圖上是盤古造物2.0的內部測試儀錶盤。所有指標綠燈。右下角有一行白色小字:分布式架構重構完成,數據衝突率歸零,並發承載量提升至原來的四十倍。
旁邊還有一段語音。蘇哲點開,陳默的聲音沙得像砂紙刮木頭:
「書記,系統改完了。不光修了bug。我加了個新東西。你得親自看一眼。「
當晚七點,陳默從敦煌飛回京海。
他進蘇哲辦公室的時候帶了一個黑色雙肩包,包里裝著一台筆記本電腦和一副VR頭盔。
蘇哲讓林銳關上門。
陳默打開電腦,連接了一個遠程伺服器。然後他把VR頭盔遞給蘇哲。
「戴上。「
蘇哲接過頭盔看了兩秒。他這輩子沒戴過這玩意兒。
「這是元宇宙工廠的交互終端。「陳默解釋,「戴上之後你會進入一個虛擬的工廠車間。裡面有一個齒輪的三維模型。你可以用手勢去捏它——改大小、改齒數、改模數,隨便改。「
蘇哲把頭盔戴上了。
眼前一黑,然後一片明亮的虛擬空間展開。白色的地板,灰藍色的網格線延伸到視野盡頭。正中央懸浮著一個旋轉的齒輪,直徑大約三十厘米,參數標籤跟著轉。
「伸手。「陳默的聲音從頭盔耳機里傳來。
蘇哲伸出右手。虛擬空間裡出現了一隻半透明的手掌。他的手指碰到齒輪的瞬間,齒輪停止了旋轉。參數標籤放大了——模數:2.5,齒數:24,壓力角:20度。
「捏住齒數那個數字,往上撥。「
蘇哲照做了。手指一推,齒數從24變成了36。齒輪的形狀實時變化,齒變小了,變密了。
「現在看右下角。「
蘇哲扭頭——虛擬空間的右下角浮著一個小窗口,窗口裡是一台真實的工具機畫面。紅星工具機廠的五軸加工中心。
兩秒。
工具機的刀架動了。主軸開始旋轉。冷卻液噴出來。
蘇哲摘下頭盔。
陳默站在他面前,等著。
「從我改參數到工具機響應,兩秒?「
「一點七秒。數據從虛擬端傳到盤古系統分布式節點,經過工藝路逕自動規劃、刀路生成、G代碼編譯,最後下發到工具機控制器。全程自動化。「
蘇哲把頭盔放在桌上。
「發布。「
兩天後。全球直播發布會。
地點選在京海高新區的展示中心。陳默不擅長面對鏡頭——他在矽谷的時候做過兩次路演,都是照著稿子念的那種。但這一次不一樣。他是在演示自己親手做出來的東西。
直播開始後的第一分鐘,陳默戴上VR頭盔,在虛擬空間中憑空「捏「出了一個渦輪葉片的三維模型。手指拉伸、旋轉、修剪,動作流暢得像揉麵團。
虛擬仿真同步啟動。氣動載荷、熱應力、疲勞壽命——三組仿真結果在兩分鐘內全部跑完。
然後是重頭戲。
陳默在虛擬空間裡按下了一個按鈕。直播畫面切到了三個分屏:京海紅星工具機廠、蓉城航空零部件廠、呂州精密製造車間——三台接入盤古系統的數控工具機同時收到了加工指令,同時啟動。
三個城市。三台工具機。同一個零件。從設計到加工,全程不到五分鐘。
直播間的觀看人數在第八分鐘突破了五百萬,第十五分鐘一千二百萬,演示結束時峰值卡在了兩千一百萬。
彈幕刷屏速度快得看不清字。
紐約。PTC納斯達克掛牌的股票代碼PTC,在直播開始後的第二十分鐘跌了百分之九點三。交易量是平日的六倍。
格林在申城的辦公室里看著行情終端,手裡的咖啡杯擱在嘴邊沒喝。杯子涼了他都沒注意到。
申城那場降價發布會開了還不到十天。三萬六的年費剛剛印上宣傳冊。現在那些宣傳冊大概可以拿去墊桌腳了。
蘇哲沒看直播。他在辦公室處理另一件事——省委書記沙瑞金後天要聽深海礦產項目的當面匯報,材料還在改。
但林銳一直在旁邊用手機刷數據。
「書記,兩千萬了。「他忍不住報了一句。
蘇哲抬頭看了他一眼。
林銳閉嘴了。
直播結束後一個小時。
林銳敲門進來,手裡拿著一份公安系統轉來的情報簡報。他的臉色不太對。
「書記,敦煌超算中心的網絡安全組剛發來的——過去四十八小時,中心外圍網絡遭受了超過一千七百萬次DDoS攻擊。「
蘇哲放下筆。
「攻擊源分布在三十多個國家,但技術組做了溯源分析。「林銳把簡報放在桌上,手指點了一下最後一段,「主控伺服器的IP位址——指向米國維吉尼亞州蘭利市。「
蘭利。
全世界搞情報的人都知道那個地名意味著什麼。
蘇哲盯著那行IP位址。
「叫陳默回來。告訴他——五天假期取消了。「
敦煌超算中心的中控室在地下二層,恆溫恆濕,空調聲低沉,像一頭打盹的獸。
四十七塊監控屏掛滿整面牆。其中三十二塊顯示的是盤古系統的運行狀態——綠燈。剩下十五塊是網絡安全監控面板,此刻正在以每秒刷新三次的頻率跳動著紅色和橙色的警告條。
陳默在直播結束後的第六個小時就回到了這裡。他本來應該回京海好好睡一覺的——五天閉關加一場直播,正常人的極限早就突破了。但蘇哲的電話打過來的時候,他只問了一個問題:
「攻擊規模多大?「
「一千七百萬次。還在增長。「
他掛了電話就改簽了航班。
現在是攻擊發生後的第三十六個小時。
陳默的團隊八個人,分成三班倒,每班兩人加一個組長。攻擊方的手法已經摸清了一大半——標準的APT模式。外層是海量DDoS流量,洪水一樣灌過來,目的不是真的把伺服器衝垮,而是製造噪音。在流量洪峰的掩護下,精準的滲透指令混在正常請求里一起湧入,試圖從盤古系統的數據通信接口找到突破口。
「挺講究的。「陳默對著屏幕自言自語。
他的副手小趙——北大計算機系畢業,來京海一年半——坐在旁邊的工位上,聽到這句話扭過頭:「哪兒講究了?「
「分層攻擊的時間差控制得很精確。DDoS的峰值和滲透指令的注入窗口之間差了0.3秒——剛好是我們防火牆從DDoS防禦模式切換到深度包檢測模式的間隙。「
小趙的臉色變了:「他們知道我們防火牆的切換延遲?「
「知道。「陳默把眼鏡推上去,「所以我改了。把切換邏輯從串行改成並行,兩套模式同時跑。帶寬消耗翻倍,但沒有切換間隙了。「
這個補丁堵住了前三十六個小時的攻擊。
然後第三天凌晨四點,新問題來了。
陳默是被小趙從行軍床上叫醒的。
「主任,有個東西你得看看。「
屏幕上,一個他從未在任何公開漏洞庫中見過的攻擊向量正在嘗試突破盤古系統的核心資料庫外層隔離牆。
零日漏洞。
攻擊方用的是作業系統內核調度模塊里的一個未公開缺陷——利用特定的系統調用序列觸發內核態的競態條件,在微秒級的時間窗口裡獲取提權。
「這不是腳本小子能玩的東西。「陳默盯著屏幕上的攻擊日誌,聲音很平。
小趙的手在鍵盤上懸著,等指令。
陳默用了二十七分鐘寫了一段內核補丁,打上去。隔離牆的缺口被堵住了。
但他不得不做一個決定——為了確保補丁生效期間不被二次突破,他暫時關閉了盤古系統與外部網絡的所有數據通信埠。
楊青關掉直播窗口的時候,桌上的座機又響了。他盯著那部電話看了三秒,沒接。
起身去了蘇哲辦公室。
蘇哲在看一份跟深海項目無關的文件——市政供水管網的改造規劃。楊青進來的時候他頭也沒抬。
「說。「
楊青把錦通精工的投訴函和PTC發布會的要點摘要放在桌上。
蘇哲翻了兩頁投訴函,擱下了。PTC的摘要他看都沒看。
「陳默在哪兒?「
「在高新區的辦公室。三天沒回家了。「
「叫他來。「
半個小時後陳默出現在市委大樓三層。頭髮打結,襯衫領口的扣子掉了一顆,左手食指上貼著一片創口貼——敲鍵盤磨破的。
蘇哲看著他。
「你需要什麼?「
沒有鋪墊,沒有寬慰,沒有「你辛苦了「。這是蘇哲的做派——在陳默最需要聽到廢話的時候,他偏不說。
陳默站在辦公桌前面,嘴唇乾裂得起了白皮。他想了五秒。
「五天。敦煌超算中心的全部算力。「
「還有呢?「
「不要讓任何人來找我。「
蘇哲點頭。拿起電話撥了林銳。
「幫陳默訂今晚去敦煌的航班。到了之後讓超算中心的後勤給他備好方便麵、速溶咖啡和一箱礦泉水。「
他掛了電話,對陳默說:「第六天早上我等你的消息。「
陳默轉身出去了。
楊青還站在原地。他猶豫了一下:「書記,PTC降價的事——「
「等。「
「等什麼?「
「等陳默。「
楊青走了之後,蘇哲拿起了那份PTC的摘要,終於看了一遍。三萬六一年。降了七成。這個價格對中小企業來說確實有吸引力——特別是在盤古造物出了故障、用戶信心動搖的當口。
他把摘要翻過來,在背面空白處寫了幾行字,然後塞進了抽屜。
第二天。陳默飛往敦煌。
第三天。楊青匯報:盤古造物的企業退訂率攀升到了百分之十五。
蘇哲把楊青叫過來,讓他以高新區管委會的名義給全市——不,全國所有註冊企業發一份通知。措辭他自己寫的:
「各盤古造物用戶企業:因系統架構升級需要,在線協同功能將於近期完成疊代優化。升級期間,本地設計和離線仿真功能不受影響。新版本將於三日內發布。免費政策不變。「
就這麼幾行字。沒有道歉,沒有解釋技術細節,只有一句「免費政策不變「和一個明確的時間節點。
通知發出去當天下午,退訂率從百分之十五降到了百分之四。
楊青看著後台數據長出了一口氣。他不知道蘇哲憑什麼敢打這個包票——陳默能不能在五天裡解決問題,誰心裡都沒底。
蘇哲心裡有沒有底?
老實說,也沒有。
但他賭的不是陳默的技術能力。他賭的是陳默這個人。那天在辦公室里,陳默站在他面前的時候,眼睛裡沒有慌張。疲憊是有的,焦慮是有的,但底層的東西沒變——那是一種工程師特有的、對自己手藝的篤定。
蘇哲見過太多人在壓力下眼神渙散。陳默沒有。
第四天。
蘇哲在處理深海項目的後續事務。拉爾森的訴訟正在走撤訴程序,威爾遜在跟北極深海公司的律師團隊拉鋸細節條款。三菱重工那邊也在鬧——向東瀛經產省遞交了出口管制評估申請。但這些事都在可控範圍內。
唯一讓他坐不住的,是敦煌那邊沒有消息。
不是壞消息,是壓根沒消息。陳默把手機設了勿擾模式,除了超算中心主任代為轉達的每日一句「還在搞「之外,什麼都沒傳回來。
林銳倒是幫著打聽了一下情況——超算中心的工作人員說陳默白天睡四個小時,其餘時間都在終端前面,方便麵吃了二十六桶,咖啡粉用了一公斤半。
「這人會不會把自己搞出毛病來。「林銳有點擔心。
蘇哲沒回應。他翻開了PTC那份摘要的背面,看了看自己前兩天寫的那幾行字。
第一行寫的是:格林的降價是最後一搏。價格戰他們打不贏——三萬六還有利潤空間說明之前十二萬是暴利。這一刀捅下去,所有用戶都會記住他們曾經收了多少冤枉錢。
第二行寫的是:問題不在PTC降不降價。問題在盤古造物到底是不是一個「湊合能用「的東西。如果是,多便宜都會被替代。如果不是——
第三行只有三個字:等陳默。
第五天。
下午兩點四十分。蘇哲的手機屏幕亮了。
陳默發的消息。沒有文字,只有一張截圖。
截圖上是盤古造物2.0的內部測試儀錶盤。所有指標綠燈。右下角有一行白色小字:分布式架構重構完成,數據衝突率歸零,並發承載量提升至原來的四十倍。
旁邊還有一段語音。蘇哲點開,陳默的聲音沙得像砂紙刮木頭:
「書記,系統改完了。不光修了bug。我加了個新東西。你得親自看一眼。「
當晚七點,陳默從敦煌飛回京海。
他進蘇哲辦公室的時候帶了一個黑色雙肩包,包里裝著一台筆記本電腦和一副VR頭盔。
蘇哲讓林銳關上門。
陳默打開電腦,連接了一個遠程伺服器。然後他把VR頭盔遞給蘇哲。
「戴上。「
蘇哲接過頭盔看了兩秒。他這輩子沒戴過這玩意兒。
「這是元宇宙工廠的交互終端。「陳默解釋,「戴上之後你會進入一個虛擬的工廠車間。裡面有一個齒輪的三維模型。你可以用手勢去捏它——改大小、改齒數、改模數,隨便改。「
蘇哲把頭盔戴上了。
眼前一黑,然後一片明亮的虛擬空間展開。白色的地板,灰藍色的網格線延伸到視野盡頭。正中央懸浮著一個旋轉的齒輪,直徑大約三十厘米,參數標籤跟著轉。
「伸手。「陳默的聲音從頭盔耳機里傳來。
蘇哲伸出右手。虛擬空間裡出現了一隻半透明的手掌。他的手指碰到齒輪的瞬間,齒輪停止了旋轉。參數標籤放大了——模數:2.5,齒數:24,壓力角:20度。
「捏住齒數那個數字,往上撥。「
蘇哲照做了。手指一推,齒數從24變成了36。齒輪的形狀實時變化,齒變小了,變密了。
「現在看右下角。「
蘇哲扭頭——虛擬空間的右下角浮著一個小窗口,窗口裡是一台真實的工具機畫面。紅星工具機廠的五軸加工中心。
兩秒。
工具機的刀架動了。主軸開始旋轉。冷卻液噴出來。
蘇哲摘下頭盔。
陳默站在他面前,等著。
「從我改參數到工具機響應,兩秒?「
「一點七秒。數據從虛擬端傳到盤古系統分布式節點,經過工藝路逕自動規劃、刀路生成、G代碼編譯,最後下發到工具機控制器。全程自動化。「
蘇哲把頭盔放在桌上。
「發布。「
兩天後。全球直播發布會。
地點選在京海高新區的展示中心。陳默不擅長面對鏡頭——他在矽谷的時候做過兩次路演,都是照著稿子念的那種。但這一次不一樣。他是在演示自己親手做出來的東西。
直播開始後的第一分鐘,陳默戴上VR頭盔,在虛擬空間中憑空「捏「出了一個渦輪葉片的三維模型。手指拉伸、旋轉、修剪,動作流暢得像揉麵團。
虛擬仿真同步啟動。氣動載荷、熱應力、疲勞壽命——三組仿真結果在兩分鐘內全部跑完。
然後是重頭戲。
陳默在虛擬空間裡按下了一個按鈕。直播畫面切到了三個分屏:京海紅星工具機廠、蓉城航空零部件廠、呂州精密製造車間——三台接入盤古系統的數控工具機同時收到了加工指令,同時啟動。
三個城市。三台工具機。同一個零件。從設計到加工,全程不到五分鐘。
直播間的觀看人數在第八分鐘突破了五百萬,第十五分鐘一千二百萬,演示結束時峰值卡在了兩千一百萬。
彈幕刷屏速度快得看不清字。
紐約。PTC納斯達克掛牌的股票代碼PTC,在直播開始後的第二十分鐘跌了百分之九點三。交易量是平日的六倍。
格林在申城的辦公室里看著行情終端,手裡的咖啡杯擱在嘴邊沒喝。杯子涼了他都沒注意到。
申城那場降價發布會開了還不到十天。三萬六的年費剛剛印上宣傳冊。現在那些宣傳冊大概可以拿去墊桌腳了。
蘇哲沒看直播。他在辦公室處理另一件事——省委書記沙瑞金後天要聽深海礦產項目的當面匯報,材料還在改。
但林銳一直在旁邊用手機刷數據。
「書記,兩千萬了。「他忍不住報了一句。
蘇哲抬頭看了他一眼。
林銳閉嘴了。
直播結束後一個小時。
林銳敲門進來,手裡拿著一份公安系統轉來的情報簡報。他的臉色不太對。
「書記,敦煌超算中心的網絡安全組剛發來的——過去四十八小時,中心外圍網絡遭受了超過一千七百萬次DDoS攻擊。「
蘇哲放下筆。
「攻擊源分布在三十多個國家,但技術組做了溯源分析。「林銳把簡報放在桌上,手指點了一下最後一段,「主控伺服器的IP位址——指向米國維吉尼亞州蘭利市。「
蘭利。
全世界搞情報的人都知道那個地名意味著什麼。
蘇哲盯著那行IP位址。
「叫陳默回來。告訴他——五天假期取消了。「
敦煌超算中心的中控室在地下二層,恆溫恆濕,空調聲低沉,像一頭打盹的獸。
四十七塊監控屏掛滿整面牆。其中三十二塊顯示的是盤古系統的運行狀態——綠燈。剩下十五塊是網絡安全監控面板,此刻正在以每秒刷新三次的頻率跳動著紅色和橙色的警告條。
陳默在直播結束後的第六個小時就回到了這裡。他本來應該回京海好好睡一覺的——五天閉關加一場直播,正常人的極限早就突破了。但蘇哲的電話打過來的時候,他只問了一個問題:
「攻擊規模多大?「
「一千七百萬次。還在增長。「
他掛了電話就改簽了航班。
現在是攻擊發生後的第三十六個小時。
陳默的團隊八個人,分成三班倒,每班兩人加一個組長。攻擊方的手法已經摸清了一大半——標準的APT模式。外層是海量DDoS流量,洪水一樣灌過來,目的不是真的把伺服器衝垮,而是製造噪音。在流量洪峰的掩護下,精準的滲透指令混在正常請求里一起湧入,試圖從盤古系統的數據通信接口找到突破口。
「挺講究的。「陳默對著屏幕自言自語。
他的副手小趙——北大計算機系畢業,來京海一年半——坐在旁邊的工位上,聽到這句話扭過頭:「哪兒講究了?「
「分層攻擊的時間差控制得很精確。DDoS的峰值和滲透指令的注入窗口之間差了0.3秒——剛好是我們防火牆從DDoS防禦模式切換到深度包檢測模式的間隙。「
小趙的臉色變了:「他們知道我們防火牆的切換延遲?「
「知道。「陳默把眼鏡推上去,「所以我改了。把切換邏輯從串行改成並行,兩套模式同時跑。帶寬消耗翻倍,但沒有切換間隙了。「
這個補丁堵住了前三十六個小時的攻擊。
然後第三天凌晨四點,新問題來了。
陳默是被小趙從行軍床上叫醒的。
「主任,有個東西你得看看。「
屏幕上,一個他從未在任何公開漏洞庫中見過的攻擊向量正在嘗試突破盤古系統的核心資料庫外層隔離牆。
零日漏洞。
攻擊方用的是作業系統內核調度模塊里的一個未公開缺陷——利用特定的系統調用序列觸發內核態的競態條件,在微秒級的時間窗口裡獲取提權。
「這不是腳本小子能玩的東西。「陳默盯著屏幕上的攻擊日誌,聲音很平。
小趙的手在鍵盤上懸著,等指令。
陳默用了二十七分鐘寫了一段內核補丁,打上去。隔離牆的缺口被堵住了。
但他不得不做一個決定——為了確保補丁生效期間不被二次突破,他暫時關閉了盤古系統與外部網絡的所有數據通信埠。