偷了『半條命2』原始碼的那小子

湯曉發表於2013-07-21

2004年5月7日早6點,德國小鎮黑林山區舍瑙,Axel Gembe醒來時發現床邊圍滿了警察。全自動武器指著他的頭,耳邊響起一句“快起床,不準碰鍵盤”。

Geme知道他們此行的目的,但睡眼惺忪的,他還是問了原因。

(『半條命2』桌布)

“你被指控入侵Valve公司網路,竊取視訊遊戲『半條命2』,洩露到網際網路上,造成的損失超過2.5億美元,”對方回答到。“穿好衣服。”

七個月前,2003年11月2日,在美國西雅圖,Valve公司主管Gabe Newell醒來時發現公司開發了近五年的遊戲原始碼被洩露到網際網路上。

這個遊戲本應該在幾周之前釋出,但由於團隊開發滯後導致延誤。滯後了12個月。半條命2要推遲釋出,Newell還未承認會推遲多久。這次的洩露不只是經濟上的威脅,也是一個很尷尬的場面。

思考這些迫在眉睫的問題片刻之後,Newell的腦中閃過許多問題。這件事是如何發生的?洩露是從公司內部流出的嗎?團隊中的哪些成員花費多年時間編寫這個遊戲卻又可能在最後關頭危及整個專案?

黑林山區舍瑙小鎮,Gembe 2003年和他父親居住的地方

如果不是內部問題,這件事又是如何讓發生的?有人能夠訪問過Valve公司的網路伺服器嗎?

但是所有問題中最突出的,也是任何一個曾經被盜過東西的人都無可避免會想的問題:這是誰幹的?

反叛者1號

“我進入黑客領域是在自己被病毒感染之後,”Gembe今天說。“那是一個偽裝成魔獸爭霸3金鑰生成器的程式,我愚蠢地執行了那個程式。那是sdbot程式,當時很流行的一款惡意軟體。”

這個年輕的德國人很快意識到他在自己的電腦上安裝了什麼。但是他沒有刪除該惡意軟體,也沒有遺忘,而是對該程式進行逆向工程,檢視它是如何工作的,做了哪些事情。

被控制的惡意軟體引導他進入IRC伺服器。通過追蹤,Gembe能夠定位惡意軟體的操縱者。Gembe沒有舉報這個人,而是就這款惡意軟體向他請教了些許問題。他有了一個計劃。.

“雖然現在我的Steam賬戶上有2000歐元,但是在那時我買不起遊戲,”他解釋道。

“所以為了解鎖那些我想要玩的關卡,我編寫自己的惡意軟體用來竊取光碟金鑰。它立刻成為當時最優秀的惡意軟體之一,主要是因為我開始利用Windows平臺的漏洞編寫一些補丁。”

 

跟隨弗里曼

一發現突破口,Newell的第一個想法是去警局。第二個想法是去接近遊戲玩家。

2003年11月2日晚上11點,Newell在『半條命2』官方論壇上釋出一則訊息,題為“我需要社群援助。”

“是的,已經發布的原始碼是『半條命2』的原始碼,”訊息中他承認。Newell接著概述了Valve公司到目前為止能夠團結在一起的事實。

他解釋道,有人在近三週前登入了他的郵件賬戶。不僅僅如此,公司裡的大部分主機上都被安裝了擊鍵記錄程式。據Newell所言,這些程式是專門以Valve公司為目標所建立,所以這些程式不能被任何的病毒掃描程式發現。

不管是誰做的,這個人聰明能幹,對他的公司非常感興趣。但為什麼要這樣做?

進入地點

雖然不可否認剝削和傷害,但Gembe編寫惡意軟體的罪行是受遊戲熱情驅使而並非利潤。

他最喜歡的遊戲是半條命。在2002年,像很多系列粉絲一樣,Gembe對即將釋出的續集的細節非常痴迷。當時他就產生了這種想法。如果他能入侵Valve的網路,他就可能發現一些其他遊戲玩家不知道的東西。

一個不善社交,在艱苦環境中成長的人,通過吸納社群玩家提供內幕訊息能夠在社群中獲取地位。這值得嘗試。

“我真沒期望能得到什麼,”Gembe說。“但是第一次入侵很容易。事實上是偶然發生的。”

“當時我正在瀏覽Valve網站,查詢我認為可能存放遊戲的可訪問網頁伺服器。Valve的網站對外部來說非常安全,但缺點是他們的域名允許匿名AXFRs,這給了我很多資訊”

AXFR全稱是匿名完整區域傳送,一個用於同步主伺服器資料到備份DNS伺服器的工具。但這也是黑客們用來偷窺一個網站資料的協議。通過傳輸這些資料,Gemebe發現ValveSoftware.com所有子域名。

“在埠瀏覽記錄中,我發現一個很有趣的伺服器,它從Valve網站延伸到另一家名叫Tangis的公司,這家公司致力於可穿戴計算裝置,”他說。

