WannaCry勒索病毒關乎的是商業模式
編者按:過去的一個週末所有人都被WannaCry勒索病毒搞得神經兮兮,甚至有單位在星期天還在網上緊急發消息讓大家務必不要上網。但究竟誰應該為這種勒索病毒的發作負責呢?是操作系統有漏洞的微軟?還是發現漏洞不報的NSA?還是不捨得升級的用户?知名科技博主Ben Thompson認為,其實這些只是商業模式錯配系統性崩盤的表現。
據估計,受“WannaCry”勒索病毒感染的計算機數量將近有20萬,而且隨着新變種(原先的病毒已經被安全研究人員偶然殺掉了)的出現,這個數字預計還會上升。對於這些計算機的用户和管理員來説,對這個病毒的名字所提出的問題,他們的答案是真的很想哭。
WannaCry屬於惡意軟件的一種——“勒索軟件”。這種軟件會對計算機的文件進行加密,然後要求付費來進行解密。勒索軟件並不新鮮,但WannaCry的破壞性在於它是基於計算機蠕蟲開發的,後者也是惡意軟件的一種,會複製自己到同一網絡(當然這個網絡也包括互聯網)的其他計算機上。
蠕蟲一直都是最具毀滅性的惡意軟件類型之一——也是最著名的惡意軟件類型:哪怕是不懂技術的讀者可能都聽説過Conficker (2008年發作,估計造成了90億美元的損失),ILOVEYOU (2000年,估計造成了150億美元的損失),或者MyDoom(2004年,估計造成380億美元損失)。可以列舉的還要很多,但是最近幾年就沒那麼多了:2000年代是蠕蟲肆虐的最佳時機,帶Windows XP操作系統的數億計算機都開始上網了,這個操作系統的不安全到可怕的地步,而操作它的用户習慣於點擊欺詐病毒然後位置付費以便讓可怕的彈出窗口走開。
從Windows XP Service Pack 2開始,微軟對安全的態度變得認真多了,網絡管理員對於鎖定自己的網絡也變聰明瞭很多,而用户至少變乖了點,知道不該點的東西不要點。儘管如此,正如上週末的事件表明,蠕蟲仍然是個威脅,而且就像以往那樣,每個人都想找個替罪羊。但這次卻有了一個有趣的新目標:美國政府。
WannaCry時間線
微軟總裁兼首席法務官在微軟博客上面並沒有任何的拐彎抹角(“WannaCrypt”是WannaCry的另一個名字):
引用始於英國和西班牙的惡意軟件“WannaCrypt”迅速在全球傳播,阻止用户訪問數據除非他們用比特幣支付贖金。攻擊所利用的WannaCrypt漏洞源自從NSA偷來的漏洞。這個盜用在今年早些時候曾經有過公開報道。1個月前的4月14日,微軟已經發布了安全更新對這一漏洞打補丁來保護客户。儘管這個可以保護打開Windows Updates的更新的Windows操作系統,但全球仍然喲葷多計算機沒喲端上補丁。因此,醫院、企業、政府和家庭的計算機都受到了感染。
Smith提到了幾個關鍵日期,但把時間線搞對很重要,所以讓我根據個人了解總結一下:
- 2001年:上述bug首次被引入Windows XP,從此駐留在Windows的每一個版本
- 2001至2015年:NSA在這中間的某個時候發現了這個bug,然後開發了一款名為EternalBlue(永恆之藍)的漏洞利用程序,NSA可能用了永恆之藍,也可能沒用。
- 2012至2015年:據稱一位NSA承包商偷走了NSA黑客工具庫超過75%的工具
- 2016年8月:一個名為ShadowBrokers的組織公佈了宣傳出自NSA的黑客工具;該工具似乎出自Equation Group
- 2016年10月:上述提到的那家NSA承包商被指控偷竊NSA數據
- 2017年1月: ShadowBrokers將若干Windows漏洞利用程序放出來賣,其中包括了一個針對中小企業的零日漏洞利用(類似WannaCry裏面的“永恆之藍”),售價為250比特幣(當時相當於22.5萬美元)
- 2017年3月:微軟在沒有大張旗鼓的情況下對若干bug打了補丁,但是沒有透露是誰發現的,這其中就有永恆之藍,似乎是NSA向他們發出的警告
- 2017年4月:ShadowBrokers發佈了新的一批漏洞利用,其中包括永恆之藍,也許是因為微軟已經對它們打了補丁(尤其是極大降低了零日漏洞利用的價值)
- 2017年5月:基於永恆之藍漏洞利用的WannaCry發佈,在其“殺戮開關”被無疑觸發前擴散到了大約20萬台計算機上;預計會有新的版本出現。
顯然,惡意軟件作者需要承擔WannaCry的最終責任;希望他們最後會被逮住,並且按最大量刑起訴。
但這之後的事情就有點陰暗了。
責任擴散
這條時間線第一件要觀察的事情是,就像所有的Windows漏洞利用一樣,一開始要歸咎的是微軟。是微軟開發了缺乏健壯安全模型的Windows,尤其是網絡方面,儘管這家公司已經做了很多工作去修補,但許多根本性的缺陷依然還在。
那些缺陷裏面並不是所有的都是微軟的過錯:對個人計算機的默認假設一直都是讓應用無拘無束地訪問整台計算機,所有限制的嘗試都遭致抗議的浪潮。iOS建立了一種新的模式,應用被放進了沙盒裏面,僅限於通過精心定義的鈎子訪問操作系統並對其進行擴展;但這一模式只是因為iOS是新的才有可能。但Windows卻相反,它全部的市場力量均源自於市場現有的應用羣,也就意味着過度放寬的權限無法在不破壞微軟商業模式的情況下逆向撤銷掉。
此外,事實上軟件是很難的:bug不可避免,尤其是想操作系統這麼複雜的東西更是難免。所以微軟、蘋果以及基本上任何盡責的軟件開發者都會定期發佈更新和漏洞修復;產品事後可以修復這一事實,不可避免地跟為什麼它們需要第一時間加以修復是關聯在一起的!
為此,需要指出的是,微軟在2個月前並沒有修復這一漏洞利用,了解這一點很重要。任何應用了3月份的那個補丁(默認情況下是自動安裝的)的計算機都可以不受WannaCry的影響;Windows XP是個例外,但2008年微軟就已經停止銷售該操作系統了,並且在2014年停止了對它的支持(儘管如此,微軟上週五還是發佈了針對該漏洞的Windows XP補丁)。換句話説,管理自己計算機的最終用户以及IT組織也一樣有責任。僅僅是保持更新關鍵安全補丁就能讓他們保持安全了。
儘管如此,保持更新的代價依然很高,大型組織尤其如此,因為更新會破壞東西。這個“東西”也許是關鍵的業務線軟件,可能會來自第三方供應商,外部承包商,或者自己內部寫的;這些軟件如此依賴於特定的OS版本本身也是個問題,所以你也可以把責任歸咎到這些開發者身上。硬件及其關聯的驅動程序同樣如此:比方説有個故事説的是英國的國民醫療保健體系的MRI和X光機器只能運行在Windows XP上面,這是那些機器製造商製造的一個致命的錯誤。
簡而言之,要指責的有很多;但有多少要歸咎於這條時間線的中間段——政府的呢?
政府的責任
Smith在那篇文章寫到:
引用這次攻擊提供了政府囤積漏洞如此成問題的又一個例子。這是一種出現在2017年的新興模式。我們已經通過WikiLeaks看到CIA保留的那些漏洞,現在從NSA偷來的這一漏洞已經影響到全世界。政府手上的漏洞利用一而再再而三地西樓到公共領域,導致了損失的廣泛擴散。常規武器的一個相同場景是美軍的戰斧導彈被盜。
坦白説,這樣的比較方式是荒謬的,即便你想引申一下,説WannaCry在醫院等地方的影響其實是有可能造成實際傷害的(儘管比一場武器戰爭造成的傷害要小很多!)
首先,是美國政府製造了戰斧導彈,但這個bug卻是微軟自己製造的(金邊不是有意為之)。NSA做的只是發現了這個bug(然後利用了這個漏洞),這個區別很關鍵。尋找bug是很艱苦的工作,需要大量金錢和精力。那麼為什麼NSA煞費苦心要做這件事情就值得考慮了,而答案就藏在他們的名字裏面:國家安全。還有,正如我們在Stuxnet(震網病毒,破壞了伊朗的核設施)等例子中看到那樣,這些漏洞利用可以是非常強大的武器。
根本問題是這個:堅稱NSA應該馬上交出漏洞利用,實際上與要求NSA不要第一時間找出bug無異。畢竟,打上補丁的bug就沒那麼有價值了,不管是從(ShadowBrokers發現的)財務上來説還是從軍事上來説均如此,這意味着NSA將沒有理由投入時間和金錢去尋找漏洞。換句話説,替代的方案不是NSA在幾年前應該通知微軟永恆之藍的事情,而是讓那個漏洞繼續不打補丁更長的時間(也許中國、俄羅斯等其他國家也會發現,畢竟NSA不是唯一一個尋找bug的組織)。
實際上,政府方面真正需要吸取的教訓不是NSA應該告訴微軟的QA團隊,而是發生(永恆之藍)泄漏這件事情:所以就像去年我就蘋果與FBI之爭的觀點一樣,政府通過命令或者賄賂的方式(而不是發現現有的漏洞利用)弱化安全的努力是錯誤的。這種方式跟Smith筆下的戰斧導彈比喻更加契合,而鑑於攻擊傳播的無差別和即時性,因為這種做法受害最深的國家恰恰是那些可輸掉的東西最多的國家(這次事件中國、美國和俄羅斯受害者最多)。
商業模式的責任
儘管如此,即便美國政府需要被指責的地方沒有Smith説的那麼多,與這些安全災難將近20年的纏鬥表明這裏存在着一個系統性的失敗,我認為這得回過頭來追究商業模式的責任。除了各種技術和戰略層面的因素以外,軟件的致命缺陷在於,在這個行業的前幾十年時間裏,軟件是按照預設價格出售的,不管是軟件包還是授權的模式均是這樣。
這就導致了各方有問題的動機以及糟糕的決策:
- 微軟被迫支持多套不同的代碼庫,這個代價非常高昂而且困難,與任何財務激勵都沒有關係(因此,比方説,才會有了終止對Windows XP的支持)
- 第三方供應商堅持把特定版本的操作系統視為固定不變的對象:畢竟,Windows 7不同於Windows XP,而這意味着指定只能支持XP是可能的。此外,鑑於第三方供應商並沒有升級自身軟件的財務刺激(畢竟錢已經拿到手了),他們的這種做法只會變本加厲。
- 最成問題的影響在買家身上:計算機和相關軟件被視為資本成本,也就是一次性付錢然後隨時間來折舊攤銷掉作為購買價值的實現。按照這種觀點,持續支持和安全是獨立於現有價值的額外成本;為此付錢的唯一理由是避免將來受到攻擊,但發生的時間窗口和潛在的經濟傷害是不可能預測的。
真相是軟件以及安全永遠都是未竟的事業。這樣一來一次性付費就沒有意義了。
SaaS作為拯救者
4年前我寫過為什麼訂閲制對於開發者和最終用户來説都要更好,其背景是Adobe從軟件套件模式的轉移:
那篇文章説的是將Adobe的收入與用户獲得的價值進行更好的匹配所帶來的好處:服務的價格變低了,但隨着時間的轉移Adobe從中析取的價值與交付給用户的價值卻更加一致。還有,正如我指出那樣,“Adobe有很好的動機去維護應用,因為這樣可以減少客户流失率,而用户則永遠都能得到最新版本。”
這正是好的安全之必須:供應商需要保持自身應用(微軟的情況就是操作系統)更新,而最終用户需要一直使用最新版本。此外,把軟件當作服務來定價意味着它不再是資本成本,也就沒有了隨之而來的一次性付費假設:相反,這是一項包括維護在內的經常性支出,不管是由供應商還是最終用户來出(或者可能雙方都要出)。
軟件即服務,以及這一類服務的湧現,加上更寬泛的雲計算,我當然認為這些是我們可以樂觀的唯一最大的理由,WannaCry只是一個糟糕商業模式的苟延殘喘(儘管消化掉所有的沉沒成本並且所有資產全部攤銷完畢可能還需要很長一段時間)。從長期來看,一般的企業或者政府在本地跑任何軟件,或者在任何設備上存儲任何文件都是沒有什麼理由的。一切都應該放到雲端,不管是文件還是app,然後通過持續更新的瀏覽器來訪問,按照訂購制付費。這樣一來激勵機制就都歸位了:用户同時為安全和實用性付費,而供應商也有動機去賺取。
就圍繞而言,這家公司很長一段時間以來都在朝着這個方向演進:這家公司不僅把增長聚焦於Azure和Office 365上面,而且甚至其傳統軟件也一直是通過訂閲式的產品來貨幣化的。儘管如此,這種以云為中心的模式對用户的鎖定還是弱很多的,而在設備和服務的靈活性方面則要高得多:事實上,對於微軟來説,儘管Windows安全問題實在令人頭痛,但這些問題不可避免地要跟微軟成為有史以來最賺錢的公司之一綁定在一起。
剩下的一大挑戰將是硬件:軟件使能設備的商業模式可能仍將是預付制,這意味着做安全是沒有激勵的;其代價將輸出給像Mirai這樣的僵屍網絡的目標來承擔。這方面預計不會有什麼進展,會歸咎到多方,這正是這類錯配的商業模式導致的系統性崩盤的特點。
資料來源:36Kr