勒索病毒爆發後48小時:安全人員的絕命狂奔
合作媒體-界面新聞
郭珈寧/編譯 2017-05-17 09:00

 

剛剛過去的一個週末是對互聯網安全從業者的一場大考。

 

安全從業者像是在和病毒的始作俑者玩一場「貓和老鼠」的遊戲。勒索病毒攻城掠地,襲擊一個又一個國家地區,感染醫院、學校、警察局,甚至連邊檢站也遭到毒手;安全人員像救火一樣研究病毒樣本、提醒使用者儘快修補漏洞,試圖止住蔓延的趨勢,降低用戶損失。

 

情況剛剛好一點的時候,網上又有關於勒索病毒2.0版本的消息出現,使用者「心又提到了嗓子眼」,在這場與勒索病毒的攻防戰中,不少安全人員都徹夜未眠。病毒已經可以達到「載入史冊」的量級了,他們的故事同樣值得被記錄。

 

D1:病毒來了

 

從5月12日週五晚發現勒索病毒開始,360安全監測與回應中心負責人趙晉龍就幾乎沒有合過眼。

 

週五晚上,趙晉龍就陸續在論壇上看到有學校學生的電腦感染了某種蠕蟲病毒,通過Windows系統的445埠,感染使用者資料,勒索比特幣。趙晉龍放下睏意,起來開始搜集資訊,職業本能告訴他,這場病毒來頭不小。

 

淩晨1點半,同事打電話來,說那邊出事兒了。對方是超大型企業,同事的電話堅定了趙晉龍的判斷,這是個很大的事情,得馬上搞定。

 

當時市面上還沒有任何報導,能做出判斷的原因有兩點:第一,在安全界,蠕蟲和勒索病毒是兩個最大的混蛋。蠕蟲會自我複製、傳播性強,現在有些老蠕蟲即使沒有危害了,但依然在活動,一旦發現就像牛皮蘚一樣難以根除;勒索病毒是這幾年的新興事物,在業界被稱為「數位綁票」,破壞使用者資料,給掛一個鬧鐘倒計時,簡單粗暴。

 

現在,這兩個最大的混蛋聚在一起,簡直是暴亂。

 

判斷過後,客戶的問題是當務之急。由於趙晉龍的團隊偏後端,在淩晨1點半時,就有同事趕往「現場」了,他們必須第一時間出現在客戶辦公室。

 

去現場的路上,作為負責人的趙晉龍順帶叫醒了幾個主力同事。安全團隊的同事有個習慣,睡覺不關機、也不靜音,24小時隨時stand by。

 

週六淩晨3點左右,在客戶那裡,趙晉龍的團隊拿到了病毒樣本。在另一頭,360企業安全集團總裁吳雲坤成立了一個臨時的指揮中心,一部分人趕到辦公室、另一部分先線上上辦公、遠端協助。

 

爭分奪秒。淩晨4點多時,360已經給出了用戶材料和簡單的措施建議。比如,這麼大樣本量怎麼能抑制住它的傳播?怎麼能保證主機不被它控制?已經中毒的怎麼清理?怎麼恢復核心業務?

 

結合用戶提出的具體問題,在淩晨5點左右,整個團隊拿出了一個可落地的執行方案。同時,一個臨時的免疫工具出臺。8點左右,官網資訊發佈。

 

據360企業安全集團總裁吳雲坤介紹:「截至15日上午9點,360推送給政企客戶的預警通告更新了8個版本,提供了7個修復指南,6個修復工具。出動近千人,提供上萬次的上門支援服務,超兩萬多次電話支援服務,我們還製作了5000多個隨身碟和光碟發放到客戶上手上,手把手教會客戶修復電腦,配置網路。」

 

一些大型企業也在第一時間重視了該病毒,避免了週一上班時的大規模感染。之前大家擔心,週一上班,將會迎來電腦開機高峰,如果沒有做好預警和安全措施,後果不可想像。

 

