當Conficker在2008年11月出現時,資安專家們對它實在摸不著頭緒。它針對微軟視窗作業系統的一個重大安全漏洞發動攻擊,並以驚人的速度擴散,在幾週內就攻下全世界數百萬台電腦。

Conficker的設計者厲害無比,它在這隻蠕蟲上採用最強力的、連政府與國防等級電腦也還未採用的先進加密技術、能夠「自動更新」最新版本、被侵入的電腦等於是被它支配並且再也無法藉著防毒軟體更新的方式掃除;同時,它對於世界上那群意圖以「誘捕網路」攔截病毒的資訊專家常用的防衛技術瞭若指掌,所以蟲與蟲之間,甚至還配備著「數位金鑰」謹慎溝通──更重要的是,沒人知道這隻操控全球許多連網電腦的蠕蟲主人究竟想要幹嘛?

T.J. 坎帕那收到新電腦毒蟲的消息來自四面八方:有即時訊息,有電子郵件;像是SRI(美國史丹佛國際研究中心)的菲爾.普瑞斯;開發諾頓防毒軟體的賽門鐵克公司防毒專家;iDefense的網路安全宅客;來自芬蘭的資安公司F-Secure;還有其它很多很多。而這只是Conficker現形的第一個晚上。

「嗨,有件事真的很奇怪。」

「有狀況。」T.J.並不意外。他知道怎麼了。長久以來,他期待會有這樣的蠕蟲出現。

他是微軟數位犯罪單位的資安防治經理,也就是說他身處無止境的戰火之中。由於視窗是全球最主要的電腦作業系統,也就成了那些要去惡意滲透、摧毀、剽竊、劫持電腦的人最大的目標。微軟不僅要開發、行銷作業系統與軟體,也越來越投入這場不止息的戰爭。這可是高手的對決。惡意軟體已是個跨及全球的產業,用各式各樣手法欺詐微軟的用戶,由粗糙直接的色情誘惑、詐騙伎倆,到像這隻蠕蟲般的細緻複雜,意圖迅速、安靜地建置大規模的機器人殭屍網路。

T.J.的使命是要去阻斷它們持續的攻擊,抓出背後主謀。他與同事力圖主動出擊。他們試著在惡徒利用軟體弱點大幅攻擊前,就找出危險所在,加以修補,這也是他們這次的目的。

2010年我與T.J.見面時,他頭上戴著藍底繡有「FBI」(美國聯邦調查局)金色字樣的球帽。他坐上這個位子,不是靠他對技術的興趣或是能力,而是他想抓壞人的慾望。1990年代他在佛羅里達州立大學過了閒散的九年,自認享盡那個又濕又熱校園的社交生活,拿到犯罪學的大學文憑,又繼續得到資訊科學的碩士學位。這個學門不僅與電腦有關,他當時就多有涉獵數位網路。快畢業時,他申請聯邦執法單位與情報機構的工作。 由於他期待自己能「造成影響」, 他最想去中情局工作,但一位朋友覺得他的資歷也會讓軟體公司有興趣。T.J.在學校的最後幾年,他在某一科系兼職擔任IT助理。他由支援電腦桌上軟體開始,一路發展成為整個科系的系統經理。

影音檔案需要大量儲存空間,盜版玩家因此常常駭入大型電腦網路,將盜版影音檔放在沒人注意的角落。他掌握了比平常再多兩倍的頻寬,因此可以去建構誘捕網路,以研究快速增長的網路犯罪是如何進行攻擊的。他學到很多駭客入侵網路的手法……,也看了不少免費的電影。他並沒有真正去竊取這些檔案,這些檔案早就被別人偷了……他也因而對方興未艾的網路犯罪世界有了具體了解。

T.J.對電腦與網路的專精讓他成為近乎全職的資訊工作者,不僅要安裝機器、測試應用程式、建構校園網路,他也開始為系上處理日益增多、複雜的網路攻擊。這喚醒了T.J.心中隱藏的蝙蝠俠。他學會使用「閘埠映射」(port mirror)等監視工具去捕獲、追蹤入侵者。這樣的工作有趣地令人著魔,可以去跟惡棍亦步亦趨地鬥法,很快地他對尋常的資訊工作以及課業的興趣遠遠不及對打擊犯罪的興趣,因此他想去當聯邦幹員,真正去抓壞人。但聯邦幹員的工作非常搶手,尤其在2001年911事件後,美國大學校園的愛國熱情高漲,更是競爭激烈,為了確保有工作機會,他在微軟到校徵才時也投了履歷表。他當時甚至沒把微軟的整場說明聽完就離開。因此,他次日收到邀請參加審核面談的電子郵件時非常意外。

