第2章
白帽子
鑄劍------------------------------------------。、指紋和聲紋三重驗(yàn)證的合金門后,霍林眼前豁然開朗。挑高十米的大廳,墻壁是冷灰色的吸音材料,地面鋪著防靜電地板。正中央,一個(gè)巨大的環(huán)形屏幕從天花板垂落,上面流動(dòng)著密密麻麻的數(shù)據(jù)流——全國(guó)主要網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)時(shí)監(jiān)控圖。,幾十個(gè)操作員坐在半圓形的工作臺(tái)后,每個(gè)人面前都有至少三塊顯示器。鍵盤敲擊聲此起彼伏,但沒有人說話,只有偶爾響起的系統(tǒng)提示音?!斑@里是主控大廳。”李處長(zhǎng)介紹道,“‘天網(wǎng)’系統(tǒng)的眼睛和耳朵?!?。他看到了代表北京、上海、廣州等核心城市的光點(diǎn),還有連接這些光點(diǎn)的無數(shù)條閃爍的線——那是數(shù)據(jù)流動(dòng)的路徑。但有幾條線的顏色不對(duì),是刺眼的紅色?!凹t色的是什么?”霍林問?!爱惓A髁??!币粋€(gè)女聲從旁邊傳來。,看到一個(gè)三十歲左右的女人走過來。她穿著深藍(lán)色的制服,短發(fā)齊耳,眼鏡后的眼睛銳利有神。胸前掛著的工牌上寫著:技術(shù)組長(zhǎng),林靜?!皬淖蛱煜挛玳_始,支付清算系統(tǒng)的入口節(jié)點(diǎn)出現(xiàn)持續(xù)性高流量沖擊。”林靜走到一臺(tái)終端前,調(diào)出數(shù)據(jù)圖,“峰值達(dá)到平時(shí)的一百七十倍。但奇怪的是……”:“你看流量構(gòu)成。正常DDoS攻擊應(yīng)該是海量的無效請(qǐng)求,但這些流量里,有百分之三十是偽裝成正常支付交易的數(shù)據(jù)包。它們通過了初步的身份驗(yàn)證?!?。他的大腦開始飛速運(yùn)轉(zhuǎn)——分析協(xié)議結(jié)構(gòu)、計(jì)算哈希值、推測(cè)攻擊者的意圖。這是他在硅谷練就的本能,就像劍客看到劍招會(huì)自動(dòng)拆解一樣?!安皇菃渭兊腄DoS。”霍林說,“是APT攻擊的前奏。攻擊者在用這些偽裝流量測(cè)試系統(tǒng)的防御反應(yīng),同時(shí)尋找漏洞?!?,眼神里閃過一絲驚訝:“李處長(zhǎng)說你是高手,看來沒說錯(cuò)?;袅郑?hào)‘鑄劍’?!崩钐庨L(zhǎng)正式介紹,“從今天起,他是你們技術(shù)組的特別顧問,直接向我匯報(bào)?!?,好奇地打量著這個(gè)新來的“特別顧問”。霍林能感覺到那些目光里的審視——一個(gè)從國(guó)外回來的“海歸”,空降到***最核心的部門,任誰都會(huì)懷疑。
“我需要權(quán)限?!被袅植焕頃?huì)那些目光,對(duì)林靜說,“系統(tǒng)日志、防火墻規(guī)則庫、最近三個(gè)月的異常事件記錄,還有……那個(gè)后門程序的樣本?!?br>林靜看向李處長(zhǎng)。后者點(diǎn)點(diǎn)頭:“給他最高權(quán)限。從現(xiàn)在起,支付系統(tǒng)保衛(wèi)戰(zhàn)由霍林牽頭?!?br>命令下達(dá)得突然,連霍林自己都愣了一下。他以為至少要經(jīng)過幾天的適應(yīng)期,沒想到剛進(jìn)門就被推到了最前線。
“壓力很大吧?”去辦公室的路上,林靜低聲說,“李處長(zhǎng)就是這樣,看準(zhǔn)了人就往死里用。”
霍林的辦公室在二樓走廊盡頭,是個(gè)不到十平米的小房間。一張桌子,一把椅子,一臺(tái)看起來有些年頭的臺(tái)式電腦。唯一特別的是窗戶——不是玻璃,而是液晶屏,可以顯示任意畫面,此刻正模擬著窗外真實(shí)的夜景。
“條件簡(jiǎn)陋,將就一下?!绷朱o說,“基地是二十年前建的,后來改造過幾次,但基礎(chǔ)架構(gòu)沒動(dòng)。好處是絕對(duì)安全,壞處是……嗯,你看到了?!?br>霍林放下背包,啟動(dòng)電腦。系統(tǒng)是國(guó)產(chǎn)的麒麟OS,界面簡(jiǎn)潔到近乎簡(jiǎn)陋。他輸入李處長(zhǎng)給的臨時(shí)賬號(hào),屏幕閃了一下,進(jìn)入一個(gè)完全不同的界面——黑色**,綠色的命令行光標(biāo)閃爍。
這才是真正的系統(tǒng)。
他坐下來,手指放在鍵盤上。熟悉的觸感從指尖傳來,那是他在硅谷無數(shù)個(gè)夜晚陪伴他的感覺。但這一次,敲下的每一個(gè)字符,都承載著不同的重量。
第一個(gè)命令:查看實(shí)時(shí)攻擊日志。
屏幕滾動(dòng)起來,成千上萬行數(shù)據(jù)飛速閃過?;袅值难劬o盯著屏幕,瞳孔微微收縮——這是他在高度專注時(shí)的生理反應(yīng)。大腦像一臺(tái)超頻的處理器,從海量信息中提取關(guān)鍵特征。
十分鐘后,他發(fā)現(xiàn)了第一個(gè)異常。
“林組長(zhǎng),”他按下通訊鍵,“攻擊流量里有一個(gè)固定出現(xiàn)的源IP段:103.217.0.0/24。查一下這個(gè)段的地理位置?!?br>很快,林靜回復(fù):“東南亞,柬埔寨。但那是跳板,真正的攻擊源還在后面?!?br>“我知道?!被袅终f,“但跳板也有價(jià)值。攻擊者選擇柬埔寨的服務(wù)器做第一層跳板,說明他們?cè)谀抢镉蟹€(wěn)定的控制節(jié)點(diǎn)。查這個(gè)IP段的歷史活動(dòng)記錄,特別是和其他已知攻擊事件的關(guān)聯(lián)?!?br>他又調(diào)出后門程序的代碼樣本。屏幕上是密密麻麻的十六進(jìn)制數(shù)據(jù),普通人看一眼就會(huì)頭暈。但霍林看的是結(jié)構(gòu)——代碼的排列規(guī)律、函數(shù)的調(diào)用方式、變量的命名習(xí)慣。
每一個(gè)程序員都有自己獨(dú)特的“筆跡”。就像書法家寫字,黑客寫代碼也會(huì)留下個(gè)人風(fēng)格?;袅衷诠韫葧r(shí)研究過全球主要黑客組織的代碼特征,他記得“棱鏡”的風(fēng)格:喜歡用嵌套循環(huán)、變量名總是取自希臘神話、在關(guān)鍵函數(shù)前**無意義的垃圾代碼作為“簽名”。
而這個(gè)后門程序……完全符合。
“確認(rèn)了?!被袅肿匝宰哉Z,“是‘棱鏡’的手筆?!?br>他靠在椅背上,閉上眼睛。腦海里浮現(xiàn)出三年前在拉斯維加斯參加世界黑客大會(huì)的場(chǎng)景。那是一次“白帽”黑客的聚會(huì),全球頂尖的安全專家齊聚一堂。他在一個(gè)分論壇上,聽過一個(gè)匿名**者介紹“量子加密殼”技術(shù)。當(dāng)時(shí)那人戴著面具,聲音經(jīng)過處理,但**的邏輯結(jié)構(gòu)、舉例的方式……
和這個(gè)后門程序的編寫風(fēng)格,如出一轍。
“原來那時(shí)候就已經(jīng)……”霍林睜開眼,看向屏幕上的代碼。那些冰冷的字符,此刻仿佛有了生命,在嘲笑他的后知后覺。
門外傳來敲門聲。李處長(zhǎng)走進(jìn)來,手里端著兩個(gè)一次性飯盒:“晚上九點(diǎn)了,還沒吃吧?”
霍林這才意識(shí)到自己已經(jīng)坐了四個(gè)小時(shí)。他接過飯盒,是普通的食堂飯菜:米飯、青椒肉絲、炒白菜。味道一般,但熱乎。
“有什么進(jìn)展?”李處長(zhǎng)拉過另一把椅子坐下。
霍林邊吃邊匯報(bào):“攻擊是分層的。第一層是柬埔寨的跳板服務(wù)器,第二層經(jīng)過至少三個(gè)**的**節(jié)點(diǎn),最終源頭還在追蹤。后門程序確認(rèn)是‘棱鏡’的作品,用了量子加密,常規(guī)手段破解不了?!?br>“量子加密……”李處長(zhǎng)皺眉,“我們**量子計(jì)算機(jī)還在實(shí)驗(yàn)室階段,實(shí)戰(zhàn)用不上。”
“不一定需要量子計(jì)算機(jī)?!被袅址畔驴曜?,“量子加密殼的原理是在經(jīng)典算法外套一層量子隨機(jī)數(shù)生成器。如果我們能預(yù)測(cè)或者干擾那個(gè)隨機(jī)數(shù)生成過程……”
他走到白板前,拿起筆開始畫示意圖:“所有的隨機(jī)數(shù)生成器都有物理基礎(chǔ)。如果是基于光子的,會(huì)受到環(huán)境溫度、電磁場(chǎng)的影響;如果是基于電子噪聲的,對(duì)電源穩(wěn)定性敏感。如果我們知道服務(wù)器所在機(jī)房的環(huán)境參數(shù),就有可能推算出隨機(jī)數(shù)序列的規(guī)律?!?br>李處長(zhǎng)眼睛亮了:“你需要什么?”
“柬埔寨那臺(tái)跳板服務(wù)器的物理位置,還有機(jī)房的詳細(xì)資料——供電系統(tǒng)、空調(diào)型號(hào)、甚至建筑結(jié)構(gòu)?!被袅终f,“越詳細(xì)越好?!?br>“我讓外勤部門去查?!崩钐庨L(zhǎng)起身,“但需要時(shí)間。在這之前,我們得先頂住攻擊?!?br>“我有一個(gè)想法?!被袅终f,“既然攻擊者在用偽裝流量探路,我們就給他們一個(gè)‘路’?!?br>“蜜罐?”
“對(duì)。但不是普通的蜜罐?!被袅衷诎装迳袭嫵鲆粋€(gè)結(jié)構(gòu)圖,“我們要做一個(gè)高交互蜜罐,完全模擬支付系統(tǒng)的核心接口,但里面埋下陷阱——所有進(jìn)入蜜罐的交易,都會(huì)被標(biāo)記、分析、反向追蹤?!?br>“風(fēng)險(xiǎn)呢?”李處長(zhǎng)問,“如果被識(shí)破,攻擊者可能會(huì)順著蜜罐反入侵我們的真實(shí)系統(tǒng)?!?br>“所以蜜罐要放在物理隔離的網(wǎng)絡(luò)上?!被袅终f,“用單向數(shù)據(jù)光閘連接,只進(jìn)不出。就算被攻破,也影響不到主系統(tǒng)?!?br>李處長(zhǎng)思考了幾分鐘,點(diǎn)頭:“去做。需要什么資源,直接找林靜?!?br>他走到門口,又回頭:“霍林,我知道你剛回國(guó),很多事不習(xí)慣。但這里就是戰(zhàn)場(chǎng),每一秒都關(guān)系到千萬人的財(cái)產(chǎn)安全。我相信你,別讓我失望?!?br>門關(guān)上了?;袅终驹谠兀粗装迳献约寒嫷牟輬D。那些線條和符號(hào),在燈光下顯得有些虛幻。
他突然想起三年前離開中國(guó)時(shí),在機(jī)場(chǎng)對(duì)父母說的話:“我去學(xué)最先進(jìn)的技術(shù),等學(xué)成了就回來?!?br>父親當(dāng)時(shí)沒說話,只是拍了拍他的肩膀。母親眼眶紅了,小聲說:“注意安全,早點(diǎn)回來。”
現(xiàn)在他回來了,帶著一身技術(shù),卻直接踏進(jìn)了最危險(xiǎn)的戰(zhàn)場(chǎng)。
電腦屏幕上的攻擊日志還在實(shí)時(shí)刷新,紅色的警報(bào)條目不斷增加?;袅肿匾巫忧?,手指重新放在鍵盤上。
該干活了。
“我需要權(quán)限?!被袅植焕頃?huì)那些目光,對(duì)林靜說,“系統(tǒng)日志、防火墻規(guī)則庫、最近三個(gè)月的異常事件記錄,還有……那個(gè)后門程序的樣本?!?br>林靜看向李處長(zhǎng)。后者點(diǎn)點(diǎn)頭:“給他最高權(quán)限。從現(xiàn)在起,支付系統(tǒng)保衛(wèi)戰(zhàn)由霍林牽頭?!?br>命令下達(dá)得突然,連霍林自己都愣了一下。他以為至少要經(jīng)過幾天的適應(yīng)期,沒想到剛進(jìn)門就被推到了最前線。
“壓力很大吧?”去辦公室的路上,林靜低聲說,“李處長(zhǎng)就是這樣,看準(zhǔn)了人就往死里用。”
霍林的辦公室在二樓走廊盡頭,是個(gè)不到十平米的小房間。一張桌子,一把椅子,一臺(tái)看起來有些年頭的臺(tái)式電腦。唯一特別的是窗戶——不是玻璃,而是液晶屏,可以顯示任意畫面,此刻正模擬著窗外真實(shí)的夜景。
“條件簡(jiǎn)陋,將就一下?!绷朱o說,“基地是二十年前建的,后來改造過幾次,但基礎(chǔ)架構(gòu)沒動(dòng)。好處是絕對(duì)安全,壞處是……嗯,你看到了?!?br>霍林放下背包,啟動(dòng)電腦。系統(tǒng)是國(guó)產(chǎn)的麒麟OS,界面簡(jiǎn)潔到近乎簡(jiǎn)陋。他輸入李處長(zhǎng)給的臨時(shí)賬號(hào),屏幕閃了一下,進(jìn)入一個(gè)完全不同的界面——黑色**,綠色的命令行光標(biāo)閃爍。
這才是真正的系統(tǒng)。
他坐下來,手指放在鍵盤上。熟悉的觸感從指尖傳來,那是他在硅谷無數(shù)個(gè)夜晚陪伴他的感覺。但這一次,敲下的每一個(gè)字符,都承載著不同的重量。
第一個(gè)命令:查看實(shí)時(shí)攻擊日志。
屏幕滾動(dòng)起來,成千上萬行數(shù)據(jù)飛速閃過?;袅值难劬o盯著屏幕,瞳孔微微收縮——這是他在高度專注時(shí)的生理反應(yīng)。大腦像一臺(tái)超頻的處理器,從海量信息中提取關(guān)鍵特征。
十分鐘后,他發(fā)現(xiàn)了第一個(gè)異常。
“林組長(zhǎng),”他按下通訊鍵,“攻擊流量里有一個(gè)固定出現(xiàn)的源IP段:103.217.0.0/24。查一下這個(gè)段的地理位置?!?br>很快,林靜回復(fù):“東南亞,柬埔寨。但那是跳板,真正的攻擊源還在后面?!?br>“我知道?!被袅终f,“但跳板也有價(jià)值。攻擊者選擇柬埔寨的服務(wù)器做第一層跳板,說明他們?cè)谀抢镉蟹€(wěn)定的控制節(jié)點(diǎn)。查這個(gè)IP段的歷史活動(dòng)記錄,特別是和其他已知攻擊事件的關(guān)聯(lián)?!?br>他又調(diào)出后門程序的代碼樣本。屏幕上是密密麻麻的十六進(jìn)制數(shù)據(jù),普通人看一眼就會(huì)頭暈。但霍林看的是結(jié)構(gòu)——代碼的排列規(guī)律、函數(shù)的調(diào)用方式、變量的命名習(xí)慣。
每一個(gè)程序員都有自己獨(dú)特的“筆跡”。就像書法家寫字,黑客寫代碼也會(huì)留下個(gè)人風(fēng)格?;袅衷诠韫葧r(shí)研究過全球主要黑客組織的代碼特征,他記得“棱鏡”的風(fēng)格:喜歡用嵌套循環(huán)、變量名總是取自希臘神話、在關(guān)鍵函數(shù)前**無意義的垃圾代碼作為“簽名”。
而這個(gè)后門程序……完全符合。
“確認(rèn)了?!被袅肿匝宰哉Z,“是‘棱鏡’的手筆?!?br>他靠在椅背上,閉上眼睛。腦海里浮現(xiàn)出三年前在拉斯維加斯參加世界黑客大會(huì)的場(chǎng)景。那是一次“白帽”黑客的聚會(huì),全球頂尖的安全專家齊聚一堂。他在一個(gè)分論壇上,聽過一個(gè)匿名**者介紹“量子加密殼”技術(shù)。當(dāng)時(shí)那人戴著面具,聲音經(jīng)過處理,但**的邏輯結(jié)構(gòu)、舉例的方式……
和這個(gè)后門程序的編寫風(fēng)格,如出一轍。
“原來那時(shí)候就已經(jīng)……”霍林睜開眼,看向屏幕上的代碼。那些冰冷的字符,此刻仿佛有了生命,在嘲笑他的后知后覺。
門外傳來敲門聲。李處長(zhǎng)走進(jìn)來,手里端著兩個(gè)一次性飯盒:“晚上九點(diǎn)了,還沒吃吧?”
霍林這才意識(shí)到自己已經(jīng)坐了四個(gè)小時(shí)。他接過飯盒,是普通的食堂飯菜:米飯、青椒肉絲、炒白菜。味道一般,但熱乎。
“有什么進(jìn)展?”李處長(zhǎng)拉過另一把椅子坐下。
霍林邊吃邊匯報(bào):“攻擊是分層的。第一層是柬埔寨的跳板服務(wù)器,第二層經(jīng)過至少三個(gè)**的**節(jié)點(diǎn),最終源頭還在追蹤。后門程序確認(rèn)是‘棱鏡’的作品,用了量子加密,常規(guī)手段破解不了?!?br>“量子加密……”李處長(zhǎng)皺眉,“我們**量子計(jì)算機(jī)還在實(shí)驗(yàn)室階段,實(shí)戰(zhàn)用不上。”
“不一定需要量子計(jì)算機(jī)?!被袅址畔驴曜?,“量子加密殼的原理是在經(jīng)典算法外套一層量子隨機(jī)數(shù)生成器。如果我們能預(yù)測(cè)或者干擾那個(gè)隨機(jī)數(shù)生成過程……”
他走到白板前,拿起筆開始畫示意圖:“所有的隨機(jī)數(shù)生成器都有物理基礎(chǔ)。如果是基于光子的,會(huì)受到環(huán)境溫度、電磁場(chǎng)的影響;如果是基于電子噪聲的,對(duì)電源穩(wěn)定性敏感。如果我們知道服務(wù)器所在機(jī)房的環(huán)境參數(shù),就有可能推算出隨機(jī)數(shù)序列的規(guī)律?!?br>李處長(zhǎng)眼睛亮了:“你需要什么?”
“柬埔寨那臺(tái)跳板服務(wù)器的物理位置,還有機(jī)房的詳細(xì)資料——供電系統(tǒng)、空調(diào)型號(hào)、甚至建筑結(jié)構(gòu)?!被袅终f,“越詳細(xì)越好?!?br>“我讓外勤部門去查?!崩钐庨L(zhǎng)起身,“但需要時(shí)間。在這之前,我們得先頂住攻擊?!?br>“我有一個(gè)想法?!被袅终f,“既然攻擊者在用偽裝流量探路,我們就給他們一個(gè)‘路’?!?br>“蜜罐?”
“對(duì)。但不是普通的蜜罐?!被袅衷诎装迳袭嫵鲆粋€(gè)結(jié)構(gòu)圖,“我們要做一個(gè)高交互蜜罐,完全模擬支付系統(tǒng)的核心接口,但里面埋下陷阱——所有進(jìn)入蜜罐的交易,都會(huì)被標(biāo)記、分析、反向追蹤?!?br>“風(fēng)險(xiǎn)呢?”李處長(zhǎng)問,“如果被識(shí)破,攻擊者可能會(huì)順著蜜罐反入侵我們的真實(shí)系統(tǒng)?!?br>“所以蜜罐要放在物理隔離的網(wǎng)絡(luò)上?!被袅终f,“用單向數(shù)據(jù)光閘連接,只進(jìn)不出。就算被攻破,也影響不到主系統(tǒng)?!?br>李處長(zhǎng)思考了幾分鐘,點(diǎn)頭:“去做。需要什么資源,直接找林靜?!?br>他走到門口,又回頭:“霍林,我知道你剛回國(guó),很多事不習(xí)慣。但這里就是戰(zhàn)場(chǎng),每一秒都關(guān)系到千萬人的財(cái)產(chǎn)安全。我相信你,別讓我失望?!?br>門關(guān)上了?;袅终驹谠兀粗装迳献约寒嫷牟輬D。那些線條和符號(hào),在燈光下顯得有些虛幻。
他突然想起三年前離開中國(guó)時(shí),在機(jī)場(chǎng)對(duì)父母說的話:“我去學(xué)最先進(jìn)的技術(shù),等學(xué)成了就回來?!?br>父親當(dāng)時(shí)沒說話,只是拍了拍他的肩膀。母親眼眶紅了,小聲說:“注意安全,早點(diǎn)回來。”
現(xiàn)在他回來了,帶著一身技術(shù),卻直接踏進(jìn)了最危險(xiǎn)的戰(zhàn)場(chǎng)。
電腦屏幕上的攻擊日志還在實(shí)時(shí)刷新,紅色的警報(bào)條目不斷增加?;袅肿匾巫忧?,手指重新放在鍵盤上。
該干活了。