作為生成計算機可以識別代碼的源頭,源代碼同時也是軟件設計的指導思想,更是解決具體問題的方法,因此其同時也是一款軟件的基石與核心。正式由於源代碼是如此的重要,所以在軟件行業中對源代碼的處理方式,既有象徵着開放與共享互聯網精神的開源模式,同時也有傳統商業邏輯的閉源模式。
前者的代表就是程序員所熟悉的GitHub,而後者的典型無疑就是微軟的Windows系統了。事實上早在1976年,比爾·蓋茨所發表的《Open Letter to Hobbyists》,就奠定了微軟商業軟件的閉源思維模式,而作為這個商業帝國的明珠,Windows系統的源代碼自然是被封鎖在重重的保險之中。
作為這個星球上可能是商業價值最高的軟件之一,Windows顯然不可能沒有賊惦記。日前,海外論壇4chan上的一名用户就放出了一份聲稱是Windows XP源代碼的資料。如果算上今年5月Xbox與Windows NT 3.5的源代碼泄露,這也已經是微軟方面今年被曝光的第二次源代碼泄露事故。
在安全研究人員的初步分析後,認定此次被泄露的應該是Windows XP SP1與Windows 2003的源代碼,並且其中還包含了MS DOS、Windows CE,、Windows Embedded和Windows NT的源文件,並且在應用層還有DirectX、iis、mshtml,以及wininet的代碼。
而至於泄露的途徑,考慮到微軟從2001年就開始通過Windows Research Kernel計劃與高校研究人士和政府機構等,共享Windows系統源代碼,因此幾乎所有這些合作機構都有可能會造成源代碼泄露。而此次這位曝光了Windows源代碼的4chan用户也證實,其實這些資料已經在黑客圈中流傳了很久,這只是第一次正式公佈而已。
秘密之所以成為秘密,是因為知情人是有限的,因此隨着知情人士的增長,保密的難度也就自然變大了。正是因為微軟方面早就已經向相關機構公開了Windows XP的源代碼,所以在做出這項選擇之前,顯然其就已經對泄露做好了心理準備。這或許也可以解釋為何今年再次發生源代碼泄露事件後,微軟的反應相當淡定,僅僅只是表示正在調查了。
事實上,除了Windows Research Kernel計劃之外,其實合作伙伴也同樣是微軟源代碼泄露事件中的“豬隊友”。時間倒退到3年前,在2017年一共有32TB的與Windows相關的源代碼被上傳到了Windows開發愛好者網站BetaArchive,而在這份被泄露的源代碼中,包含了Windows 10的硬件驅動程序、USB以及WiFi協議棧、存儲驅動程序以及ARM平台的OneCore內核代碼。據悉當時泄露源頭是ource kit ,也就是微軟與合作伙伴,如聯想、NVIDIA等共享Windows相關代碼的平台。
相比此次微軟方面的“淡定”表現,如果源代碼的泄露是在意料之外,並且重要性極高,無疑反應就會完全不同了。早在2004年2月12日,Windows 2000和WindowsNT 4.0部分源代碼泄露的消息被公開,由於其中WindowsNT 4.0的代碼非常齊全,甚至可以編譯出絕大部分系統核心文件,因此微軟方面在當天下午就做出了回應。時任發言人的Tom Pilla對此表示,“今天,我們發現Windows 2000和WindowsNT 4.0的部分源代碼非法的出現在互聯網上”,並且還警告到,任何第三方傳播這些源代碼都是非法的行為,微軟將對此採取嚴肅行動。
然而Windows 2000和WindowsNT 4.0都是當時微軟正在運營的主力系統,擁有着極為廣泛的個人與企業用户,因此一旦源代碼被泄露,所造成的影響將不可估量。但作為一個已經早在2014年就結束了官方支持的系統,微軟方面已經不會再對Windows XP提供新的系統安全補丁更新,再加上目前使用Windows XP的用户僅為全部的1.26%,已經成為了絕對的非主流。儘管Windows系統的開發是建立在歷代系統的基礎之上,因此從Windows XP的源代碼中或許也能窺視出如今Windows 10系統的某些特徵,這對於黑客或者從事漏洞挖掘的技術人員而言,無疑是能夠從代碼中分析出系統漏洞。
因此這次源代碼的泄露對於微軟來説,顯然並沒有太多實質性的影響。畢竟Windows XP的時代已經過去,同時微軟對於Windows源代碼的閉源模式,也讓黑客的行為成為了盜竊,這就造成了一切利用被泄露源代碼的商業項目都有了法律風險。所有也導致在相隔了16年後,微軟對於性質類似的這兩件事,在態度上的截然不同。
事實上,Windows的源代碼泄露可能也並不是什麼大事。從商業層面上來説,泄露的源代碼只具備一定的參考價值,並沒有太大的使用價值,就與可口可樂的配方一樣,雖然是商業帝國的重要基石,但顯然並不是全部。而對於黑客來説,龐大的Windows系統也更是債多了不愁,一抓一大把的漏洞讓黑產並不需要依賴源代碼來發現漏洞進而牟利。
當然,就像有句成語所説,“城門失火殃及池魚”,這次Windows XP源代碼泄露最可能的結果,就是建立在針對Windows逆向工程之上的ReactOS,又雙叒叕要倒黴了。可能對於許多朋友來説非常陌生的ReactOS,其實是一個致力於開發免費且完全兼容Windows XP系統的項目,並且為了避免版權糾紛,ReactOS必須明確完全區分並且不衍生於Windows。
因此ReactOS的開發採用了非常典型的淨室技術(clean-room),也就是將研發人員分成兩組,第一組負責對原系統進行逆向工程,分析出其設計要素與思路,第二組則負責開發新軟件。但兩組人員不能直接接觸,以確保“淨室”的封閉性,並實現開發過程與環境的“淨化”,最終規避版權保護問題。
然而在2004年WindowsNT 4.0源代碼泄露之後,事情就發生了一些變化。由於Windows並沒有開源,而ReactOS又做的是克隆Windows系統的工作,這就導致了ReactOS項目必須要自證清白,而為了配合微軟方面的審查,導致其不得不中斷開發配合調查,最終導致項目進展停滯了3年之久。在經過了十多年的努力後,ReactOS如今也已經開始進入落地階段,如果再迎來一次審查,也就意味着未來將陡增變數。
所以説這次源代碼的泄露對於微軟來説,或許並不會有很大的影響,但是對於以ReactOS為代表的克隆Windows系統項目來説,可能就並不是一個好消息了。