好在各地的配合也都高效積極。某銀行在上週六上午六點半就建立了回應群,將免疫工具下發,八點半部署全國防護策略,從網路、伺服器、終端360度無死角,到5月15日早晨十點半,全行無一例感染;南寧市網信辦聯合發改委資訊中心、南寧公安局網安支隊在13日下午召開緊急會議,由網安支隊提供360的第七套解決方案,並由網安支隊刻了600張光碟,由發改委、網信辦、網安支隊一起發放全市各政府企事業單位,整個南寧的病毒感染率極低。

 

對付電腦病毒,頭24小時是戰爭的最關鍵時間。

 

「同行競爭也是存在的。大家都在比誰跑得快,誰會脫穎而出。所以你會看到,很多公司都在輸出各種版本的報告和病毒防治方法。」互聯網安全創業公司白帽匯員工吳明告訴介面新聞記者。

 

吳明認為,做安全企業,一定要對自己和用戶負責。報告一定是要自己驗證過的才能發佈出去。所以在發現勒索病毒後,吳明和他的團隊第一時間做的工作是搭建測試環境、搭建攻擊環境、反反復復做樣本測試。

 

「團隊最開始也是在網上先交流資訊,也通過一些圈內朋友瞭解樣本資源,雙方互相交換。週六開始樣本測試。我們在後來運行樣本時發現,很多細節並不像網上說的那樣。」吳明說。

 

每個樣本檔都有特定的「雜湊」(hash),安全術語特定字串的意思,有點類似一個唯一識別碼。根據不同檔的雜湊,吳明的測試在不同平臺上展開。

 

毫無疑問的一點是,這樣反復驗證反復測試,會影響報告發佈的時間。「準確度是會影響時間,我們是為了驗證與其他人不同的地方,找出差異性。」

 

在最後的報告裡,吳明他們對勒索病毒的重要時間線進行了梳理──從不同時間跨度到各種里程碑事件,那些圈內圈外知道不知道的事情,都被一一盤點了出來。也解答了用戶對微軟的抱怨──微軟早在今年3月份就推過一輪補丁了。

 

D2:2.0版本是個偽命題

 

週六結束,在大家覺得可喘口氣的時候,病毒的2.0版本來了。

 

白帽匯吳明最早看到2.0版本的病毒是週六晚上。1.0版本的病毒有個最明顯的特徵,它有個「隱蔽的開關」,在樣本運行分析完後,吳明發現,通過功能變數名稱解析後,就可以避免感染發生。但是周日淩晨發現的病毒,功能變數名稱解析已經沒有效果了。

 

來勢洶洶的2.0版本基本沒有功能變數名稱,可以直接感染,唯一制止的辦法就是裝補丁。

 

騰訊電腦管家反病毒安全專家徐超認為,人們對2.0版本的病毒有誤解,外界有誇大的成本。最開始說的關於「隱秘的開關」這個問題也並不準確。

 

騰訊的團隊也確實發現了被人改過的樣本,但根本沒有所謂2.0的出現。這個更像一個國外安全人員的口誤,他在推特上發佈了所謂2.0的病毒,後來有人站出來闢謠。

 

根據徐超團隊監控到的內容,原先版本的開關確實是失效了,但並沒有外界說得那麼邪乎,只不過是開關被人改動了。

 

杭州電子科技大學學生James給界面新聞記者提供了一個很有意思的觀點,根據他的觀察,病毒最開始提供的那個功能變數名稱開關,會嘗試連接一個不存在的網站,是病毒開發者為了怕病毒完全失控特意留下的bug,如果連上了就不是加密檔。

 

後來網站被註冊,再後來,病毒2.0版本沒有了這項機制,在任何情況下都會執行加密。

 

最奇怪的是,這個變種病毒是直接修改病毒可執行檔改出來的,並不是把代碼改了重新編譯的。所以James猜想的是,這個2.0版本的人可能不是原作者。極有可能是有人利用了1.0版本聲勢,想趁火打劫。

 