“該伺服器網頁根目錄是公開可寫的,這樣我能夠上傳ASP指令碼到該目錄並通過網頁伺服器執行這些指令碼。Valve在內部網路中沒有對該伺服器使用防火牆。”

Gembe首次嘗試就發現一個無防備的通路可以進入網站。

“Valve的主域控制器使用者名稱為‘build’,密碼為空,”他說。“這允許我找出系統的雜湊密碼。於此同時, Eidgenössische Technische Hochschule Zürich 提供了一個線上的雜湊破解器”,所以我能立刻破解密碼。“

”一旦我完成了那些…那麼,基本上我就擁有了通往這個王國的鑰匙。“

牽連裝置

此時,Gembe並不擔心蹤跡的掩蓋。到目前為止,他沒有什麼要隱藏的。但是隨著探索的深入,他想確認自己是否仍未被發現。

“那時我唯一關心的不被踢出,”他說。”但是我能夠訪問數量無限的代理伺服器,所以我並不擔心。首先,我找到一個可以建立某種隱藏的主機。“

Gembe開始四處查詢遊戲的資訊。他發現了各種遊戲開發的設計文件和備註。這正是他期望查詢的,也是他此行的目的。

過了幾周時間,Gembe意識到Valve內部沒有人注意到他存在於公司網路中。他開始一點點前進。

就在那個時候他點選了下載,獲取了期待已久的遊戲的原始碼。

這太有誘惑力了。在2003年9月19號,Gemebe點選了下載按鈕,偷走了Valve的王冠。

“獲取原始碼很容易,感謝Perforce客戶端的網路效能,但用SourceSafe客戶端獲取遊戲資料卻很可怕,”他解釋道。

“因為這個原因,我編寫了自己的客戶端,該客戶端通過TCP有自己的資料傳輸機制,通過雜湊檢測發生變化的檔案並進行傳輸。”

“遊戲並不能在我的計算機上執行。我對一些程式碼做了修改讓它在一個基本形式下執行,沒有著色器或其他任何裝置,但這並不好玩。還有,我僅僅擁有遊戲開發的主分支。他們有很多開發分支以至於我甚至沒有來得及去檢測它們。”

直至今日,Gembe依舊堅持他不是上傳原始碼到網路的人。但是不可否認的是讓將原始碼給了那個上傳程式碼的人。

“我不這麼認為,”他說。“當然,這有一些吹噓的成份。但我分享原始碼給那個人時,他承諾我不會外傳。但他沒有。”

一旦遊戲出現在BT上,它就無處不在。

“事情已經發生,”Gembe說。“你無法能阻止網路。”

“好日子”

社群對Newell的求助響應不一。有些人對失竊表示同情,其他人感覺被Valve欺騙,因為他們本一直相信遊戲會按計劃在2003年末釋出。

除了一些領導,沒人能提供可能的犯罪資訊。聯邦調查局參與到調查中來,但卻一無所獲。

由於洩露事件,此時Valve公司奮戰數月的的團隊有些不知所措。這個遊戲的開發每月花費公司一百萬美元,而且還遠未結束。此次的洩露不僅造成了經濟損失,而且打消了本已疲憊不堪的團隊的積極性。一位年輕的設計者問Newell,“這會導致公司破產嗎?”

2004年2月15日上午6點18分,Valve的總經理收到一封來自‘Da Guy’的無標題郵件。

郵件在宣稱對數月前入侵Valve網路負責之前,以“你好,Gabe”開篇。

Newell起初不確定是否應該相信這封郵件。但是郵件中的兩個附件只有擁有Valve伺服器特定領域訪問許可權的人才能獲取,這表明了郵件中的資訊是真實的。

在『半條命2』被髮布到網上五個月後,所有領導都不再關注這件事後很久,Newell的人出現在他的門前。

沙地陷阱

Gembe為什麼傳送那封郵件?”因為我對發生的事情感到抱歉,“他說。”我希望他們知道這事是誰幹的,而不希望事情按他們的方式解決。“

但Gembe做的並不止這些。這個年輕人找到了彌補自己罪行的正面方式,對雙方都有利。在一封郵件中,他詢問Newell是否願意僱傭他。

“我那時很單純,”他說。”能在一家遊戲開發公司工作一直是我的夢想,所以我問了他們。希望他們能夠原諒我做的事,主要因為那不是故意的。”

令Gembe驚訝的是,過了一些日子Newell回覆並同意了,Valve對他很感興趣。Newell問Gembe是否願意進行一次電話面試。

這項提議背後的真正動機並不是去評估Gembe是否是公司崗位的合適人選。而是為了讓Gembe坦誠對洩露事件負責。這是聯邦調查局的老套路,通過滿足對方的自豪感來獲取供認。

