如果你關注過信息安全相關的新聞,一定對0 day這個名詞不陌生。它指的是軟件(或系統)中的安全漏洞,這些漏洞已經被人發現,但并未被軟件的提供商所知曉。
最早,x day這種計數法指的是軟件已經公開發售的天數,比如發售的第1天,就叫1 day。被黑客團體借用之后,0 day的意思就成了“尚未公開發售的軟件中包含的安全漏洞”。在軟件的載體從光盤變成在線服務之后,0 day也順理成章指稱各種服務系統中的漏洞。
通常,漏洞曝光得越晚,軟件或系統的提供商給出補丁的幾率就越低,一旦給出了補丁,就會被越來越多的用戶所應用,那么利用此漏洞進行攻擊的成功率就會下降。而0 day類型的漏洞,因為尚未被提供商所知曉,所以就不存在修復的補丁(除非“湊巧”被其它補丁修復),那么被修復的幾率就是零。
在軟件已經定義世界的今天,許多人尚未認識到,我們在享受軟件帶來便利的同時,也處于0 day的黑暗叢林之中。這叢林伸手不見五指,又沒有絲毫規則,在已知和未知的地方,無數人在摩拳擦掌、蠢蠢欲動,在他們眼中,小到你我這樣的普通人,大到跨國公司、政府機構,都不過是待宰的羔羊。
不信?請看看下面這幾個故事。
在過去很長的時間里,大家都不知道,找到軟件的漏洞到底有什么用。比如一個電風扇控制程序,你大概可以找到某個漏洞,越過管理員,操縱風扇的擋位,甚至讓風扇反轉。但是,能做的也僅此而已,它更像某些愛好者的惡作劇,適合出現在肥皂劇中。
事實上也確實如此,在早年,尋找軟件的漏洞更多是一種業余愛好,或者一種在某些極客群體中流行的亞文化現象。有一個現象可以說明這個例子,在那些年,歐洲技術人員發現的漏洞遠遠超過北美的技術人員,原因是歐洲有相對完善的福利制度,父親也可以休很長的產假,于是,他們有大把的時間來鉆研這回事。
在二十多年前的美國,有一家叫iDefense的公司,一直從事“網絡安全”相關的業務,這家公司的員工都是“正經”的IT人員,穿圓領衫,喜歡在沒有窗戶的地下室工作,日常以三明治和能量飲料為飲食,技術也不錯。
然而,這家公司一直在虧損,因為當時大家都不知道“網絡安全”到底意味著什么,它的業務模式更像亡羊補牢,企業已經被黑客盜走資料之后,才想起找專門做這方面業務的公司來救急。但平時,如果有人找到軟件或系統的漏洞,服務提供商并不重視,反而認為這是在給自己找麻煩——你知道就知道了,但不要大肆宣揚,不要敲詐我,就沒事。
所以,經營慘淡的iDefense申請在2001年9月11日破產——這可真是一個好日子,如果恐怖分子劫持的飛機沒有撞擊世貿大廈,它可能就真的破產了。然而9·11襲擊不但推遲了裁決的日期,而且改變了裁決本身。一個月后,一位法官裁定,美國需要更多這樣的公司,所以iDefense不需要強行清算,而可以按照破產法相關條款清算重組。
iDefense等來了英國投資商的60萬美元,用于清算重組。繼而,他們也打電話給之前就表達過興趣的德州買家John P.Watters,告訴他可以用五百萬美元的價格買下公司。
“別做夢了,我跟你們一樣清楚,你們的錢很快就會燒光,到時候再給我打電話吧。”
John預料的沒錯,十個月之后,英國人告訴他,公司馬上就要關門大吉,除非John買下公司的股票。這次John松口了:“我愿意花10美元,買下這間公司。”
2002年8月,John來到iDefense的時候,這家公司已經是風雨飄搖,超過2/3的員工都被裁員了,剩下的二十多個人已經六個月沒有薪水。他們好奇地盯著這個來自德州、不懂技術、滿腦子都是商業的大塊頭,搞不清楚他到底要做什么。
John做的第一件事讓大家松了一口氣,他坐下來,逐個給大家開薪水支票。同時,他還給高級員工提供一個選擇:要現金支票,還是要股權?結果,所有人都選擇要現金,未來到底會怎么樣,大家已經徹底喪失了信心。
當時,iDefense主營的是一套叫iAlert的系統。今天看起來,它其實很簡陋,更像一個黑客與安全愛好者的論壇,大家發現了安全漏洞之后貼在上面,iAlert繼而通知對應的軟件開發商,并收取信息服務費用。當時市面上有很多這樣的生意,價格壓得很低,許多漏洞警報甚至都是免費提供的。在那個時候,指出系統的漏洞并不是什么好生意,甚至可能被大公司以損害名譽為理由告上法庭。對大公司來說,“這些人完全就是把自制炸彈丟進兒童樂園的恐怖分子”,必欲除之而后快。
DCG聯合創始人:隱私將成為更受歡迎的投資主題:金色財經報道,數字貨幣集團(DCG)聯合創始人兼首席執行官Barry Silbert在接受采訪時著重強調了隱私和隱私幣,他認為隱私正在并且將成為一種更受歡迎的投資主題。[2021/4/15 20:20:46]
市場行情如此,iDefense的生意當然不會好。
既然iDefense的員工都對未來不抱期望,John也就得到了大家的共識,你買下了公司,你可以按照自己的想法,隨便折騰。
于是,John真的開始了,他把公司原有的生意做了個180度的大轉折。從生意人的角度,他把問題想得很清楚:iDefense不賺錢,并不是因為技術不行,而是商業模式不對,軟件漏洞的價值沒有被充分發掘出來。在原來的游戲里一共有三個角色:
漏洞發現者,大多數是以安全為業余愛好的家伙,找到結果也是“義務”發在網上交流,博得一些虛名,這些人并沒有得到太多物質回報;
漏洞受害者,也就是軟件的使用者,他們其實并不清楚有哪些漏洞,這些漏洞的危害有多大,往往已經被攻擊了還蒙在鼓里;
漏洞修復者,就是軟件的提供商,對他們來說“多一事不如少一事”,只要漏洞沒有火燒眉毛,就不必著急修復,所以,哪些漏洞應當以什么方式修復,哪些優先哪些落后,都由他們說了算;
所以到了2003年,John要改變整個游戲規則:
對于漏洞發現者,每次為iDefense提供一個漏洞,就可以獲得75美元的獎勵;
對于漏洞受害者,iDefense會把這些漏洞“包裝”好,證明它們的危害性,并按嚴重程度排序,客戶只要訂閱這項服務,就能及時知道自己面臨哪些威脅和隱患,有足夠的時間和動力去督促軟件提供商修復;
對于漏洞修復者,iDefense也會及時提供關于漏洞的最新信息,但形勢已經不是“補不補隨便你”了,不及時修復,就會面臨客戶的巨大壓力;
除此之外,整個生意要玩起來,還有一個關鍵點,如果被發現的漏洞是直接賣給iDefense的,那么在被修復或者被其他人買下之前,它處于保密狀態,iDefense不會公開細節,漏洞的發現者也不能繼續傳播。這樣,訂閱iDefense服務的客戶才會相信,iDefense指出這些“高危漏洞”,至少在一段時間里是可控的。
就這樣,“發現安全漏洞”的游戲,僅僅因為多了iDefense這樣的“中介”,就陡然一變,生出了無數的花樣。2003年,iDefense就把訂閱費從1萬8千美元提高到了3萬8千美元,仍然擋不住熱情的客戶。一個客戶不愿支付每年2萬7千美元的費用,過了一年不得不以45萬5千美元的價格重簽合同。一家政府機構原本的訂閱價格是2萬5千美元,終止合同之后再次上門,可以承受的價格已經到了每年150萬美元……
你或許會懷疑這個游戲的有效性,認為75美元實在不多,所以收集不來多少有價值的漏洞。事實也確實如此,iDefense收集的前1000個漏洞中,許多都是沒什么價值的垃圾。
但是不要忘了,互聯網是沒有國界的。75美元對發達國家的人來說不算大錢,對于不發達國家的人卻意義非凡,每天在電腦前敲敲鍵盤、點點鼠標,就可以讓自己吃飽穿暖,甚至可以讓家人過上優渥的生活。在這筆錢的刺激下,廣大不發達國家涌現出的極具天賦的黑客,成為了iDefense重要的源頭活水。
某種程度上,這有點像石油的故事。在很長的時間里,人類只會收集地面上溢出的原油,其用途也僅限于照明,完全沒有“行業”的說法;一旦發現石油的價值,就會有人熱衷油田鉆探,有人熱衷石油加工……整個行業應運而生,蓬勃發展。
作為這個行業的開拓者,iDefense的歸宿也可以作為行業發展的見證。2005年7月,在John花10美元買下iDefense之后差不多三年,他以4000萬美元的價格,把公司賣給了VeriSign。
在John還沒有賣掉iDefense的時候,他就發現事情有點不對勁。除了軟件的提供商和使用者,還有一些人也對漏洞有興趣。這些人的行為比較古怪,他們愿意支付更高的價格,在每個漏洞的收購價只有400美元的時候,他們可以開出15萬美元的價格收購,要求也頗為特意,“繼續對漏洞保密,不要告訴軟件的提供商和使用者”。
dForce創始人:dForce歡迎第三方整合 DeFi領域需把控風險:dForce創始人楊民道今日在推特表示,我們于8月3日開啟了流動性挖礦,我們歡迎第三方整合,包括YFI大軍。我非常相信聚合(aggregation)的力量,USDx是第一個與貸款協議集成的穩定幣協議。然而,聚合將風險敞口帶到垂直市場上最薄弱的環節;在某種意義上,它也聚合了風險。盡管我們在安全方面進行了所有的審計、測試和努力,但在DeFi中沒有任何東西是防彈的,而yield farming和DeFi都是危險的。不要冒超出你承受能力的資金風險。[2020/8/4]
John改造iDefense的思路,是通過強調軟件漏洞的重要性,最終減少它們。安全漏洞在沒有被廠商知曉之前可以視為0 day,一旦它被知曉,被重視,它就不再是0 day,這樣世界上的0 day就越來越少。但是,看起來還有一些人并不希望消滅0 day,相反,他們希望讓這些0 day保密,在世界上一直存在。
這些人是誰?他們為什么要這么做?
好奇之下,John盤問他們的來歷,這些人語焉不詳,只愿意承認他們是某些承包商。而John拒絕了他們的要求之后,這些人馬上改換說辭,聲稱“暴露漏洞會危害美國的安全,因為軟件的漏洞可以用來監控美國的敵人與恐怖分子。”
原來,這些人是美國政府的承包商。
John始終沒有同意他們的要求,因為在他看來,這屬于“自砸招牌”。如果有朝一日,他的客戶知道iDefense在提供安全訂閱服務的同時,竟然還私藏了一些安全漏洞,信任就會坍塌,生意必然化為泡影。
但是John不知道,“收藏”各種0 day的游戲,其實政府早就已經在進行,甚至比iDefense早得多。
2007年,情報顯示,伊朗正在部署能制造核武器的鈾濃縮裝置。迫于以色列的壓力,美國不得不出手解決這個問題,雖然它在中東已經不堪重負了。
當時的布什政府有兩個選擇,第一,通過外交渠道,但基于美伊兩國的關系,這條路顯然希望渺茫;第二,通過軍事手段,聯合以色列進行軍事打擊,在預測完德黑蘭會有怎樣的反應之后,這條路也是困難重重。
布什告訴他的助手:“給我第三個選擇!”這個選擇既要能停止伊朗的核計劃,消除以色列的憂慮,又不致引起第三次世界大戰,堪稱火中取栗,難度非同小可。
能“擔此大任”的是美國國家安全局的專家Keith Alexander,他的計劃名叫“圣母經(Hail Mary)”。
在布什提出要求之前,Keith他們就已經在著手對付伊朗的核設施。他們已經開發出專門針對AutoCAD文件的病,所以伊朗核工廠的大量設計圖紙都傳回了美國,也“事先收藏”了大量伊朗用到設備的0 day漏洞。但是,他們沒有發動任何攻擊行為,因為根據當時的美國法律,CNA(Computer Network Attacks,電腦網絡攻擊)必須有總統授權才可以發動。所以,當時他們的作為僅限于“獲取信息”。
在總統要求獲得“第三個選擇”之后,Keith提出了他的建議:離心機是用于鈾燃料濃縮的重要設備,其中最薄弱的環節是旋轉軸,轉速太快或者太慢,離心機都會報廢。旋轉軸是由PLC(Programmable Logic Controllers,可編程邏輯控制器)控制,控制軟件來自德國西門子公司。如果能找到一種辦法,讓離心機的轉速失去穩定,而電腦顯示的數據又毫無異常,那么報廢的離心機就不會引起任何懷疑,工作人員只會認為這是意外。
Keith的方案必須用到NSA已經收藏的“0 day武器庫”中的7個安全漏洞,其中4個來自微軟,3個來自西門子。微軟的操作系統應用廣泛,漏洞很容易找到,西門子的PLC控制軟件廣泛應用于世界各地的化工廠、汽車廠,所以也很不難發現漏洞。把這7個安全漏洞組合起來,就可以制作出攻擊程序,按計劃發動攻擊。
為什么要同時動用7個0 day呢?0 day雖然是軟件提供商所不知曉的安全漏洞,但每個0 day的前提、影響范圍、安全隱患卻各有不同。要想達到最終的目的,需要像下跳棋一樣接力完成。打個不恰當的比方,為了成功地遠程在民宅縱火,不但需要利用投影儀的漏洞,讓它長期開著散發巨大的熱量,還需要利用空調的漏洞,讓它預先除濕加溫,也別忘了操縱新風系統不停給室內供應新鮮空氣,操縱掃地機器人把窗簾拽到投影儀旁邊引燃……單獨來看,每個漏洞似乎都不要命,協力組合之后就威力大增。
路透社:交易機器人和算法在動蕩的市場中越來越受歡迎:盡管新冠病疫情爆發導致市場處于高度波動時期,但根路透社報道,新的數據顯示,各種交易機器人和算法在外匯市場上越來越受歡迎。法國巴黎銀行(BNP Paribas)全球外匯自動客戶執行主管Asif Razaq表示:“在市場波動非常大的時候,大多數人都不推薦使用算法。然而我們觀察到的情況卻恰恰相反。我們的算法量每天平均增長150%到200%,如此大的增長是始料未及的。”文章指出,機器人使用量的增加部分是由于一些交易員(比如基金經理)在家工作面臨困難。因此,他們試圖使這個過程自動化。據報道,今年3月,外匯算法在高盛平臺上的使用量較日均水平躍升了約50%。德意志銀行、法國興業銀行和摩根大通的高管對路透社表示,交易機器人的使用也出現激增。一些專家去年也曾提出,交易機器人可能對加密貨幣交易所有害,無論是集中式的還是去中心化式的。他們表示,數字資產固有的波動性使它們更容易受到操縱。那么,在當前的經濟危機中,為什么算法對外匯市場來說是可行的呢?市場人士表示,由于這種極端波動通常不會持續太久,只要交易機器人能夠學習并適應新環境,調整可接受的參數并恢復交易。(Decrypt)[2020/4/18]
對伊朗核設施的攻擊也是這樣,中情局已經找到了“抵達彼岸”的路徑,唯一的問題是,伊朗核設施的電腦都具有“空氣閘門(Air Gap)”,也就是與外界互聯網絡完全斷絕連接。那么,怎樣把制作好的蠕蟲病(攻擊程序)注入進去呢?
到目前為止,外界都還不確切知道,美國和以色列到底是怎樣做到這一點的,真相大概要等到2039年檔案依法解密時才能揭曉。不過大家能確定的是,他們確實做到了。
蠕蟲潛入電腦之后,一方面四處傳播,盡可能擴大感染范圍,另一方面會積極尋找西門子的Step7控制軟件,一旦找到,它會嘗試使用默認密碼(比如admin或者password)——世界上相當多的人是不會修改默認密碼的,就可以堂而皇之地登入控制系統。
登入控制系統之后,它并不會大肆作亂,而是專心尋找164這個數字,如果沒有找到,蠕蟲不會有任何作為。為什么要尋找164呢?因為根據情報,伊朗的離心機分為多個集群,每個集群都由164臺機器組成。專心符合條件的集群,有利于保持攻擊程序的隱蔽性,避免被其他人發現。
在找到特定的集群之后,蠕蟲會首先靜靜觀察十三天,驗證離心機的轉速是不是與之前情報獲得的相符,如果相符,可以確認自己已經進入了伊朗核設施——畢竟這里的網絡是與外界隔絕的,不能回傳信息,也不能聯系后方確認,蠕蟲只能像過河卒子般“勇往直前”。
蠕蟲的攻擊邏輯并不復雜,先讓離心機超速運轉15分鐘,然后正常運行27天,然后讓離心機低速運轉50分鐘,再正常運行27天……周而復始,幾輪之后,離心機就會報廢。不過,最具匠心的一點是,蠕蟲控制離心機異常運作時,還會向Step7發送偽信號,所以在控制臺上看來,離心機的轉速始終平穩,毫無異常。
攻擊計劃剛剛開始不久,美國就進行了新一輪的總統大選,奧巴馬接班小布什入主白宮。相應的,小布什也把這個“絕密”信息告訴了奧巴馬,而奧巴馬也深入參與到這項計劃中來。每次情報顯示伊朗又報廢了一批離心機,奧巴馬就會打電話給小布什,讓他知道“第三個選擇”還在生效。
到2010年初,伊朗8700臺離心機中已經有超過2000臺報廢,而伊朗方面始終找不出問題所在,畢竟從數據上看,一切都正常得不能再正常了。最終,伊朗的核計劃受到嚴重影響,不得不暫停。
奧巴馬在高興的同時,也陷入了憂慮。他的第一重擔心是,蠕蟲會不會被發現?它有沒有可能突破空氣閘門,擴散到其它地方?如果是,那么它很快就會被發現。
奧巴馬的擔心是對的。2010年夏天,不知為何,美國和以色列專為伊朗量身定制的蠕蟲從“與世隔絕”的環境中逃了出來,在互聯網上大肆傳播。據說是以色列人不滿意蠕蟲的傳播速度,設法“加速”了這一過程。當時的副總統拜登也相信這一觀點,據身邊人回憶,當時拜登說“見鬼,肯定是那幫以色列人搞的,他們玩過火了”。
確實過火了,這個蠕蟲病大肆傳播,雖然沒有造成破壞,但還是很快被全世界各地的安全人員發現。盡管一開始大家不清楚它的真正目的——它似乎在專心尋找某種PLC,同時對164這個數字特別感興趣,找到之后卻又長期無所作為,但蠕蟲使用的安全漏洞已經被曝光,微軟立刻發布了修復補丁和緊急通告。之后,有安全人員終于把它和伊朗核設施聯系起來,并驗證了它是為其“量身定做”的。這個之前默默無聞的程序也有了自己的名字,那就是“震網(Stuxnet)”病。Stuxnet,來自程序代碼最開頭幾個字母的重新排序。
動態 | 調查顯示:加密貨幣是美國人第七大最受歡迎的投資選擇:據Cointelegraph 7月23日消息,根據Bankrate 7月17日發布的一項新調查,9%的千禧一代選擇加密作為他們的長期投資選擇,這大約是前幾代人的三倍。 調查顯示,加密貨幣是美國人第七大最受歡迎的投資選擇 ,有4%的受訪者選擇加密貨幣作為最低10年投資的首選。[2019/7/23]
所以,現在輪到奧巴馬的深層憂慮了:一國政府跨越主權邊界,用蠕蟲病攻擊他國,不使用飛機、導彈,卻達到了同樣的效果,這是人類歷史上第一次發生這樣的事情。此事曝光,開了這種先例,其它國家會不會紛紛效仿?美國自己掌握了諸多0 day不假,但反過來,其它國家可能也掌握了大量的0 day,只是因為高度保密,誰都沒有對外公布,也不會交流——但是,它絕對存在。
從這個意義上說,2010年堪稱另一個1945年。1945年,美國在日本投下兩顆原子彈,人類戰爭進入了新紀元,積極研究、制造、擁有核武器成了大家競相追逐的目標。65年之后,所有國家都發現了,噢,原來游戲還可以這么玩!
長期以來,對于信息技術的攻防,美國國家安全局有一種策略,叫NOBUS(Nobody But Us“除了我們沒有別人”)。簡單說,它相信美國的信息攻防能力遠超過其它國家,所以在發現安全漏洞時,簡單的、初級的可以對外發布,交給軟件開發商去修復,復雜的、高級的必須私藏在自己手里,以備不時之需。
然而他們很快發現,這是一個愚蠢的游戲,因為“私藏0 day”的玩家并不只有自己一個,大家都有自己的0 day武器庫,誰也不比誰差多少。甚至,美國因為信息技術高度發達,連入互聯網的設備和服務眾多,反而最容易成為攻擊目標。
2013年8月的某天,中情局局長John Brennan深夜打電話到白宮,詢問“要不要把總統叫起來”。原來他們監測到,來自國外的黑客進入了“鮑曼水壩(Bowman Dam)”,試圖打開閘門放水。這座大壩高75米,長244米,水庫面積14.5平方千米。一旦攻擊得逞,下游居民必然在睡夢中面臨滅頂之災。
“幸運”的是,他們最終發現黑客大概因為不熟悉美國的情況,所以搞錯了目標,真正入侵的是“鮑曼大道水壩(Bowman Avenue Dam)”。這座水壩其實只是一座很小的水利設施,閘門寬不到5米,高不到1米。水壩建成于2013年,由計算機自動控制,根據上游傳感器收集的水溫、流速、水位等信息,自動調整閘門高度。控制程序通過調制解調器接入互聯網,可以被外界訪問。黑客正是在其中找到了一個安全漏洞,發送了開啟閘門的指令。
與“黑客搞錯了大壩”相比,更“幸運”的是,當天這座小小的水壩正在維護,沒有聯線,所以黑客即便發送了指令,也沒有任何效果。但是,這已經足夠讓所有人倒吸一口涼氣了——攻擊美國的基礎設施如此簡單,如果得逞,效果又如此震撼。
2014年,索尼影業制作了電影《采訪》,講述了一個虛構的故事:兩名記者以采訪為名,行刺東亞某國的國家元首。電影準備上映的消息傳出之后,網上有名為“和平衛士(Guardians of Peace)”的黑客組織告誡索尼影業:不要繼續制作這部電影。但索尼影業不為所動。
結果,就在電影上映前夕,索尼影業遭到了黑客的大規模攻擊,盜取了超過100TB的數據,內容包括尚未上映的多部電影的素材。不得已,索尼影業取消了《采訪》的上映計劃。
美國政府視之為對表達自由的危害,但也無可奈何。在網絡安全的游戲里,0 day其實到處存在,誰的IT最發達,誰的網絡最普及,誰受到危害的可能性也就越大。
更糟糕的是,本來進行網絡攻擊是違反樸素道德感的做法,但是今天,軟件和網絡已經定義了普通人的生活,相應的,也就具有極大的隱患。黑客不但盜取數據,也公布了新的一部007的劇本,以及員工的薪酬、社保等信息,當然引發了外界的關注。不止于此,黑客還公布了高層的往來電子郵件,外人可以看到,原來索尼影業的高層私下里大罵安吉麗娜·朱莉是“演技稀爛的寵兒”,并且因為奧巴馬的看片愛好稱他是“種族主義者”。這些八卦引起了軒然大波,索尼影業的聯席董事長Amy Pascal不得不因此辭職。至于網絡攻擊是對是錯,對不起,公眾反而沒什么興趣。
美國人更沒想到的是,自己的0 day武器庫,有一天也會傷到自己。
數字貨幣支付薪酬受歡迎 但仍需克服預算與稅收問題:越來越多的企業使用比特幣和以太幣支付員工薪酬,其中包括Netflix與Airbnb這樣的大公司。數字貨幣支付薪酬迎合了自由職業者的需求,但由于市場波動較大,仍面臨預算與稅收的問題。[2018/3/21]
美國國家安全局保留著許多0 day,并且為這些0 day定制了攻擊程序——這很好理解,如果你的目標是進行網絡攻擊,那么發現一個安全漏洞之后,最好的辦法是,一方面誰也不要告訴,這樣沒有人會察覺,另一方面,針對此漏洞開發攻擊程序,需要的時候可以“一擊致命”。在美國國家安全局的武器庫中,有一款叫做“永恒之藍(EternalBlue)“,它利用Windows自帶的網絡文件共享協議(SMB)發起攻擊和傳播。SMB協議的歷史非常悠久,也就是說,所有使用Windows的電腦都可能“中招”。
2017年4月14日,黑客組織“影子經紀人(The Shadow Brokers)”在網絡上公布了這一漏洞和攻擊程序。有消息說,在此之前,“影子經紀人”曾以此為要挾,與美國國家安全局談判,公開漏洞正是談判破裂的后果。而美國國家安全局在預計談判將要破裂之前,不得已把這個漏洞通知了微軟,所以一直蒙在鼓里的微軟在3月14日緊急發布了修復補丁。
嚴格來說,此時這個0 day已經名不副實,因為微軟已經提供了安全補丁(據報道,微軟對此頗有意見,國家安全局竟然把這個秘密保守了如此之久)。可惜為時已晚,畢竟微軟的安全補丁層出不窮,普通用戶誰會總繃著一根筋,第一時間下載呢?
2017年5月,以“永恒之藍”為基礎的“想哭(WannyCry)”病在網上大肆傳播,病感染電腦之后會對整個硬盤的數據進行加密,要求支付比特幣才能解鎖(然而實際上,病的開發者似乎根本沒有設置解鎖的功能,所以支付了比特幣也于事無補)。
24小時之內,全世界有超過150個國家被病波及,英國醫療系統、德國鐵路系統、法國汽車制造商雷諾、西班牙電信、美國聯邦快遞逐一癱瘓。在中國國內,據公開報道,中石油的大批加油站、多所高校都受到嚴重影響,許多地方的和政府辦公系統不得不被迫停工。
如果說0 day是黑幕之后的叢林游戲,心懷鬼胎的玩家各自為戰,那么對抗0 day則是光明世界的“世界人民大聯合”。“想哭”大規模爆發之后幾小時,全世界的安全機構都開始行動。更讓大家意外的是,安全專家、英國的大學肄業生Marcus Hutchins偶然發現,病會查詢一個不存在的域名,以檢測自己是否處在殺軟件構建的虛擬環境中,如果發現身處其中,則會停止傳播。所以,他花8.29英鎊注冊了這個域名,讓病的域名查詢無論如何都會得到回應,據此“認為”自己一直處在虛擬環境中,世界范圍內的傳播就此中止。
同時,安全人員Adrien Guinet發現,病用來加密數據的應用程序接口存在一個缺陷,所以用于加密的私鑰會一直保留在內存中。如果電腦沒有重啟,則可以用程序讀取到這個私鑰,從而恢復數據。他的發現拯救了大批電腦和數據。
在軟件的世界里,0 day無處不在。在人類的世界里,0 day更像黑暗叢林。
利用0 day發起攻擊,開創了一種全新的,“(大部分時間)無害的攻擊方式”。
各種影視作品和小說中的信息戰,往往強調的是“攻擊程序”,哪怕要提前準備,也要預置后門,或者提前埋伏好間諜程序,無論如何,都需要主動做一些事情。但是從上面的例子可以看到,盡管0 day作惡離不開最終的攻擊程序,但整個游戲里最重要的部分,也是唯一要主動做的部分,其實只是觀察、發現、驗證、收集目標軟件的安全漏洞。
然后,只需要嚴守秘密、靜靜等待,假裝什么也沒發生,既不要驚動對方,也不讓其他人知道(用內行話說,要玩0 day游戲,必須做到可靠、持久、隱蔽)。直到攻擊真正實施前的那一秒,攻擊者的所有作為都是道德上無可指摘的。然而一旦攻擊發起,結果又是致命的。
0 day市場有多大?
托iDefense的福,早已經有越來越多的玩家躋身這一市場。在正常的軟件開發商、軟件使用者、安全漏洞中介之外,還有大量人在苦心孤詣地尋找各種安全漏洞,有些人是為興趣,有些人是政府使命,有些人則純粹是為了賺錢。如今一個安全漏洞的售價早已不是750美元,隨時有人愿意出價幾十萬甚至上百萬美元購買它們。或許在某個第三世界國家偏遠角落的地下室里,就有一雙眼睛盯著電腦屏幕,絞盡腦汁尋找漏洞,只為賺錢改善自己的生活——阿根廷的經濟經歷了長期的衰退,但阿根廷的0 day市場卻非常活躍。
這些安全漏洞被找到之后,有些會通知開發商,有些會被公開,有些會拿到中介市場上要價,有些則被偷偷私藏起來。在尋找安全漏洞的賣家時,有些人講究“盜亦有道”,起碼不賣給恐怖分子,有些人則唯利是圖,只講究“價高者得”,更有甚者,有些人會多次出售同一漏洞。
總的來說,0 day雖然有“市場”,其實更像黑暗叢林,各色人等在其中各自為戰,你可以說他們受到各種規則約束,也可以說他們不受任何規則約束。
在這叢林里,許多問題大概和普通人想的不一樣。實際上,美國政府一開始也低估了叢林的混亂程度,所以每次官方發動網絡攻擊都需要總統明確授權,但他們很快發現,這樣做除了讓自己更被動,所以取消了這項限制。
網上有一種流傳的說法,美國安全機構會和微軟等公司合作,在軟件中“預留”各種后門,這是真的嗎?
看過0 day的故事你就知道,這么做很不現實,因為如果微軟真的這么做了,其實是給自己埋下了威力巨大的地雷:微軟的產品是全世界普遍采用的,誰能保證世界上沒有技術更強的技術團隊?誰能保證這個后門不被發現?誰能保證這個后門不被其它“別有用心”的人利用來對付美國?誰能保證這個后門被其他人“惡意利用”了,美國境內的Windows用戶能第一時間察覺?
如果美國國家安全局發現了0 day,它會第一時間通知軟件開發商修復嗎?
可能會,也可能不會,不必然會。因為一旦通知,哪怕對方沒有及時修復,消息也可能走漏出去,自己的0 day武器庫并不會因此變得更強大,日后想做些事情的手段反而不可能,所以,很可能它會假裝什么也沒發生,哪怕這樣會置美國自身于威脅之中。
2016年,面對輿論壓力,美國國家安全局做了迄今為止唯一一次公開聲明,宣稱它掌握的所有0 day中,91%已經通報給廠商,還有9%沒有通報,其中一部分是因為廠商已經修復,另一部分是基于“國家安全理由”不通報。
而且美國國安局顯然愿意承受“不通知”的風險。2017年肆虐全球的“想哭”病就是基于國安局的“永恒之藍”攻擊工具,以國安局長期以來私藏的0 day為核心的。“想哭”大規模爆發之后,美國政府和民間都遭受了慘重損失。但是,美國國安局并沒有因此公開自己的0 day庫存。
微軟得知了一個0 day,它會通知國家安全局嗎?
很可能不會。嚴格說起來,如果微軟已經知道了安全漏洞,它就不再能被稱為0 day,除非微軟偽裝成不知道,也不修復。這種情況下,通知國家安全局,告訴它們這個漏洞可以用來攻擊,邏輯上似乎可行,實際上困難重重。
原因在于,第一,0 day的發現沒有“贏家通吃”的特性,你發現了,不等于其他人不能發現,你最早發現,不等于其他人不能稍晚發現,甚至可能發現得更早只是沒告訴你。第二,如果假裝什么也沒發生,任由這個漏洞繼續存在,那么國家安全局當然可以擴充軍備,但是另一方面,美國自己的用戶也受到這個漏洞的威脅。對于國家安全而言,為未來對外的攻擊私藏一個漏洞,卻任由本國成千上萬的用戶面對這一隱患渾然不覺,到底劃算還是不劃算呢?
所以,雖然斯諾登揭露了美國國家安全局到處搜刮信息的丑惡現實,卻激發了谷歌等公司提升安全性的決心——在斯諾登事件之后,對于美國政府的深度滲透和嚴密監視,谷歌公開表示“相當憤怒”:他們一面要與外部黑客作對,另一方面,本國政府卻在背后捅刀子!接下來,公司大力擴張安全團隊,尋找安全漏洞,升級系統安全性,甚至干脆自行懸賞征集谷歌系統的0 day。
雖然有證據表明,這些科技巨頭與美國政府確實有某些秘密合作,但認為它們對政府門戶大開、毫無保留,也不符合事實。
有些消息可以從反面證明這一點。大型科技公司和媒體在調查中發現,美國的安全機構也在為神秘黑客支付高額酬金,請他們尋找蘋果、谷歌等公司的安全漏洞。據報道,聯邦調查局曾公開承認,他們付了130萬美元,請黑客找到繞開蘋果公司安全系統的辦法。面對媒體的采訪,聯邦調查局宣稱他們“不知道黑客到底使用了什么漏洞,也不打算幫蘋果修補這個漏洞”。
回到那句話,0 day的游戲是黑暗叢林,大家各自為戰,看起來有規則可循,其實又沒有規則可循。
“與世隔絕”的電腦,是不是可以高枕無憂?
“震網”病已經向我們展示了,“與世隔絕”并不等于“絕對安全”。恰恰相反,許多電腦因為處在“與世隔絕”的內網環境中,被虛擬的安全感所擁抱,因此反而放松了安全警惕,甚至取消了許多日常的安全措施。結果一旦空氣閘門被突破,有任何一臺電腦被感染,病就可以如入無人之境,野火燎原般傳遍整個內部網絡。
不用“外國”軟件,是不是更安全?
憑直覺來說似乎是這樣,然而邏輯的結果不是這樣。是軟件就一定存在漏洞,只不過有些漏洞被發現了,有些還沒有被發現。通常來說,軟件的應用越廣泛、用戶越多,漏洞被發現的幾率就越高,也就越容易被修復。相反,通過行政手段,強行推廣某些未經廣泛使用和驗證的軟件,甚至讓發現漏洞的人身陷囹圄,往往不過是鴕鳥政策,營造自欺欺人的安全感而已。這些軟件有朝一日成為攻擊目標,可能瞬間崩潰,毫無還手之力。
實際上,在iDefense發展的那些年,微軟最先注意到了它。2002年,比爾·蓋茨宣布微軟的首要任務是加強安全性,更提出了“可信賴計算行動(Trustworthy Computing Initiative)”,專門為黑客設立了客戶服務熱線,并在每個月的第二個周二定期發布安全補丁。雖然微軟的產品之前以漏洞百出著稱,但是之后那些年,黑客圈公認“微軟確實在努力改進安全性”,涉及到微軟的0 day的數量和危害性有顯著下降。
同樣,谷歌也在重金懸賞自身系統的0 day漏洞并積極響應之后,大幅提升了安全性。盡管0 day不能徹底消滅,但0 day暴露的頻率和危害性的下降是肉眼可見的。
一句話,軟件的安全性不能靠行政命令來保護,只能頂著漫天炮火一點一滴做出來。
我們該怎么辦?
day攻擊可能來自任何方面,可能漏洞的發現者來自世界的這個角落,掮客來自世界的另一個角落,最終的攻擊者又來自另一個地方。他們不需要彼此認識,就可以互相配合,完成一次嚴重的攻擊。
但是,我們沒有什么好辦法。一方面,在開發軟件時,大部分人想到的都是“如何實現這個功能”,而忽略了去思考“如果有人惡意使用這個功能該怎么辦?”,所以其實留下了很多安全隱患——在追求“用戶體驗”、給用戶提供各種便利的同時,更是如此。另一方面,軟件的功能越來越強大,而我們真正用到的部分越來越少,即便是自己用到的功能,也更愿意圖省事,而不想太多操心。這也就意味著,我們日常使用的軟件,可能(甚至是“必然”)包含大量的安全隱患,具有巨大的作惡空間。
還有另一個因素也需要考慮,那就是軟件行業提倡的“不要重新發明輪子”,它的潛臺詞就是“有現成的輪子就拿來用”。如今世界上已經有無數作為“輪子”的開源軟件,大部分開發如果離開這些開源軟件,基本是不可想象的。但是,就在廣大程序員“放心”引入各種開源軟件時,這些軟件的安全隱患卻往往無人問津。
2014年的“出血”事故就是一個絕佳的諷刺,通過這個漏洞,惡意攻擊者可以獲取服務器上的密鑰、密碼、聊天記錄等等敏感信息。在這之前的若干年里,為保證信息安全,越來越多的網站都升級到加密傳輸協議(SSL)。但是,自己從頭實現SSL無疑是不經濟的,所以業界普遍把開源的OpenSSL組件“拿來就用”。可以說,OpenSSL為全球無數的網站、無數的生意提供安全保護,是互聯網運行的重要基石,但是在很長的時間里,它的團隊很小,只有一位全職開發人員負責維護,其他人都是志愿者,而且分散在世界各地。所以,OpenSSL的安全漏洞,就這樣堂而皇之地“嵌入”了無數的網站、無數的生意。在它被安全團隊曝光之前,或許早已在地下傳播了很長時間。
所以,從過往經驗來看,要確保信息安全,消滅0 day,只能擺脫黑暗叢林,暴露于陽光之下,靠安全人員和開發廠商的通力合作。因為軟件的特性,0 day通常只能被擁有源代碼的開發者所修復。所以一旦發現0 day,告知原開發者是最有效的辦法。
實際上,開源世界也有應對0 day的辦法,那就是CVE(Common Vulnerabilities and Exposures,公共漏洞及暴露)。它創建于1999年,是由美國國土安全部資助,由MITR Corporation(非營利組織)維護的,收集了所有已公開安全漏洞數據庫,其中每一個都有自己的全球唯一標識符(CVE-ID),并且可以被引用。今天,CVE 這個術語已經被廣泛接受,大家都會用“一個CVE漏洞”的說法。比如“想哭”病利用的0 day,對應的編號就是CVE-2017-0143,在CVE的數據庫里可以清楚查到它相關的全部信息。
當然,單憑CVE是不夠的。0 day暴露之前,可能有不少人在暗處密謀,而暴露之后,會有更多人想要從中漁利。那么,如何暴露漏洞,又不擴大損失,就需要一套做法。
在開源社區中已經摸索出了一整套做法,以前,它叫做“負責任的揭秘流程(Responsible Disclosure)”,現在叫做“多方協調的漏洞揭露流程(Coordinated Vulnerability Disclosure)”。簡單說,就是在發現安全漏洞之后,所有利益相關方經過協調,商量出一個修復期限。
在漏洞修復之后,可以公開細節,但是在這之前,應當絕對保密——哪怕是對本國的安全機構也是如此,你可以說這是江湖規矩,但對于廣大具有社會責任感的安全人員來說,這就是最大的“大是大非”。因為知道的人越多,安全漏洞被人用來作惡的可能性就越大,一旦自己發現的安全漏洞被人利用,某種意義上自己也就成了幫兇。
除此之外,還有更好的辦法嗎?我不知道。
參考資料:This Is How They Tell Me the World Ends: The Cyberweapons Arms Race. by Nicole Perlroth
ZORA是一種去中心化協議,其實現了任何人都可以在其中無許可地買賣 NFT。ZORA創建了一系列工具,使開發者可以輕松開始構建.
1900/1/1 0:00:00曾經在加密世界此詫風云的明星機構,正拿著被清算的號碼牌。加密市場陷入恐慌,利空正逐漸兌現。Luna 崩盤、Celsius 資不抵債、stETH 脫錨…… 伴隨著一系列的壞消息,市場不斷觸及新低,
1900/1/1 0:00:00本輪場熊市對比特幣和以太坊造成了非常嚴重的打擊,二者的當前價格都低于上一輪周期的最高價。許多鏈上和市場表現指標達到歷史偏低水平。2021-22?年度的所有投資者均陷入未實現虧損.
1900/1/1 0:00:00Twitter的創始人Jack Dorsey公開稱:“Web3的VC們可以洗洗睡了”。“有的投資人炒幣都財富自由了。”李瓊告訴融資中國。在幣圈,有大批投資人信徒.
1900/1/1 0:00:001.DeFi代幣總市值:354.3億美元 DeFi總市值 數據來源:coingecko2.過去24小時去中心化交易所的交易量:53.
1900/1/1 0:00:002021 年,Chris Dixon 寫了一篇關于創作者如何使用NFT來貨幣化他們的“1000 名鐵粉”的文章。從那時起,NFT 用例成倍增加.
1900/1/1 0:00:00