其後,他經歷了在北卡羅萊納州一輪由早到晚嚴苛的面談,幾個月後,就在他結婚的前一天,微軟聘用了他。T.J.很快就由企業網路工程支援部門轉調到安全部門,當時微軟越來越重視這個問題。惡意軟體一路快速成長,這份工作讓他十年來隨時緊盯破壞資訊安全之徒,相互對壘作戰。

就像微軟一樣,惡意軟體本身也開始走向專精化。T.J.發現很多新手法,像是預載漏洞攻擊(prepackaged exploits),它就像一輛闖空門的車子,可以將任何想送進去的犯罪手法都裝載上去。這些漏洞攻擊套件銷售給發送垃圾郵件、竊取資訊等形形色色的盜賊,他們因此不再需要具備艱深的駭客技能就可以開張作生意。

這也代表任何一個新發現的漏洞攻擊手段不只可以創造一種新的犯罪方式,而是很多種,因而讓它的發明人收益增多很多倍,而所謂漏洞攻擊本身又根本不算是犯罪行為。要起訴發明惡意軟體的人就好像你沒法去追討美國手工具大廠百得公司(Black & Decker)一樣,不能因為小偷用百得產製的工具打開保險箱,就認為百得有罪。全球各處現在都有軟體高手找尋視窗作業系統的新弱點,發展出漏洞攻擊手法,並將這套發明賣給技術能力不行的壞蛋。機器人網路是新近的大趨勢。大多數網路欺詐行為的報酬率都很確定,實際上當而寄錢的電腦用戶百分比或許不高,但如果主使者的網撒得夠廣,到手的回收絕對不小。就算電腦螢幕上常有訊息提醒用戶小心,微軟估計有百分之五的電腦用戶還是會上當去下載、感染惡意軟體。有些社群網站上的「釣魚」(phishing)攻勢試圖讓用戶提供個人資料、信用卡號碼等資訊,成功率會達七成。也因此確定能接觸到大量電腦的漏洞攻擊程式確實是很有價值的工具,幾乎就像印鈔機一樣。由此觀察,穩定的大型機器人殭屍網路最有價值,它不但可以讓外界的人接觸到大量脆弱的電腦,更可以去控制這些電腦。它所能施加於網路防禦者的壓力沒完沒了。

防禦電腦要比去攻擊電腦困難得多。微軟的安全技術人員花下大量時間發出修補程式補丁,將新發現的安全漏洞填補起來。這一點也不古怪、嚇人。 雖然實際上沒有我們形容的那麼簡單,這作法其實就像是加上一道鎖。凡是使用家用電腦的人都熟知視窗不時接到的安全更新程式,微軟固定在每個月的第二個星期二送出。網路安全族群把它稱為「週二補丁日」。

2008年9月,一群中國駭客以37美元的價格向外界兜售一組漏洞攻擊程式,可以攻擊當時大家所不知道的視窗445埠弱點。這群中國駭客沒有犯任何法律。他們也沒有要進行任何犯罪行為。這只是個可以滲透進入視窗電腦內部核心的工具。一直到9月29日,有人在越南開始積極利用這個程式肆虐。一株以Gimmiv為名的惡意軟體很快由越南散佈到23個國家。馬來西亞所受影響最大。

資安專家將Gimmiv歸類為「木馬」(Trojan)程式,它會依附在合法的程式上,等到遠方的控制者啟動它時才會開始動作。這匹木馬然後會將被感染電腦上所有的機器登錄註冊資訊,以及啟動登入與個人資訊,通通傳送給遠方的攻擊者。作為一個詐欺程式,Gimmiv的效果因為它本身嚴重的設計缺陷而降低,但就攻擊視窗的漏洞來看,它效果卓著。很多人因此都注意到了這個木馬程式的成功。像T.J.就認定它標誌了攻擊445埠漏洞的競賽就此開始。

電腦上的「埠口」就像系統的耳朵,用來傳送、接收特定的資料。在視窗系統上有65,353個埠口,由於用戶希望電腦速度快,他們要電腦可以同時作很多事情。而防火牆就像是守門員。它在接收到的資訊碼中監測有無問題,或放行、或攔阻、或按每個埠口的特定規則轉送這些資訊碼。要滲透通過防火牆,那批程式碼必須與那一埠口所能接收的規則相符才可以接收。只有特定的資料與程式碼可以通行。有些埠口的交通量非常大,像專門處理電子郵件的TCP25。大多數的埠口很輕鬆,只針對特定而單純的功能與指令採取行動,一般電腦用戶根本不會注意到這些例行動作的存在。