James是在校大學生,他沒有參與任何商業團隊,這種猜測只是憑個人研究興趣。最開始的時候,是隔壁學校做畢業設計的大四同學找到他,檔沒了,James第一反應是很正常,不就是勒索病毒嘛。在網路工程人員的眼中,見多了。

 

不久前,James剛剛破解了一個勒索病毒。上一次比較好破解是因為解密秘鑰存在本地,直接寫個程式就解密了。這次他把解密用的金鑰通過Tor上傳了,本地沒有保留,喪失了通用的解決辦法。但James沒想到這次會形成如此大範圍的傳播。

 

勒索軟體追凶者:我不是第一次見比特幣勒索了

 

勒索軟體追凶者唐平的第一次實戰勒索病毒是在2014年夏天。你現在上網搜索,依舊可以看到一種名為CTB-Locker的勒索病毒曾經兇猛襲擊過網路的戰亂現場:「可怕」、「病毒式襲擊」是當年常見的關鍵字。可當年曾經「兇猛」的CTB-Locker如果碰上現如今的WannaCry才是真的小巫見大巫。

 

2014年,唐平幫一個NGO組織裡的女性朋友支付了比特幣,即使當年病毒來自於郵件,支付比特幣仍然是有效的方法。

 

所有的勒索病毒都長一個樣子,第一綁架你的文件;第二,留下資訊索要比特幣。對於病毒製造者而言,綁架使用者文件成本太低了。那位NGO的朋友一定要付錢,因為她需要檔,駭客索要一個比特幣,大約價值500美元。

 

唐平嘗試開始和駭客對話了。在暗網裡,駭客像現在的客服一樣,開放了一個「人道主義」的對話視窗,進入一個類似sdsdasdwanadnhbfhbagwag.onion這樣的暗網網頁後,唐平找到了對話方塊。暗網位址多由一個亂碼跟上尾碼onion構成。

 

通過Tor流覽器進去後,一般每個中毒者都會有一個ID或者特別的Token,這樣實際上就等於中毒者有一個個人網頁,與客服的聊天內容簡直就像菜市場討價還價一樣簡單。

 

「How much?」「May I have a discount?」雖然沒有議價能力,但還價還是要的。

 

交易成功後,當年還算守信用的駭客給了一個軟體和私密金鑰,可以用來恢復你的檔。

 

唐平早年從事互聯網安全行業,之前在廣州一家小互聯網安全公司工作,2013年春天開始接觸比特幣,後來就長期持有。漸漸地,他放棄了原有的打工生活,專心做起了「勒索軟體追凶者」的工作,有一個同名的個人網站,即時更新勒索軟體的最新動態資訊。

 

他現在平時的主業是幫助一些願意出錢的客戶解決被病毒侵擾的難題。不管是支付比特幣,還是他自己動手解決,反正是對方出錢,他負責消災。來找他的人,經常有一些IT從業者和殺毒軟體代理商。

 

唐平一直按照比特幣市場價+20%的服務費來操作,並逐漸發現這是一門可以賺錢的生意。

 

2015年,唐平的存幣量有400多個,當時比特幣接觸的人還不多。按照當時的存幣量,唐平的收入顯得非常可觀。這兩年,他反倒覺得自己忙忙碌碌什麼都沒幹、人也很焦慮。

 

2017年5月12日,病毒爆發時,業內人士唐平覺得見怪不怪。當晚,一個學生私信他,想2000塊錢解決論文問題。唐平遠程操作她的電腦。然後唐平就看見了那幅後來流傳各大媒體的勒索切圖。

 

 

半個小時後,第二個人又找上門了。唐平最近一直蟄居贛州,很久沒關注病毒了。他跑到微博上搜了下關鍵字,wanna decryptor(劫持病毒解密器),想尋找駭客的蛛絲馬跡,後來發現很多人都在微博發了被劫持資訊。

 

在那幅關鍵的劫持圖上,唐平發現了最關鍵資訊,右下角駭客留下的收款地址,絕大多數和找他求助的學生收款地址是一模一樣的。根據比特幣的特徵,如果使用同一個收款位址,針對不同的綁架者,收款方根本就不可能判斷出是哪台電腦付了款。

 