Gembe雖然有所顧慮,但還是將顧慮拋至腦後。“希望事情向好的一面發展,”他說。“但事實上我並不是很聰明。”

他回憶了與Counter-Strike和Steam遊戲開發者Alfred Reynolds以及Portal作家Eric Wolpaw的電話面試,但他可能錯了。(事實上,Wolpaw說他當時尚未加入公司。)

“首先,他們想知道我是如何黑進他們的網路。我詳細地告訴了他們。然後,他們瞭解了我的經驗和技能。我仍然記得他們對我能說一口不帶任何口音的流利英語非常驚訝。”

三人談論了四十分鐘。在自己的英雄事蹟面前,Gembe所有的愧疚感都消散了。但比起當他收到二次面試時腎上腺素上升,這根本算不上什麼。這將是一次在美國西雅圖Valve總部的現場面試。

設定好陷阱之後,Valve和FBI需要獲取Gembe的簽證(以及他的父親和兄弟,並詢問他們能否一起陪他來美國)。但是他們擔心Gembe一直訪問Valve的伺服器會造成潛在損害。所以FBI聯絡了德國警方,提醒他們這項計劃。

17號高速公路

沒過多久,Gembe醒來時發現自己躺在槍桿之下。他穿上衣服,在武警戰士的護送下擠進他父親家狹小的走廊走下樓。

“在離開前我能弄點吃的嗎?”Gembe問。

“沒問題,”其中一個警察說道。

Gembe伸手拿了一把麵包刀切幾片面包。“屋內所有的警察對我舉起步槍,”他說。

喝了一杯咖啡,抽了一根雪茄,他爬進一輛麵包車尾部,被帶向當地警局。在那裡局長接見了他。局長走向Gembe,看著他說,“我們在你登機前找到你,你有沒有覺得自己很幸運?”

Gembe被警察審訊了三個小時。“他們問的大部分問題是關於Sasser-Worm,”他說,Sasser是一種特別厲害的惡意軟體,該軟體會讓計算機執行易受攻擊的Windows XP和Windows 2000版本。

“由於某種原因,他們認為我和Sasser有關,但我矢口否認。Sasser是當時的大新聞,在一次聯合行動中,其作者Seven Jaschan和我在同一天被突擊搜查,因為他們認為我會提醒他。”

“和他一樣,我的bot也利用了LSASS服務中相同的漏洞,除了沒有讓主機系統崩潰,所以我猜他們認為我給了他漏洞檢測程式碼。當然,我否認了這一點,並告訴他們我從未寫過如此劣質的程式碼。”

警察開始意識到Gembe與Sasser-Worm無關之後,他們開始問了Valve的事。

“我本可以拒絕回答並要求見律師,但我選擇了毫無保留的告訴他們我知道一切,我猜他們很讚賞,”他說。“問我問題的人很喜歡我,因為他說’你並不向其他大部分人一樣是個混蛋。‘那個部門主要負責兒童色情案件。”

“我想當時我對他們很開放,因為我並不認為自己做了什麼錯事。“

Gembe被拘留候審兩週。警察一度認為他不會逃跑後決定將他釋放,條件是在他審訊前三年,每週要向他們登記三次。

我們的恩主

在他等待出庭的日子裡,Gembe努力工作以改善自己的生活。他學成出師,在安全部門找了份工作,負責編寫Windows程式,用於系統安全管理、資料庫優化和伺服器管理。

Axel Gembe的審訊持續了7個小時。儘管期間有《華爾街日報》的人出現,但Valve公司卻沒有人出席。除了安全漏洞,沒有一項證據表明Gembe需要對『半條命2』的原始碼在網路上釋出負責。

然而Gembe承認入侵了Valve公司的網路。法官判他緩刑兩年,他坎坷的童年以及他為改變生活所做的考量為他爭取寬大的處理。

在審判時,『半條命2』已經售出860萬套,它的成功似乎沒有受到2003年11月4號洩露的影響。

現在Gembe 28歲。近十年來,他對『半條命2』的洩露極為後悔。

“我當時很年輕,做了一些自己不該做的事,”他說。“本應該好好利用自己的時間。我很後悔給Valve帶來了困擾和經濟損失。我也很後悔將一些大學作為惡意軟體測試物件,給其帶來經濟上的損失。”

“我對當時我做的所有非法事情感到後悔…我很慶幸在我被捕之前沒做什麼要用我一生來交換的事。”

這個偷了遊戲人是誰?現在Axel Gembe會對Gabe Newell說什麼?

“我想說:我對自己做的事感到十分抱歉。我並非有意傷害你。如果能重新再來,我一定不會那麼做。想到這些仍使我很傷感。我就喜歡就呆那兒,看你做的事,但最後我搞砸了。”

“你是我最喜歡的開發者,我會一直支援你的遊戲。”

(注:限於譯者水平有限,不足之處懇請指正。)

相關文章