![]()
淺友們好~我是史中,我的日常生活是開撩五湖四海的科技大牛,我會嘗試用各種姿勢,把他們的無邊腦洞和溫情故事講給你聽。如果你想和我做朋友,不妨加微信(shizhongmax)。
世界千瘡百孔,有一群黑客在縫縫補補
文 | 史中
(一)武林門派大亂斗,游俠活捉王喇嘛
世界從不太平。
Long long ago,金人陳兵百萬,在邊疆與宋對峙。眼看攻守膠著,金國決定劍走偏鋒,祭出“黑客”戲碼:招募變裝易容、飛檐走壁的高手,深入大宋腹地盜取情報。
這招兒雖不體面,但真?好使。
一時間,風(fēng)聲鶴唳,不僅大宋朝廷成了攻擊目標,連實力雄厚的各大武林門派也被盯上。
![]()
話說少林、武當、崆峒、峨眉、青城各派,自是高手云集,不怕當面鑼對面鼓地干架。可是對這種來無影去無蹤的“大盜”,招架起來還真沒啥經(jīng)驗。
眼看一大波金國大盜正在路上,幾大門派的掌門聚在一起商量對策:與其坐等迎敵,還不如咱們先相互切磋一下,仿照不久前的華山論劍,搞一場“安全大比武”!
規(guī)則很簡單:
1、以倆禮拜為期,這期間,幾個門派各自派出高手,你偷我家寶貝,我偷你家寶貝。 2、當然是點到為止,不真?zhèn)耍幢阃党鰧氊悂硪驳眠€給人家。 3、如果最后咱們之間相互都能防住,那豈不是金國大盜來了也難得逞了嘛!
說干就干!
![]()
且看武當。
武當掌門是個外向仔,決定先下手為強。
他撒出人去,遍訪天下高手,從西域找來了一位王喇嘛。
![]()
這位王喇嘛可是了得,他有一手絕活:配鑰匙。
可不是路邊那種10塊錢配一把的鑰匙。而是只看一眼鎖,他能直接配出鑰匙!
多年行走江湖,王喇嘛攢下了一串鑰匙,拍著胸脯說:天下的鎖,定能被其中一把或幾把鑰匙打開!
武當掌門將信將疑,拿出各種鎖頭請王喇嘛當面展示,果然能開。
掌門拍手稱絕:“請您即刻前往少林寺,把這幫禿驢的鎮(zhèn)寺之寶全部盜來,讓他們底褲都不剩!”
![]()
再看少林。
少林方丈是個內(nèi)向仔,首先想到的是防御。他找來了“火眼兄弟”。
這兩兄弟,從西洋人那里學(xué)來了絕活。
![]()
他們建議:
在少林寺的“賬房”、“議事廳”、“大殿”、“方丈禪房”等等關(guān)鍵位置都安裝火眼監(jiān)控。
把這些監(jiān)控畫面匯總在一起,加密脫敏后用一根網(wǎng)線傳輸?shù)健盎鹧坌值堋笨偛浚沙売嬎銠C進行分析,一旦發(fā)現(xiàn)可疑,馬上報警↓↓↓
![]()
方丈皺了皺眉:
你這洋玩意兒雖好,只是不符合我寺的廟情。
根據(jù)規(guī)章制度,我寺所有的數(shù)據(jù)都是秘密,似你這般,連我禪房里的數(shù)據(jù)都要傳輸出去,恐怕不妥吧。你雖說脫敏,但我哪知道你脫得干凈不干凈?
不如這樣,我買一臺電腦放在我寺分析,私有部署,數(shù)據(jù)不出域,何如?
![]()
火眼兄弟說:“行倒是行,可這樣算力不足,不僅存下來的圖像會模糊,而且分析不太準。恐怕。。。”
方丈擺擺手:“噫!還是數(shù)據(jù)安全要緊嘞~”
就在少林寺“監(jiān)控系統(tǒng)”剛部署好的第二天,喬裝改扮的“王喇嘛”來到了寺門口。
可是,他沒有像其他香客一樣進入寺廟,而是一閃身,進入了正門,,,旁邊的“傳達室”。
![]()
少林寺傳達室有一個很重要的職責:收發(fā)信件。
外人和少林寺眾僧相互寫信,都會由傳達室代為轉(zhuǎn)交; 少林寺內(nèi)部人員相互傳遞文件,也都統(tǒng)一給傳達室,由傳達室大爺負責轉(zhuǎn)送。
鑒于通信繁忙,“傳達室”每天都人聲鼎沸。
今兒也不例外,上百人在郵箱前投信件、取信件,壓根兒沒人注意到王喇嘛。
他走到郵箱跟前,自然地掏出鑰匙,徑直打開,用極快的速度把里面所有的信快速看了一遍,然后若無其事地走了。
![]()
當天晚上,少林寺剛關(guān)上山門,方丈就接到了武當山掌門的電話。
掌門說:“咳咳,你寺的寶貝是不是都埋在后院兒的銀杏樹下?你們昨天總共收了12548.3文香火錢!你還準備資本運作一下,收購山下的尼姑庵,對不對?!”
方丈驚了:“老賊你咋知道?”
掌門說:“既然你誠心誠意地問了,我就大發(fā)慈悲給你提個醒吧——傳達室。”
方丈摔掉電話,趕緊查看“火眼兄弟”的平臺,并沒有報警啊。。。
他不甘心,又把傳達室的監(jiān)控原始畫面調(diào)出來親自看,但因為是私有部署,容量有限,畫面糊的一比。
方丈把臉貼屏幕上,也沒看出啥異常。。。
第二天一早,傳達室大爺被綁在少林寺門口的樹上,方丈眼里噴火:“說!是不是你叛變了?!”
大爺哭得都快背過氣了:“老夫忠心耿耿,方丈你怎么血口噴人啊!”
看熱鬧的人越來越多。此時,一位游俠路過,聽到了事情的原委,走上前去對方丈說:“方丈息怒,能否把郵箱上的鎖頭借我一觀?”
![]()
方丈狐疑地把鎖頭遞給游俠,游俠點點頭:“依我看,很可能有高人利用鎖頭上的漏洞,做出一把特制鑰匙開了鎖,已經(jīng)把所有信件都看走了。”
方丈趕緊問:“啊!是誰干的?我現(xiàn)在就帶人去拿他!”
游俠說:“具體是誰還說不好。不過別急,這位黑客定會再來,待我手搓一顆銅豌豆,塞進鎖芯里,到時候那個人再用特制鑰匙開鎖時,不僅打不開,還會觸發(fā)我的警報,咱們只需埋伏在暗處就行。”
![]()
方丈趕緊道謝,一切聽從游俠安排。
果然,當天寺廟開門之后,喬裝打扮成普通人的王喇嘛又吹著口哨來了,他把鑰匙插進鎖芯,嗯?哪里不對勁?
說時遲那時快,四周卷簾門“嘩啦啦”落下,王喇嘛根本來不及反應(yīng),就被沖進來的武僧們來了個甕中捉鱉。
![]()
那邊武僧們?nèi)ソo王喇嘛坐老虎凳灌辣椒水暫且不表,這邊方丈對游俠千恩萬謝:嗚呼呀,敢問大俠自何處而來,尊姓大名?!
游俠笑道:“我自賽博昆侖而來,俗名鄭文彬,人稱 MJ。”
方丈道:“昆侖俠客果然法力無邊!只是貧僧有一事不明,你與這王喇嘛素不相識,怎料到他一定會用這把鑰匙開鎖嘞?”
MJ 拿起剛從王喇嘛手里繳獲的鑰匙,一邊端詳一邊解釋:
方丈有所不知,天下的鎖頭有千萬種,在技藝不精的人看來,它們可以被各種姿勢撬開,防不勝防; 但在高手看來,變化的撬鎖方法背后利用的“脆弱點”卻是有共性的——每一把鎖上,最多同時存在幾個脆弱點。 至于你這把鎖,我一看,就猜出了王喇嘛會用哪些脆弱點來開。所以即便不知道他具體會用什么鑰匙,只要量身定做了那顆“銅豌豆”,剛好擋住那些脆弱點,就足夠了啊!
![]()
老方丈大受震撼:“大俠,如此說來,你若是能在我少林寺,甚至武當山,乃至大宋所有的鎖頭里都放上銅豌豆,豈不是金國大盜在我大宋疆土上就寸步難行了?”
MJ 點頭:“確實如此。不瞞你說,此番我下昆侖來在中原,正是為了把這些銅豌豆放進天下的門鎖里,保一方太平啊!”
眾僧聞聽,紛紛雙手合十,向俠客致意。方丈抬頭遠望,蒼茫大地,山雨欲來。
![]()
(二)漏洞不是漏洞,是通往“平行宇宙”的入口
這位說了,中哥,你咋還編起武俠小說了呢?
我也真希望這是我編出來的小說。但悲傷的恰是,這都是真事兒,而且就發(fā)生在幾個月前。只是有些東西不便對號入座,唯有寫個中二故事,借俠客之口一敘。
如果還有人蒙圈,我不妨提示一下:
剛才提到的“武當”和“少林”,其實就是各大關(guān)鍵企業(yè); “金國大盜”,就是虎視眈眈趁機盜取機密的黑客組織; “安全大比武”,其實就是網(wǎng)絡(luò)安全演習(xí); “王喇嘛”,就是在演習(xí)中負責測試的隊伍; “大俠 MJ”,不是別人,就是站在我對面的這位網(wǎng)絡(luò)安全大神,賽博昆侖的創(chuàng)始人 MJ。
![]()
MJ 鄭文彬
上面的真事兒,來自 MJ 最近參加網(wǎng)絡(luò)安全演習(xí)時經(jīng)歷的一場“高端局”。
當時的情況是醬的:
1、攻擊手(王喇嘛)盯上了A企業(yè)的郵件服務(wù)系統(tǒng)(傳達室),發(fā)現(xiàn)里面有一個隱秘漏洞(鎖頭上的薄弱環(huán)節(jié)); 2、于是他構(gòu)造了一段攻擊代碼(特殊鑰匙),直接拿到了系統(tǒng)權(quán)限(打開了鎖),把郵箱里的全部郵件(書信)都給拷貝出來。 3、因為郵件系統(tǒng)里存了大量內(nèi)部郵件,所以攻擊手(王喇嘛)一下子獲取了大量機密; 4、這些機密本身的泄露已經(jīng)足夠給 A 企業(yè)帶來巨大的威脅,而且利用這些信息做跳板,再去進攻內(nèi)部的數(shù)據(jù)庫(寺廟的賬房、議事廳之類),還會造成更大的損失!
單單這么說,你可能還沒反應(yīng)過來“高端”在哪。。。
其實,高端在倆細節(jié):
首先,攻擊手利用的漏洞是他自己“原創(chuàng)”的,在這里也是第一次拿出來使用(這種就叫 0-Day 漏洞)。
所以,無論是被攻擊的“郵件系統(tǒng)開發(fā)商”、“A公司”,還是負責保護它的“網(wǎng)絡(luò)安全公司”都不知道;
![]()
其次,整個攻擊過程只集中在“郵件系統(tǒng)”這個極小的范圍,攻擊手實際做出的行為極少。
這導(dǎo)致“通過行為關(guān)聯(lián)來判斷黑客進攻”的安全系統(tǒng)“EDR”(就是故事里火眼兄弟的監(jiān)控系統(tǒng))還沒干活就已經(jīng)敗了;
![]()
牛X的來了:
即便黑客這么頂,MJ 部署在 A 企業(yè)的那顆“銅豌豆”(漏洞防御系統(tǒng))在不知道這個具體漏洞存在的情況下,仍然感知到了攻擊手的企圖,并且在最短時間內(nèi)把漏洞修補,挽回了后續(xù)可能出現(xiàn)的惡劣損失。
這里面有活兒啊!
話說,老淺友可能都了解,MJ 是我敬佩的史詩級黑客大神,打出他的名字前我得恭恭敬敬地擦掉鍵盤上的灰。。。
世界對 MJ 來說是“單向透明”的——只要他愿意,可以隨意出入任何一臺電腦和手機。(只不過作為一個守衛(wèi)世界的正義黑客,他不會那樣做。)
有關(guān)他的故事,我在等等文章里已經(jīng)寫了很多,有興趣的盆友可以去膜拜,此處不再贅述。
MJ 在2021年離開 360,創(chuàng)建了網(wǎng)絡(luò)安全公司賽博昆侖。
他的創(chuàng)業(yè)主打一個陣容豪華。不僅 MJ 自己一直保持著世界頂尖的漏洞研究能力,他也同時凝聚著國內(nèi)最強的一群漏洞研究大神。
這群大神想做的事情很簡單:
搓出一顆顆“銅豌豆”,以女媧補天的優(yōu)雅姿勢,堵住網(wǎng)絡(luò)世界的所有漏洞,讓網(wǎng)絡(luò)攻擊的“滔天洪水”無法威脅我們的和諧社會。
話說到這兒,你可能會皺眉:中哥你這夸得有點狠吧?堵幾個洞就能拯救世界,這玩意兒有啥科學(xué)依據(jù)么??
當然有。
MJ 給我科普了一下其中道理:
1、你可以把一個系統(tǒng)想象成一座房子。
![]()
2、然后把黑客摸進來之后的行進路線用時間線串起來。
![]()
3、黑客進入房子之后,他的選擇非常多。
比如,他可以在不同的主機(房間)里來回躲閃,或者在某個不起眼的應(yīng)用軟件(衣柜)里等待時機,或者建立一個隱秘通道和外部通信(在墻上挖個洞往外送東西),等等等等。
騷操作成千上萬,還能排列組合,比孫悟空的變化還多。
![]()
4、但是,如果順著時間線往前捯,在黑客進入系統(tǒng)的一瞬間,他的選擇只有一個——漏洞利用(撬鎖)。
![]()
把這個原理想清楚,你自然就會得出結(jié)論:
攔截黑客最好的時機,不是等他進入系統(tǒng)以后,而是就在他試圖利用漏洞進入系統(tǒng)的那一瞬間。
你看《碟中諜》電影就知道了。
阿湯哥拳上能站人臂上能走馬,兩根手指捏著天花板上的釘子能吊在房頂一天一夜。在敵人老巢里他總把守衛(wèi)耍得團團轉(zhuǎn),可是他潛入敵人老巢的方法也只有一個——溜門撬鎖。
你要是在阿湯哥撬鎖的時候逮不住他,等他進去,你就更別想逮住他了。
![]()
為了后文方便思考,這里我借用一個物理學(xué)上的“光錐”概念給大家建立一個思考模型:
我畫了一個光錐,它標記了黑客現(xiàn)在所在的位置,以及一段時間以后黑客可能在位置的情況。
![]()
你可以看到,光錐的原點就是黑客撬鎖的一瞬間;
然而,他撬開鎖進入房間以后,世界就開始分裂成若干個“平行宇宙”,每一個平行宇宙里,黑客都在不同地方。
而隨著時間推移,平行宇宙越分裂越多。
也就是說,距離漏洞利用那一刻時間越久,黑客的位置就越模糊,“熵”就越高;而距離漏洞利用那一瞬間越近,黑客位置的確定性就越強,“熵”越低。
![]()
黑客進入系統(tǒng),就像一根針掉入大海。
如果在它入水的一刻你就伸手捏住,甚至入水后很短的時間內(nèi)去撈,你仍有可能撈到它; 可是一旦它繼續(xù)下沉,你撈到它的機會將急速下降,很快就變得非常非常小。
了解了這些,我們再回看那些漏洞,你會有完全不同的感觸。
漏洞不僅僅是系統(tǒng)的破口,它更是黑客向無數(shù)個平行宇宙逃竄的可能性;
一旦封堵住漏洞,黑客就會瞬間從“吊炸天阿湯哥”變成“沒有故事的女同學(xué)”。
![]()
看到這,我猜很多淺友一定覺得學(xué)廢了:“漏洞很危險,需要動態(tài)清零,發(fā)現(xiàn)一個補一個,發(fā)現(xiàn)兩個補一雙,如此這般,定保平安!”
這話雖說沒毛病。但理解到這個程度,你和現(xiàn)實之間還隔著10層棉襖。。。
為了一層層脫掉“棉襖”,咱們不妨回到少林寺的故事。
(三)銅豌豆有多難搓?
放走王喇嘛之后,方丈趕緊去找郵箱的制造廠家,把收繳的鑰匙扔在廠長的桌子上:
“您這玩意兒不安全啊!就用這鑰匙,人家差點把我寺的底褲都偷了去!不少寺廟道觀衙門口都用你家的郵箱,萬一這把鑰匙泄露出去,得有多少蟊賊群起而偷之?!你趕緊想想辦法,把賣出的郵箱統(tǒng)一修理一下,不然天下危矣!”
廠長趕緊點頭:“方丈所言極是,我即刻命令我廠老師傅思考方案,全部召回換新!”
大廠果然有信譽,三天之后,就把所有郵箱都換上了新鎖,包括少林寺的這一把。
方丈滿意地點頭。
不過下一秒,他突然想到了什么,命人把 MJ 請來:“昆侖大俠,如今廠家已為我們更新了鎖頭,你給看看還有冇問題?”
![]()
MJ 仔細查看了一番門鎖,笑了笑:
“不瞞您說,這把新鎖,用你從王喇嘛手里繳獲的那把鑰匙,確實已經(jīng)打不開了。但是。。。在那把鑰匙上稍微打磨三兩下,還是能開!”
方丈大驚:“這這這,是何道理?!”
MJ 說:“升級之后的鎖對于脆弱點加了一些防護,但是沒有護全,從特定角度迂回,還能碰到。”
![]()
方丈皺眉:“難道。。。是郵箱廠故意不給修好?”
MJ 搖頭:“想來并非如此。郵箱廠肯定希望自己的產(chǎn)品安全,只是廠里的師傅大多精通的是造鎖,對于如何防護住脆弱點,還是經(jīng)驗不足啊!”
方丈正想開口,MJ 擺手:“不用急,方丈只需把我之前那顆‘銅豌豆’重新塞進鎖芯便可無憂!”
![]()
故事講到這,咱們不妨回到現(xiàn)實,中哥我來解釋一下。
方丈遇到的問題,恰是俺們國家的普遍現(xiàn)狀:
市面上的軟件不斷被發(fā)現(xiàn)新漏洞,這很讓人頭疼;
但是舊的漏洞總!也!修!不!好!才更讓人頭疼!!
不過,這也不僅是俺們國家獨有的情況,整個地球都這德行。
MJ 給我講了一件真事兒:
2023年3月初,烏克蘭網(wǎng)絡(luò)應(yīng)急中心向微軟公司緊急報告了一個問題。
問題出在微軟最著名的郵件客戶端 Outlook 上。當時,烏克蘭政府人員用 Outlook 收郵件的時候,發(fā)現(xiàn)“手感”不對勁,定眼兒一看:有人發(fā)來一個共享日程,自己啥也沒動,Outlook 就自動“寬衣解帶”,把郵箱密傳給對方了!
烏克蘭專家一查,臥槽,有人利用了 Outlook 的一個 0-Day 漏洞!
他們趕緊繼續(xù)倒查,一身冷汗,發(fā)現(xiàn)黑客從去年4月就開始這么搞,已經(jīng)小半年了。。。繼續(xù)再查,我勒個去,北約各國的很多人也都中招了。。。
![]()
這段視頻就顯示了攻擊過程。后面蹦出來一長串字符就是密碼哈希,用它可以反推出密碼。
雖說想破了腦袋也沒猜出是哪個國家干的,但要緊的是,得趕緊讓微軟修洞啊!
微軟老師傅加班加點,3月14日就向全球用戶推出了緊急補丁。
MJ 當時也看了一下這個補丁,看完捂臉,我勒個去,你這沒修好啊,有經(jīng)驗的黑客肯定能繞過去!果然,一語成讖,不久后,微軟又重發(fā)了一個新補丁。
但 MJ 覺得還是不對,微軟工程師修這個漏洞的思路很奇怪,明明有機會直接封堵,他們卻選擇拿來一個模塊蓋在了這個漏洞上。
那個模塊已經(jīng)有幾十年的歷史了,本身邏輯又復(fù)雜,八成里面還有隱藏款問題。
果不其然,到了5月份,又有黑客繞過了這個防護,魔改了一版“鑰匙”繼續(xù)攻擊 Outlook。微軟沒辦法,只能在這個模塊上繼續(xù)堵。
到了8月,又被人繞過,微軟再堵堵堵。。。
![]()
你看,就這一個漏洞,地表最強的公司之一微軟,反復(fù)堵了四五次,才算是勉強堵明白。
這讓 MJ 很惱火:
本來賽博昆侖的夢想是“高舉高打”——已經(jīng)爆出來的漏洞,你們軟件原廠自己修修好;我門搞一點兒能探測“未知漏洞”的產(chǎn)品,大家分工協(xié)作,多好。 可是這種“原廠修不好”的新聞三天兩頭上頭條,他心里一萬只草泥馬奔騰——已知的洞都沒修好,我他喵的發(fā)現(xiàn)再多新漏洞有啥用?
事到如今,只能親自下場了!
MJ 決定,轉(zhuǎn)變產(chǎn)品研發(fā)思路,增加一款不依賴于原廠補丁,卻能夠防住已知漏洞的產(chǎn)品。
這就是后來的“女媧”系統(tǒng)。
你原廠修郵箱系統(tǒng),可能修好,也可能修不好。 但不管了,我自己當女媧,煉出一顆“銅豌豆”給客戶補上,保證把這個漏洞的所有攻擊面都堵死,不就完事兒了?!
這個畫面,想想還挺霸氣側(cè)漏的。
![]()
“可是,世界上那么多軟件,每個都可能有漏洞,你們一個團隊補來補去,不得忙成千手觀音?”我問 MJ。
“漏洞其實遠沒你想得那么多。一個漏洞爆出來,只要我們初步分析存在攻擊面,可能被黑客真的拿來用,百分之百都會做補丁。而這種漏洞,我們每年只會遇到100多個。”MJ 說。
為了佐證這個事兒,MJ 還給我介紹了一個“暗黑組織”,CISA。
![]()
CISA 是美國聯(lián)邦政府在2018年成立的神秘部門,他們搞了一個法器——“漏洞生死簿”:
每當發(fā)現(xiàn)有黑客在野外利用漏洞發(fā)起攻擊,他們就把漏洞寫在“生死簿”上,敦促廠商按期修復(fù); 如果廠商拖延癥、鬧脾氣,沒能在 Deadline 前修復(fù),那么恭喜你,你會登上聯(lián)邦政府的“黑名單”,以后的政府采購就沒你的份兒了!
注意!
CISA 每時每刻都會對全世界爆出來的漏洞進行分析,但他們的“漏洞生死簿”上只收集真正對系統(tǒng)有威脅的漏洞:
如果一個漏洞看上去很牛X,但是根本不能利用,他們是瞧不上的; 如果一個漏洞可以被利用,但是只能造成“皮外傷”,打不進系統(tǒng),他們也是不要的。
![]()
有些漏洞后面是有“光錐”的,能造成進一步傷害,所以要重點封堵。另一些漏洞無法利用,沒有后續(xù)故事,就可以降低優(yōu)先級。
按照這樣“洞中龍鳳”的標準,每年 CISA “生死簿”的上榜選手只有100-200個漏洞,CISA 成立5年了,總共才集郵了不到1000個漏洞。
MJ 對比發(fā)現(xiàn),自己和小伙伴收集的漏洞列表,和 CISA “生死簿上”的很多漏洞都是重合的。這說明英雄所見略同!
從“網(wǎng)絡(luò)安全治理”頂層設(shè)計的角度看,只要把“生死簿”上的漏洞挨個抵住,滴水不漏,就能讓風(fēng)險極度收斂!
![]()
聊到這兒,我恍然大悟:搓出一顆無比堅固的“銅豌豆”當然牛X;但精準描繪出一本“漏洞生死簿”,知道應(yīng)該為哪些漏洞搓豌豆,才是更牛X的。
我剛要伸出大拇指,MJ 示意我先冷靜。
這里還有個難度更高的功夫——把“銅豌豆”塞進鎖芯里的姿勢。
為啥塞豌豆還要講姿勢?
咱們不妨還回少林寺里繼續(xù)看。
(四)“豆上雕花”和“佛山無影手”
經(jīng)歷了“郵箱廠漏洞沒修好”事件后,方丈決定把全寺所有關(guān)鍵設(shè)施的都檢查一遍,給各種鎖頭統(tǒng)統(tǒng)塞上銅豌豆,以絕后患。
他和 MJ 盤腿對坐,制定完整的“少林補完計劃”。
方丈反復(fù)推演,提出倆疑問:
第一,你這銅豌豆畢竟不是原廠所配,塞進諸多鎖芯,會不會有概率讓我們僧眾正常開鎖也被卡住嘞? 第二,你”修鎖“的時候,不會需要我寺暫時關(guān)門吧?
MJ 笑:方丈的擔心確有道理。不過這兩個問題我早有考量,這些年我練成兩樣功法:
一曰“豆上雕花”。
把銅豌豆上雕出極其精密的凹凸,既覆蓋黑客可能觸碰的位置,又在鎖頭正常運轉(zhuǎn)的位置留出空間,保證補丁打得就像蘇菲一樣無感。
![]()
二曰“佛山無影手”。
可以迅雷不及掩耳盜鈴之勢,在所有人和鎖都沒感覺的情況下,把銅豌豆放置到位。所以,方丈大可正常營業(yè),香客與眾僧該干啥干啥!
![]()
方丈驚訝:“這。。。我寺的生意一秒鐘幾十億上下,大俠可不要打誑語啊!你給說說,究竟怎么做到?”
咱們暫停,跳出來聽中哥幫你科普。
方丈提的這兩個問題,其實代表了很多企業(yè)最關(guān)心的事兒,說白了,就是問:打補丁會不會對我的正常業(yè)務(wù)造成影響?
先解釋一下“豆上雕花”。
話說,如果手機提示你該升級系統(tǒng)了,你大概會不假思索地同意。可是各大企業(yè)的系統(tǒng)升級卻存在一個尷尬的現(xiàn)狀——“沒人敢動”。
啥意思呢?
一般大公司都有幾十年的歷史,它的 IT 系統(tǒng)是過去一點點堆積起來的,其中很可能A系統(tǒng)早已過保,B系統(tǒng)連開發(fā)商都找不到了,C系統(tǒng)是當初公司自己開發(fā)的,現(xiàn)在開發(fā)它的工程師也不知道哪去了。
這些系統(tǒng)拼在一起。。。雖說能夠運作,但是沒有任何彈性——在里面稍微動一動,哪怕打個補丁,改幾段代碼,它都可能死給你看。
假如你是 IT 管理員,壞了就是你的鍋。你敢動嗎?你不敢動。
![]()
“豆上雕花”,就是解決這個問題的。
名義上這是一個“補丁”,但如果拿顯微鏡去看,它的大部分代碼其實和軟件的本體是分離運作的,只在最最關(guān)鍵的一兩個地方像蘑菇一樣銜接。
這種技術(shù)被 MJ 稱為“最小支點防御”。
它對軟件本體幾乎沒有入侵,所以引發(fā)問題的概率極低,不會把企業(yè)的 IT 管理者推到“里外不是人”的境地。
你懂的,這。。。很重要。
![]()
再解釋一下“佛山無影手”。
無論是操作系統(tǒng)還是上層的應(yīng)用程序,運轉(zhuǎn)起來都有點像人的心臟跳動——每個擠壓、收縮的動作都環(huán)環(huán)相扣,沒有停頓的氣口——這時如果硬塞一個補丁進去,是會卡 bug 的!
當然,“最小支點防御”的補丁對系統(tǒng)造成影響的概率比普通補丁小得多,但也不建議“硬塞”。
正確的打補丁做法,應(yīng)該像給心臟做一臺“搭橋手術(shù)”。
你得先讓心臟停跳,然后把要搭橋的位置截斷,在旁邊加入一段血管,連接妥當之后,重啟心臟。
可是這樣一來,打補丁的過程雖然安全了,但程序卻被掐停了。
然鵝,很多關(guān)鍵機構(gòu)都是不能掐停的。。。
比如醫(yī)院系統(tǒng)如果暫停,就會有病人危急;比如軍工系統(tǒng)如果暫停,就會讓國防出現(xiàn)真空。
你看到了么?“補”和“停”,這是一個幾乎不可調(diào)和的矛盾。
而 MJ 的兇狠恰恰在于能搞定這個矛盾。
當然他也沒有魔法,仍然要暫停程序,只不過他會把程序暫停的時間壓縮到極極極短的一瞬間——大概幾毫秒。
不同程序之間的協(xié)作,會把指令排成隊列。如果暫停過長,隊列就會混亂,造成程序沖突; 如果暫停時間足夠短,本來就在容忍的彈性范圍之內(nèi),也就不會導(dǎo)致沖突。
MJ 解釋。
![]()
MJ 告訴我,為了讓“瞬時心臟搭橋”萬無一失,賽博昆侖的小伙伴做了無數(shù)次測試。
而且系統(tǒng)運行中有些代碼跑在內(nèi)存里,打補丁時還需要對內(nèi)存布局進行微調(diào),為此他們甚至對各種內(nèi)存固件版本都做了精確適配,其中的工作量超乎想象。
話說,無論是“豆上雕花”還是“佛山無影手”,都不是那種立地成佛的功夫,而是像“黯然銷魂掌”那樣,需要在漫長的時間里一點點兒修煉。
這些修煉,其實都能追溯到 MJ 在 360 時代的往事。
2014年,微軟宣布 Windows XP 系統(tǒng)正式停止更新。這意味著 XP 的安全以后“本主兒”就不管了,各位用戶自求多福。當時,中國無數(shù)企業(yè)里都跑著 XP,不能靠命硬啊!
于是有關(guān)單位組織了一個“XP 安全挑戰(zhàn)賽”。
各大安全公司分別要為 XP 系統(tǒng)創(chuàng)建一個“保護盾”,然后邀請黑客們進行挑戰(zhàn),看看能不能攻破。
當時,MJ 帶著 360 的老師傅們做了一套“XP 盾甲”,防住了所有攻擊,拿到了冠軍。你看當年的報道↓↓↓
![]()
注意,所謂防住,不僅要對方無法攻擊,連自己藍屏也不行。所以補丁必須做得精細。從此,MJ 萌生了“最小支點防御”的技術(shù)思想。
而在防護的過程中,MJ 也在思考如何讓“XP 盾甲”隨時增加新的防御策略,這就是“瞬時心臟搭橋”的雛形。
從那時開始,“實戰(zhàn)派”的路線逐漸清晰:
真正的大俠,絕不能跟壞蛋扭成一團滾來滾去,桌椅板凳撞個稀碎;而是一刀讓壞人斃命,連在旁邊喝餛飩的路人甲碗里的餛飩湯都不撒出來一滴。
這么多年過去,MJ 他們正是沿著這條路一直走。
不過,他也必須承認一個現(xiàn)實:
即便構(gòu)建了一個宇宙最強護甲,也不是絕對安全;你總會遇到突然爆出的漏洞,成為護甲的阿喀琉斯之踵。
遇到這種時刻,就好似一聲發(fā)令槍響,老師傅們會原地竄出——和黑客賽跑!
怎么和黑客賽跑呢?咱們還是看個例子。
![]()
(五)所有的敵人都是時間
在講微軟 Outlook 的故事時,我故意略過了一些細思極恐的細節(jié):
當時,烏克蘭向微軟提交了漏洞,微軟2023年3月14日發(fā)布了補丁。
這個補丁本意當然是遏制事態(tài),不料卻打開了潘多拉魔盒——僅僅過了兩天,世界各國就開始探測到了針對 Outlook 瘋狂的新攻擊。
補個漏洞,還補出了事兒,這是何原理?
說來簡單。全世界嗜血的黑客,每時每刻都在尋找攻擊一切系統(tǒng)的入口。本來他們沒有把注意力放在 Outlook 上。
補丁一推,他們立刻像野獸嗅到了血腥味,紛紛投來目光。
很快,有人通過補丁反推出了漏洞,進而發(fā)現(xiàn)漏洞并沒有補好,只用了兩天,就做出了新的攻擊武器。
![]()
在無良黑客眼里,沒有道德,只有利益。
錢給夠了,沒什么不能賣。
于是,攻擊武器在地下瘋狂傳播,層層轉(zhuǎn)手,越賣越賤。很快,連小毛賊也拿到了這個核武器。
一場所有人對所有人的喧囂混戰(zhàn)就此上演。
![]()
這時,尷尬的微軟只能手忙腳亂地制作新補丁。
麻煩的事情來了:
微軟是一家軟件開發(fā)公司,不是一家網(wǎng)絡(luò)安全公司,他們的軟件開發(fā)是有流程和排期的。一般情況下,兩個補丁之間的間隔都是一個月;哪怕在這種人命關(guān)天的情況下,也要一周時間才能做出新補丁。
一周時間,減去黑客制作武器需要的兩天時間,等于五天。
這五天,就是黑客的 Party Time——他們瘋狂殺戮,沒人能阻止。
當然,也不是絕對沒人能阻止,MJ 可以試試。
你還記得吧,“女媧”補天用的“銅豌豆”是 MJ 他們自己開發(fā)的,并不依賴官方補丁。
每當一個漏洞報出來,MJ 團隊都會全速狂奔,在24小時之內(nèi)開發(fā)好補丁,然后推送進“女媧”,所有受到“女媧”保護的系統(tǒng)在那一瞬間就具有了對這個漏洞的防御能力。
回到 Outlook 這個漏洞,也不例外。當時一天之內(nèi)補丁就做好了。
由于最早的攻擊武器是漏洞爆出兩天后出現(xiàn)的,比 MJ 他們的補丁還滯后了一天。
事實上,所有被女媧保護的系統(tǒng)在那次攻擊浪潮中都獨善其身,巋然不動。
什么叫和黑客賽跑?這?就叫和黑客賽跑↓↓↓
![]()
當然,MJ 他們之所以每次都跑贏黑客,除了手快以外,還有一個重要的客觀原因:
MJ 團隊并非每次都和黑客站在同一起跑線上,有時他們是可以“搶跑”的。
咋搶跑嘞?
這里,MJ 首先幫我區(qū)分了三種漏洞:
已經(jīng)爆出來的漏洞,全世界都知道——這就是“已知的已知”。 新爆出的漏洞里,大概有20%是全新的。它的“攻擊點位”和“攻擊方法”都是我們以前沒有設(shè)防的,必須從頭開始寫補丁——這就是“未知的未知”。 但在剩下的80%新漏洞里,有一半是由舊漏洞改出來的;另一半雖然不是改出來的,但攻擊的手法脫胎于既有漏洞,對于這80%的漏洞,我們的補丁很有可能已經(jīng)有效,即便既有補丁不好使,也可以通過修改實現(xiàn)快速防御——這就是“已知的未知”。
看個圖你就明白了↓↓↓
![]()
你還記得,在少林寺的故事里王喇嘛使用的漏洞嗎?那雖然是個 0-Day 漏洞,但對于 MJ 他們來說,卻屬于“已知的未知”這一類。
MJ 他們對這類漏洞有一定的“先驗信息”。
這些先驗信息并不完整——知道黑客很可能從這走,但具體怎么走不清楚。
但是,只要根據(jù)這些先驗信息設(shè)計一個足夠精巧的機關(guān),有很大概率可以“捕獲”到疑似的漏洞利用行為。
怎么設(shè)計這個機關(guān)呢?
他們會在可能的黑客攻擊位置布置一些“感知點”。
這些點“只看不動”:
因為不夠確信,如果攔截錯誤,怕影響到系統(tǒng)本身運轉(zhuǎn);但是一旦這些點位被觸動,警報會傳回團隊。
此時 MJ 他們已經(jīng)可以沖出起跑線,人肉調(diào)查一下這個觸發(fā)到底是不是一次真正的黑客攻擊。
如果不是,放過就好;如果是,馬上升級補丁,攔截后續(xù)同類行為。
這一套動作,就像在銅豌豆上長出了一些絨毛,絨毛本身是柔軟的,但是可以收集信息。
一旦確認發(fā)現(xiàn)了新的黑客進攻手法,絨毛立刻變硬,成為銅豌豆的一部分。
![]()
MJ 告訴我,這一套“未知漏洞發(fā)現(xiàn)系統(tǒng)”也有名字,叫“夸父”。
我覺得這個名字非常生動。一瞬間連 Slogan 都替他們想好了:夸父追日,你敢日,我就追。
![]()
說到這兒,MJ 的一整套安全范式已經(jīng)展現(xiàn)在我們面前,我?guī)湍憧偨Y(jié)一下:
1、要想保衛(wèi)網(wǎng)絡(luò)世界的和平,必須堵住一切攻擊的源頭——漏洞。 2、每次漏洞爆發(fā),都是一場“正義力量”和“黑暗力量”的賽跑。“打補丁”的速度必須快于黑客“開發(fā)漏洞武器”的速度,天平才會傾向正義的一方。 3、軟件原廠受制于開發(fā)機制,很難指望他們比黑客出手更快,必須有一群俠客擋在前面,手握“漏洞生死簿”,按照自己的節(jié)奏快速開發(fā)出“第三方補丁”。 4、第三方補丁必須用盡全力才能看上去毫不費力,“補丁運行”和“打補丁的過程”都不能對系統(tǒng)的正常運行產(chǎn)生一絲一毫的影響; 5、絕大多數(shù)“突發(fā)漏洞”都是“已知的未知”,所以網(wǎng)絡(luò)世界并非純粹的黑暗森林。只要提前做出行動,正義力量完全有機會碾壓黑暗力量。
怎么樣,不僅邏輯嚴密,而且很有實操性吧!
這意味著天下要太平了嗎?
當然不是。自古以來,俠客雖然輩出,但天下從未無賊。
任何好的范式,都需要所有與之相關(guān)的人完整理解共同配合,才能實現(xiàn)它最初的設(shè)計目標。
而真正難的,恰是把這套超前的安全范式塞進每個企業(yè)老板的腦袋里。
最后,我們不妨把那個武林故事講完。
![]()
(六)無法卸下的責任
少林寺順利實施“漏洞補完計劃”后,安全無虞。
MJ 也決定作別方丈,拿著銅豌豆云游四方,繼續(xù)拯救天下蒼生。
他星夜兼程趕往崆峒山。但是,崆峒掌門但卻不像少林一樣那么急于求變。
他的理由很簡單:“為了這次大比武,我們已經(jīng)把所有的鎖頭都換成最新版了,也用了“火眼兄弟”的監(jiān)控系統(tǒng),最近一切太平,就先不勞您大駕啦!”
MJ 打斷掌門:“很多官方補丁不能徹底堵住漏洞,監(jiān)控也只有基礎(chǔ)效果,貴派沒有丟東西,不一定是‘王喇嘛’沒有來過,也許他已經(jīng)偷走了你們的秘密,只是你們還蒙在鼓里!”
掌門不悅:“說我被盜,有何證據(jù)?”
MJ 說:“證據(jù)暫時沒有,不過你的鎖確實不安全,我現(xiàn)在就能打開你家的藏寶閣!”
MJ 剛想上前一步,掌門突然手按劍柄:“寶閣里有諸多法器,不便外人叨擾。大俠不必繼續(xù)糾纏了,送客!”
![]()
見此,MJ 只好作揖告退,轉(zhuǎn)身前往青城、峨眉。。。
兩周很快過去,此次演習(xí)落下大幕——武林門派間停止了彼此攻擊測試,世界又恢復(fù)了太平。
可是,世界真的太平了嗎?
金國黑客,當然不會因為大宋的演習(xí)結(jié)束而停止進攻。只是他們來的時候,從不會告訴你。
無數(shù)武林門派的千萬把鎖,仍然暴露在風(fēng)險之中。只待下一次演習(xí)時,李喇嘛、張喇嘛,用刺痛喚醒他們。
這就是故事的結(jié)局。
![]()
一個有點兒悲傷的現(xiàn)實是:
很多企業(yè)并不會因為有人證明它存在漏洞就會增加網(wǎng)絡(luò)安全投入;而是當它已經(jīng)遭受了攻擊時,才不得不采取補救措施。
諱疾忌醫(yī)是所有人的天性,當人們能處理提出問題的人時,就很難強迫自己去處理問題。
由于種種現(xiàn)實,中國漏洞研究者的生存環(huán)境并不好。
可是,網(wǎng)絡(luò)安全就是國家安全,如果他們不逆風(fēng)堅持,千萬企業(yè)華美的罩袍下終究會爬滿虱子。
幸好,一次次的網(wǎng)絡(luò)安全演習(xí)正在緩慢而堅定地改變這個現(xiàn)實:
一方面,攻擊手最終會把血淋淋的測試報告呈現(xiàn)在企業(yè)管理者面前; 另一方面,演習(xí)中失分的企業(yè)也會被問責。由此,更多人不得不從“埋頭鴕鳥”轉(zhuǎn)向“防患未然”。
希望在前,MJ 當然不能停下腳步。
在他看來,自己和小伙伴的工作不僅僅是給中國企業(yè)提供一個更好的網(wǎng)絡(luò)安全范式,更有深重的現(xiàn)實意義。
大多數(shù)人都不知道一個事實:很多外國軟件的補丁,不是你想買,想買就能買。
原因有兩個:
第一,我們不能買; 第二,人家不能賣。
啥叫“我們不能買”呢?
這里得介紹一個背景:咱們國家的關(guān)鍵行業(yè)正在進行軟件的“國產(chǎn)替代”。
所謂國產(chǎn)替代,就是把原來的外國軟件逐步換成中國軟件。可是十幾個行業(yè)上萬家公司,不可能一秒鐘全都切換過來,而是要分批進行。
這就意味著在很長一段時間內(nèi),原來的外國軟件還得繼續(xù)頂著。
問題來了,這時候如果這些軟件出現(xiàn)了漏洞,中國企業(yè)就得繼續(xù)向國外原廠購買補丁。可是在即將淘汰的外國系統(tǒng)上繼續(xù)投入預(yù)算,就很難獲得支持。
啥叫“人家不能賣”呢?
這里就要考慮另一個背景:某國對我們的壓制。
假設(shè),現(xiàn)在 Android 系統(tǒng)爆出一系列極其“好使”的漏洞,可以輕易干掉任何一部安卓機,還不好修。
你覺得漂亮國想讓谷歌把這個漏洞的補丁賣給中國公司嗎?
用膝蓋想也知道,有些機構(gòu)一定試圖阻攔,如果谷歌不聽“勸”,他們也可能動用法律或行政命令——就像禁止芯片出口一樣禁止補丁出口。。。
當時和 MJ 聊到這,我突然驚醒:我們談?wù)摰穆┒矗瑥膩砭筒皇巧唐罚俏淦鳌?/p>
武器雖然也是商品,但終究無法用純粹的商業(yè)邏輯去推演——你有或沒有,也許意味著生死之別。
MJ 給我透露了一點厲害的計劃:
賽博昆侖的小伙伴正在和幾家(人人都知道的)科技公司合作,制作完整的預(yù)案。
一旦漂亮國對補丁實行“斷供”,中國人自己的補丁能夠無縫頂上。
![]()
那么,等國產(chǎn)替代完成后,是不是就萬無一失了呢?
你想多了,當然不是!
“國產(chǎn)軟件”當然也會出現(xiàn)漏洞啊!
而且實話說,由于中國軟件基礎(chǔ)薄弱,用戶相對較少,也沒有全世界的安全研究員進行日常測試,平均漏洞顯然會多于微軟、谷歌這些國際大廠。
更麻煩的是,國產(chǎn)軟件中,有很多用在了極端關(guān)鍵的位置——比如電網(wǎng)控制的核心位置。
出于國家安全的考慮,這些軟件不允許隨便拿出來示人。
這意味著,所有第三方安全測試的人類團隊都沒辦法對這個系統(tǒng)做測試,MJ 也不行。。。
![]()
那它的漏洞由誰來審計呢?難道就放在這里任由黑客想辦法攻進去嗎?
人不行,“不是人”就行了唄!
你還記得吧,夸父是學(xué)習(xí)了頂尖人類專家經(jīng)驗的自動化漏洞發(fā)現(xiàn)系統(tǒng)。放在這干活兒正合適。
事實上,就在不久前,MJ 他們剛剛把夸父布置在一個關(guān)鍵基礎(chǔ)設(shè)施的內(nèi)網(wǎng)中,對這些神秘的軟件進行了一次深度測試。
具體結(jié)果我不方便說,我只能說,有驚人發(fā)現(xiàn)。。。
![]()
這次測試至少證明了兩件事:
第一,不管你愿不愿意直視,國產(chǎn)系統(tǒng)的漏洞就真實地擺在那里。你自己不找,暗處的黑客就會幫你找。 第二,軟件有國籍,但漏洞原理不分中外。夸父在國際大廠軟件中鍛煉的對“未知漏洞”的探索能力,同樣適用于國產(chǎn)軟件。
當然,上醫(yī)治未病。找漏洞重要,不讓新漏洞產(chǎn)生更重要!
MJ 也在和一些公司合作,幫他們建立嚴格的“漏洞管理機制”:
不僅能讓老師傅補漏洞的時候補得更完善,減少堵不住的情況; 還能在研發(fā)的過程中避免批量“制造”新漏洞。
其實,“漏洞管理機制”也像極了一個光錐。
盡早建立,就能用較小代價杜絕后續(xù)無數(shù)風(fēng)險;越拖延,后來就需要付出巨大的代價才能挽回。
![]()
我和 MJ 聊到夕陽西斜。他一看表,說晚上還要跟網(wǎng)絡(luò)安全的相關(guān)領(lǐng)導(dǎo)匯報,匆匆跟我道別,沖了出去。
我走在賽博昆侖的辦公區(qū)里,縹緲的余暉從窗口射入,仿佛來自異世界的裂痕。
我感覺自己走在歷史鏡頭的注視中。
就在此刻,我們的藍色星球上,有能力進行頂尖漏洞研究的人不超過1000個,而其中的中國人,大概有100多人。
而在 MJ 身后,就站著幾十人——他們是這片土地上無可替代的力量。
大風(fēng)起時,手持利劍的人不能后退。
守護山河無恙,本就是俠客無法卸下的責任。
![]()
![]()
愿將腰下劍
直為斬樓蘭
再自我介紹一下吧。我叫史中,是一個傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信:shizhongmax。
哦對了,如果喜歡文章,請別吝惜你的“在看”或“分享”。讓有趣的靈魂有機會相遇,會是一件很美好的事情。
Thx with in Beijing
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.