即使唐平在第一時間在知乎上發了資訊,還是有很多人上當了。近幾年比特幣的火爆,很多人已經掌握了比特幣支付的方法。中間有個人找過來,第一句話就是,「我剛剛付完了款,下一步該怎麼辦?」

 

唐平只好苦笑。

 

截至2017年5月16日,有媒體曝光勒索病毒全球共有136人交了贖金,價值3.6萬美元。「我個人主觀上覺得是個大佬玩膩的工具‧‧‧‧‧‧讓小弟去做破壞級別,完全沒有任何經濟效應」,唐平不理解這種高風險低收益的邏輯。

 

要知道從2016年底到現在,一種名為wallet的勒索病毒,半年不到時間勒索比特幣超過1萬個,而現在比特幣的價格已經接近1萬元高位。悶聲發大財。

 

經驗與總結

 

在回溯整個勒索病毒的對抗流程,每個人都有話想說。唐平認為,這可能只是最普通的一次勒索病毒;但也有從業者認為,在職業生涯中難得一見。

 

360的趙晉龍在採訪時稱,現在自己只想休息。不過「按這個規模和影響人群來看,在很多人的職業生涯內,可能都遇不到第二個這樣的病毒」,所以它值得團隊好好反思。

 

這種大型事件沒有一個組織是準備充分的。大家都是匆忙上場,考量的是團隊厚度和執行力、速度。

 

趙晉龍遺憾的是,在3月份微軟發佈補丁時、4月影子發佈NSA漏洞工具後,沒有更嚴重地督促全社會做補丁修護。當時同事們還曾就討論過,如果拿蠕蟲做勒索,效果一定空前。

 

沒想到同事的話這麼快就應驗了。

 

騰訊的團隊最遺憾的也是這點。這場病毒狙擊戰不是盲打,它是一場可預見的病毒傳播模式,如果如果3月份初選的時候人們能更重視一點就好了。不過人類總是健忘的,需要用這麼嚴重的事件進行網路安全教育。

 

同樣做安全防護的創業公司漏洞盒子員工Gaba告訴界面新聞記者,在病毒爆發後的第二天,很多媒體或者微博上關於這個事情的報導都是錯誤的,從一定程度上講,它加重了用戶的恐慌情緒。

 

漏洞盒子現在還在不停地推出更新包,開始跟進WannaCry蠕蟲的變種樣本。

 

趙晉龍能回憶起來的蠕蟲編號是微軟2006年、2007年發佈的06040、06035、08067。他們的效果和今天的蠕蟲類似,只不過在那個純真年代還沒有勒索軟體。這兩年勒索軟體流行開,才有了今天頭一回蠕蟲加勒索的17010。距離上一次編號已經過去近十年時間。

 

上周,谷歌安全團隊剛剛發佈了微軟的一個內部殺毒程式漏洞,針對的是Win7以後的系統。在securityweek中,標題把這個新漏洞形容為「worst」,用戶流覽網頁時,很有可能受到攻擊者攜帶的惡意程式碼的影響。但鮮有媒體關注。

 

這場病毒的反擊戰什麼時候是個頭呢?在360所給出的官方通稿中,使用了「黑色星期一爽約了」這樣的樂觀標題來形容我們對抗勒索蠕蟲所獲得的階段性勝利,週一受感染機構的增長速度比前兩天明顯放緩。

 

或許外界有點誤解和妖魔化了這次病毒。「只要按照正確的操作手冊去執行,它還是一個講道理、講科學的東西。影響並非不可控。只不過大部分人看到它的時候完全是懵的」,趙晉龍強調,未來這種蠕蟲出現的概率仍然存在,只不過到時候我們應該有更強大的團隊去應對他們。

 

 

以上圖文,由界面新聞授權。

界面新聞只服務於獨立思考的人群,據說全中國最牛的記者都在這裡寫稿。想勾搭他們就速速下載「界面」APP。