埠口的數量多寡由TCP與UDP協議決定,這些協議用來啟動作業系統的「監聽」動作。如果訊息不符所抵達埠口的需求,那一埠口會關閉,否則埠口會打開,一般情況下電腦在接受到訊息後會回覆訊息來源。在視窗系統中,除非有防火牆來控制進出,有幾個埠口的常設狀態是打開的。其中一個就是445埠。

在視窗電腦上,445埠控制RPC遠端呼叫程序(Remote Procedure Call)這項服務,讓其它電腦來列印檔案或是分享檔案。由於RPC服務很複雜,不同舊版本視窗作業系統間的差異,以及RPC與作業系統核心(kernel)的關係密切等等因素,程式的錯誤常常容許攻擊者送出無效的資訊與指令,讓系統去執行原本沒要它執行的動作。這是大型軟體系統常有的問題。

舉例來說,Internet Explorer瀏覽器的弱點不會讓攻擊者控制電腦,但像RPC的弱點卻可以。由遠端控制Internet Explorer瀏覽器可以讓惡徒逼迫你的電腦下載色情圖片或是廣告,所造成的影響明顯而立即。但一旦電腦作業系統核心受人控制,所能取得的電腦存取控制能力,遠比一般人所能看得到的大且深得多,這猶如直抵電腦的心靈深處。當這台電腦被「當」(pwned)了,遠端的攻擊者實質上等於是擁有這台電腦。

事實上,滲透進入445埠並不難,要騙過作業系統,讓它下載利用漏洞攻擊的惡意軟體才是困難所在。為了達此目的,那套中國攻擊程式使用「緩衝記憶體滿溢」(buffer overflow)這個駭客常用的老戲法。它的運作方法大略如此:遠端送來一組程式碼來敲門。一旦它來到,這台電腦的作業系統要決定將它放到哪裡。因此這台電腦送出一批網路服務(network services)程式,我們可以把這些網路服務看成是教作菜的食譜,而電腦就像積極翻閱食譜的主廚。

如果執行程序很單純,主廚可以選定特定菜餚的食譜(也就是程式),將新資訊的封包下載。但這程序並不簡單。幾乎每一個程式之下都有很多子程序,會打斷主任務的執行。子程序是在電腦記憶體裡面的小封包,是包在大括弧裡面的小括弧,好像是一層包一層的俄羅斯娃娃一樣。打個比方,一旦主廚選定食譜書裡第73頁的食譜,開始閱讀,他可能突然被打斷,因為有個遠方的食客急著要一份蛋糕。為滿足需求,主廚隨即翻到141頁教人作蛋糕的那一章(或可稱為程式的子程序)。但就在他要研讀蛋糕食譜的章節時,他先創造一個暫時的記憶堆,在那裡放一個指標提醒他原本是在讀第73頁,作為他所讀蛋糕食譜的附註,一旦他作好蛋糕就可以回到這裡。此時他就去作蛋糕了,而作蛋糕這件事也有它的子程序,像是聯絡客戶確認所要的是天使海綿蛋糕還是巧克力蛋糕。

這就是開發惡意軟體工程師的路數所在。他就是訂蛋糕的客戶。他讓主廚知道他對蛋糕的要求,他也知道主廚會把這些要求放在電腦的緩衝區(buffer)中,也就是剛剛所比方的附註或暫存記憶堆。惡意軟體的作者知道這個記憶緩衝區究竟多大。因此,除了提供所需蛋糕的細節資訊給主廚,他還不斷將不相干的資訊餵給主廚。如果主廚不察,就像445埠一樣,這些沒需要的資訊會滿出所分配的記憶空間,溢出去覆蓋附註部分,將原本所放置提醒他完事要翻回第73頁的指標覆蓋掉。

如果主廚是一個命令一個動作,像機器一樣聽命行事,這時本該是作蛋糕的指令反而要主廚去作全然不同的事情,例如要它去拿鑰匙並打開他背後的保管箱。這段指令與作蛋糕毫無關係,記錄在附註部分的最末處。因此在主廚作好蛋糕,並在附註中尋找要去哪裡的指引時,他不會回第73頁,反而是去打開背後房間裡的保管箱。如果有適當的監測機制,電腦這時應該會擋掉這個資訊封包,或是送出示警訊息,發送只有少數人看得懂的明確訊息提醒用戶。作業系統的網路服務可以確認所配置的記憶空間是否夠大,或是攻擊者是否已成功地寫入過多的資訊,由此阻斷外界入侵電腦的企圖。但這個系統服務必須時時如此檢測確認,而一個像RPC這樣複雜的程式更需要對幾千個潛在弱點進行類似的監控測試。

