立子異言堂

.文章構想時間:2000/03/09

■文章標題:我不是真正的駭客

■前言︰

我週遭的朋友都覺得我的電腦很強(安志國不這麼認為),有一個朋友說我對電腦和網路的了解可以用「不可思議」來形容;而 Her 則說我是強到「可怕」的程度;當然啦,我最欣賞歪妹的講法,她說我的電腦強到「很他媽的變態」。

但是,我是不是駭客呢?呵呵,我還差得遠的呢。

可是,我可以告訴你一些駭客的超級秘辛,以及他們怎麼惡搞別人的網站或電腦,如果你也想成為駭客初學者的話,看這一篇文章絕對讓你等級倍升。
■作者:小立子 文章主分類:電腦資訊 文章子分類:網際網路
■文章標題:我不是真正的駭客

前些日子,在美國的雅虎(yahoo)和一些較知名的網站被駭客攻擊,造成他們的 SERVER (伺服器)當掉,使得他們的損失上百萬美金,而且股票也因此而下跌。

YAHOO 會掛站的原因,是因為有人在和它的 SERVER 接觸的時候,利用某種程式做假資料,讓伺服器以為它在一秒內接受到了 300MB 的資料量,於是在一瞬間,整個伺服器的作業系統垮掉。

因為,沒有任何一套軟體擋得住一秒300MB的資料量。

很多人在茶餘飯後跟我聊到這個,於是問我那些駭客是怎麼做到的,但是他們更大的興趣是,我做不做得到?

在「技術層面上」我做得到,但是實際上我做不到。

■所謂的駭客

其實在國外,「駭客」的定義並不是像國內這麼籠統,國內的分類是「只要是有遇到破解程式、寫病毒、破壞網站的人,就叫駭客」,其實這樣子的分法是不正確的。

如果用英文來分的話,cracker 的解釋意義是「專門破解程式」的人,也就是說,今天有一個軟體採用了你一定要用密碼註冊的方式,才能把試用版軟體變成正式版的話,那麼,cracker 的任務就是:「把那一段要輸入密碼的程式碼改掉」。所以呢,cracker 算是另類的程式設計師。

而 Hacker 呢,他的定義是「尋找出程式的漏洞,或者是偷出程式的資料庫(並加以運用)」,如果遇到上面同樣的情況的話,那麼,一個 hacker 的任務,則是找出這個軟體的密碼運算法則,再把這個註冊碼告知天下廣大的補帖群眾(強一點的還可以寫一個註冊機,讓其他人可以用自己的名字註冊)

所以呢,把YAHOO弄爛掉的人,應該叫「hacker」。

其實在國外,Hacker 有分白駭客和黑駭客兩種,我分別用兩種例子來分別他們的不同點。

■白駭客

在 UNIX 的伺服器運作下,當有外界的電腦利用網路和伺服器接觸時,伺服器的電腦會向來訪的電腦進行一連串的尋問,然後在檢查成功後,你才能進入伺服器進行動做(就好比說是你要用數據機撥接上 HINET 一樣,要讓你的登入名稱和密碼檢查成功才能連上網),而伺服器和來訪者的對話是這樣子的。

---------------------------------------
個人電腦來訪:00111101
伺服器:0111000111
個人電腦:11011110000101
伺服器:1011000011110101
---------------------------------------


啊?什麼?看不懂?哦,那我把這段口語化好了。

------------------------------------------------------
個人電腦來訪,伺服器開始接受訊息:

「您好!請問您是誰?」
「我是某某某。」

(從資料庫中查詢是否有這個人存在,如果有,就進行下一步)
(如果沒有,請看「回答一」)


「那請問您的密碼是什麼?」
「我的密碼是XXX」

(再從資料庫中比對,如密碼正確,則進行下一步)
(如果沒有,請看「回答二」)


「您好!我們很高興再見到您!祝您使用愉快!」然後,你就很快樂的上網了,就是這樣。

□回答一:你他媽的搞屁啊!敢他媽的耍我?去死吧!
□回答二:混帳王八蛋!密碼不對也敢來,給我滾蛋!

------------------------------------------------------

從上面的對話得知,在別人的電腦連到伺服器上時,利用這種尋問的方式來做控管的邏輯是很正確的(其實所有的電腦管理方式都是這樣)

可是,有的駭客的邏輯強到你無法預測,就有一個白駭客讓 unix 的伺服器當得一塌胡塗,而他和伺服器的對話相當簡單。

伺服器:「您好!請問您是誰?」
駭客:「我就是你啊!」


接下來,伺服器會怎麼想呢?

既然你就是我,那你就可以進來…可是,你如果是我,那我是什麼?

然後,為了要找出這個問題的答案,整個伺服器就全心全心意的在解決這個「宇宙唯一的真理」,沒空管別人。因此,當有別的訪客要和伺服器交談時,伺服器就會說:「老子現在沒空,閃邊!」

這是一個白駭客發現的,而他事後處理的方法是,把這一個 unix 上面的漏洞公佈給相關的程式設計師,並提供應該如何解決這個問題的途徑。

也就是說,「白」的駭客,是為了整個軟體業界好,而竭力尋找程式的 bug,再將問題回報給程式設計師,一起共同研究更佳的修正方式,所以他們的行為值得稱讚。

■黑駭客

這種人就爛了,光看「黑」這個字就足夠你隨便想。

「利用程式的漏洞把你的寶貴資料全部偷出來,然後很有義氣的幫你 format 掉你的硬碟」只是他們其中一個小小的功能罷了。

當白的駭客發現程式有漏洞時,他會召告天下;而黑的駭客也會,只不過這個他所召告的「天下」卻是一群會讓你死得很難看的人。

我可以告訴你黑的駭客曾經偷到了那些東西。

他們偷到了摩托羅拉的手機設計機密圖,讓他們知道如何在手機上打某些密碼,就可以監聽到方圓一公里內所有的手機在講些什麼(包括警用頻道)

他們也曾經拿到了 America Online (AOL)的客戶資料,讓他們可以天天免費使用網路撥接長達十七萬年(包括打電話不用錢)

當然啦,美國一家網路商店擁有三十五萬個信用卡的客戶資料被偷,使得偷到的駭客可以刷上一百五十億台幣就更不用說了(那個駭客還算好了,只跟商店勒索十萬美金)

還有,就是最近的這一次看到的YAHOO被惡搞事件也是黑駭客幹的。

■怎麼駭?

美國的五角大廈和 FBI 是美國駭客的破解聖地,如果想要在駭客界的名人榜佔上一角,你不破解其中一個網站就別想成名。

為了防止駭客在入侵時被追縱到來源,駭客們在進行突破的時候,都會「繞著地球跑一圈」才進行攻擊。

也就是說,假設我要攻擊 FBI 的網站好了,那麼我會先從台灣連到南斯拉夫、再從南斯拉夫連到阿爾吉利亞、然後再轉到南極、再轉十七個國家、最後再連到美國。

這樣子,美國 FBI 在要進行追縱時,少說也要花上一個小時才能追溯到「這個駭客好像從南極來的」,而在同時,我已經把我要的東西拿到手了。

另外,不管是 EMAIL 也好,或是在做訊息溝通也好,每一個「封包」的前面都會有一個固定的特定數字,而這些數字也正透露著你這個封包的內容(所謂的「封包」,你可以想像是每一個獨立的訊息,如果沒有封包的話,你的收信軟體就判斷不出來上一封和下一封的電子信件該要「斷」在什麼地方)

一般的封包的「頭」都會先顯示說「我這個封包是什麼東西」(比如說是 EMAIL,或是檔案、或是 HTML 等等)、以及「我這個封包包括那些東西(好比說是否有附加檔案,或者是純文字信件等等),還有一個很重要的地方,那就是「我這個封包有多大」。

Yahoo 和 Ebay 被攻到爛掉,就是因為這個駭客利用特別的程式(他們自己寫的,難度相當高),發動攻擊,並且改變封包中的「我這個封包有多大」(根據官方資料,攻擊的時候是設定為 300MB)

■為什麼會有駭客?

像這類的黑白駭客,之所以會在網際網路上這麼囂張,其主要的原因是為了要「出名」,可是這種出名又不能太明顯(一般都是用假名);還有另外一個原因則是他們想要證明「現有的軟體的保密性超差」(特別是微軟之前還自誇 Windows NT 要花五千年才能破解,結果推出第五天就被駭了)

就像寫病毒的人的特質一樣,你很少會看到那種「一收到病毒,病毒就會馬上發作,而且立刻 format 掉你的硬碟」的病毒,一般都是會在你的電腦待上一段時間,而且又傳染給別人之後,才會發作的病毒。

理由很簡單,他若設計出這一種立即性的病毒,那他就只能攻擊你這一個單一的電腦,這樣在「出名學」上面是不符合經濟效益的。

不過,也因為有這樣的人,廣大的防毒程式公司和網路安全設計公司才能存活(我一直相信這些公司也會養一些駭客)(當然啦,這只是猜測)

我曾經想當一個駭客,但是小立子自己在程式語言上天份不足,學不起來,因此我換了一種方式。

■所以囉,我不是駭客

像我這種「知道有這種程式和攻擊方法」的人,根本不能算駭客,老實講,我也不是沒用過那些程式害人(因為這些攻擊程式我拿得到),像我這種拿現成的東西來進行「活體實驗」的傢伙呢,人家都稱為「爛客」。

只不過呢,我比較喜歡靈活運用。

親愛的哇哩副堂主,妳準備好了嗎?

  [回到上一頁]