中國的駭客就是發現視窗系統沒有足夠的防護。因此,RPC服務程序不會像加油幫浦一樣在加滿油時自動關閉油槍,反而在它該放棄執行程序、關閉緩衝區時,讓電腦(或主廚)繼續依循這條全新又沒經核准的途徑繼續運作。

這就是漏洞攻擊的精髓。一如所有的程式,網路服務列出資料與指令,以及電腦會忠實遵循的執行程序。這時入侵程式碼完全聽命軟體作者指揮,可以去任何地方,而445埠埋藏在作業系統的深處,入侵該處可以得到的回收極度龐大。他們要去攻擊破解的門鎖就此已被選定。

微軟在中國駭客開始銷售這套漏洞攻擊程式時就得知它的存在,它知道這株蠕蟲潛在的威脅有多大。有心人可以利用這個安全漏洞,插入蠕蟲,經由繁衍發展成為機器人網路。它可以執行遠端呼叫程序,換句話說,感染這蟲的電腦可以交由遠方的陌生人控制。這株蟲的威脅如此之大,微軟決定不按照日常的時程表,等到下一個「週二補丁日」,而是以「非常規」(out of band)的程序,立即送出火速開發的弱點補強更新補丁程式MS08-067(代表微軟在2008年發出的67號補丁更新程式)。

T.J.在微軟於2008年10月23日發出MS08-067補丁當天,正在維吉尼亞州阿靈頓參加卡奈基美隆大學主辦的國際機器人網路特別工作組會議。時間與場合如此巧合,讓他可以親自對全球頂尖的資訊安全專家說明。當他收到來自雷德蒙園區的最後確認時,他與同事賴瑞奇一齊起身宣布。

「我要請各位上微軟,斜線,technet,斜線,security,」他說。「這是個非常規時程的補丁。」

這個補丁程式的說明解釋:「在微軟視窗2000、視窗XP版本、以及視窗伺服器2003版,攻擊者可以利用這個軟體弱點,不經授權而執行任何程式碼。他們可以利用這個軟體漏洞進行蠕蟲等類型的漏洞攻擊。」

許多與會者立即下載這個補丁程式,開始分析它。T.J.花了幾分鐘介紹它並回答問題,接下來他也與聯邦調查局的幹員見面,向他們簡報。「我們覺得這件事非同小可,」他對幹員說。「你們應該開始好好研究這東西。」

在完美的世界,這個補丁程式應就解決了所有的問題。但T.J.很瞭解,MS08-067很可能讓事情變得更糟。下載它的人可以免於被攻擊,因此微軟必須要推出這樣的補丁程式來保護客戶。但是這防護程式也遠比那些中國駭客所買得到的任何宣傳工具,更具廣告效果。推出它就像在太空軌道上放個閃亮的霓虹告示牌,如此喧囂耀眼,在地球表面的任何肉眼都可以看到,好像在大喊:來呀!來呀!有個新的視窗漏洞。

這個新補丁實際上很可能激發了新蠕蟲的出現。全球有大批電腦用戶忽略了要去安裝安全更新程式。而全球盜版、仿造、未經授權的視窗系統數以百萬計。如果每個人都去註冊所用的軟體,迅速更新補丁,視窗應該是牢不可破的。但就因為這麼多人不這麼做,不論是「週二補丁」或是這次的非常規修補程式都成了微軟的大問題。

Sunblet資安軟體公司的研究員賽特斯(Eric Sites)就撰文:「如果壞人知道如何利用這玩意,我們的麻煩大了。」他警告,像是蠕蟲這種設計專業的惡意軟體「可以輕易發展出來,造成極大的傷害」。

MS08-067發表28天後,「這個東西」就出現在SRI普瑞斯所編寫的感染清單上,開始到處亂竄進入不設防的電腦。

對此,沒有一個人會像T.J. 坎帕那一樣,絲毫不感意外。(摘錄整理自第二章)


第一次網路世界大戰:全面追捕世界頭號電腦毒蟲與網路黑幫
(WORM : The First Digital World War)
馬克.波登(Mark Bowden)/著

陳修賢、吳芠萱/譯

大寫出版

售價:300元


《作者簡介》
馬克.波登(Mark Bowden)
馬克.波登著有七本書,包括《黑鷹計畫》、《最佳遊戲》(The Best Game Ever),以及教主之客(Guests of Ayatollah)等。他擔任《費城詢問報》記者超過20年,現在也為《浮華世界》、《大西洋月刊》等雜誌撰稿。現居於美國賓州牛津。

熱門新聞

Advertisement