<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mr./Ms. Days (MMDays) - 網路, 資訊, 觀察, 生活MMDays &#8211; man-in-the-middle</title>
	<atom:link href="http://mmdays.com/tag/man-in-the-middle/feed/" rel="self" type="application/rss+xml" />
	<link>http://mmdays.com</link>
	<description>網路, 產業, 資訊, 觀察, 生活, 電影, 技術, 新知, 科技, 媒體, 趨勢, Web 2.0</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:35:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>神不知，鬼不覺，你的帳號密碼是如何被竊聽的？─中間人攻擊〈Man-in-the-middle Attack〉初探</title>
		<link>http://mmdays.com/2008/11/10/mitm/</link>
		<comments>http://mmdays.com/2008/11/10/mitm/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 00:01:10 +0000</pubDate>
		<dc:creator>Mr. Friday</dc:creator>
				<category><![CDATA[Mr. Friday]]></category>
		<category><![CDATA[專欄]]></category>
		<category><![CDATA[電腦科學]]></category>
		<category><![CDATA[arp-spoofing]]></category>
		<category><![CDATA[man-in-the-middle]]></category>
		<category><![CDATA[mitm]]></category>

		<guid isPermaLink="false">http://mmdays.com/?p=6322</guid>
		<description><![CDATA[Posted by Mr. Friday (本文已同步刊登在密技偷偷報十月號) 好萊塢電影裡，總是對於電腦駭客有一些誇大不實的描述，譬如Die Hard 4〈終極警探4〉裡面，就把駭客講得實在有夠神，總是隨隨便便在幾秒內就能夠破解別人的密碼、穿越防火牆，取得機密資料，最後抱得美人歸〈誤〉…。不過誇張歸誇張，在現實生活裡，有能耐的駭客的確能夠在短短數分鐘之內，竊聽網路上的一舉一動，當然也包括了你剛才輸入過的帳號密碼！今天本文要解析的內容，就在於如何進行網路竊聽，而且神不知、鬼不絕，完全不在被竊聽的電腦上留下任何蛛絲馬跡！ 聽起來可真神。不過講到網路竊聽，許多人可能還是不太清楚實際上是怎麼運作的。聽到這個名詞的瞬間，腦中所聯想到的畫面，可能還是動作片裡偵探在房間裡偷裝竊聽器的模樣。事實上，的確有一些網路竊聽的概念是源自這種模式：駭客在你電腦裡面裝木馬軟體，再把你打過的每一個字透過網路偷偷傳送出來。不過這種模式有個缺點，就是容易留下證據，畢竟竊聽器〈木馬程式〉還留在對方電腦裡。但是，今天要介紹的這種攻擊卻完全不同；這種攻擊不需要在你電腦上裝病毒或木馬，也不會在你電腦上留下任何紀錄，卻能紀錄到你在網路上的任何一舉一動，的是來無影去無蹤。它的名字叫做：Man-in-the-middle attack，簡稱MITM〈中間人攻擊〉。 網路訊息的傳輸過程，大體上可以用傳統的信件收送機制來模擬：首先把你要寄送的信件〈封包〉，寫上目的地地址後，投送到最近的郵局〈網路閘道；Gateway〉，郵局就會根據目的地地址，把訊息送給他所知道最接近的另一間郵局去。不過，真實世界的送信機制與虛擬網路傳輸，有一個很根本的差異：中間幫忙傳輸的人，到底是誰？在現實生活裡，各地的郵局都是由政府中央機關管理，但網路上幫忙傳輸封包的閘道卻沒有一個統一的管理機制。難以驗證每個網路元件的身分，是網際網路當年發展時沒有嚴加設計導致的原罪；這也導致網路上的各種傳輸協定，多半是直接建立在「我相信其他人傳過來的訊息」的假設上：有人說他的IP是10.0.0.1，我就相信；有人告訴我走這條路比較近，我就相信。熟悉網路傳輸架構的人，對於這樣的假設，應該都不陌生才是。然而這樣容易相信他人的設計，卻為資訊安全投下了不確定的變數。 什麼變數？我們今天要介紹的Man-in-the-middle中間人攻擊，就是非常巧妙的利用了Internet的這個盲點。Man in the middle，指的是在網路傳輸過程中，協助傳送封包的網路元件。有心竊聽的駭客，透過網路協定容易相信他人的特點，將自己偽裝成協助傳訊的網路元件，實則把網路上的流量通通紀錄下來。不懂？看看以下的圖吧！ 原本的傳輸機制： 而遭到駭客以中間人攻擊的網路傳輸則像下圖所示： 嚴格說起來，中間人攻擊算是一種「概念」，也就是說有很多實作方式。進行攻擊的駭客，首先要找到網路協定的漏洞，對中間的網路設備進行偷天換日，神不知鬼不覺的把自己替換成網路傳輸必經的中途站，再紀錄下特定網段的一舉一動。 中間人攻擊難以防禦的地方在於： 1. 駭客在進行竊聽時，一般網路活動仍能正常運作不會斷線，故鮮少有人會主動發現。 2. 使用者電腦上不會被安裝木馬或惡意軟體，也難以被防毒軟體發現。 3. 駭客在欺騙網路協定時，雖然可能會留下一些蛛絲馬跡，但基於效能與磁碟空間考量，網路裝置一般而言都不會保留太多紀錄檔，造成事後追蹤極為困難。 4. 絕大多數的網路協定，仍然是基於「我相信其他人傳過來的訊息」的假設在運作的，這導致駭客有太多漏洞可以鑽，藉以欺騙網路設備、偽裝成中間人。 關於第四點，這絕對是MITM攻擊至今仍層出不窮的原因。網際網路能通，是建立在眾多的TCP/IP協定合作的結果，但只要有一個協定被發現有漏洞可鑽，就可能被駭客趁虛而入。而現在的狀況是，幾乎每一個協定或多或少都有漏洞，導致MITM攻擊幾乎是防不勝防…！接下來，我們就直接來看一個範例：Cain and Abel。 Cain &#38; Abel是從oxid.it這個網站發佈的軟體。原文音譯是「該隱與亞伯」，是聖經裡亞當和夏娃兒子的名字。不過，聖經故事跟這個軟體所作的事顯然沒什麼關係… 從網站上的簡介可以得知，Cain &#38; Abel是針對微軟作業系統而設計的密碼竊取軟體〈他們宣稱是密碼「復原」軟體〉。Cain &#38; Abel要怎麼使用呢？youtube上有很完整的影片教學： 另一個影片禁止網頁嵌入，大家得自己點過去看： http://tw.youtube.com/watch?v=xWUuZqB4kCc 限於篇幅，這裡並不會細細說明軟體的操作細節，運作原理才是本文的重點。Cain &#38; Abel鑽的是ARP這個協定的漏洞，透過一種叫做「ARP Spoofing」的技巧，欺騙特定電腦，假冒自己成中間人。 ARP原本的作用是解析IP與網卡實際位置的對應關係，是網路運作不可或缺的協定。以下是ARP的運作原理圖解： 正牌Gateway 乍看之下，上面的運作好像沒什麼問題？不，問題可大了。ARP Spoofing是這樣做的： 看懂了吧？這就是所謂的ARP Spoofing〈ARP欺騙〉，透過ARP協議的弱點，神不知鬼不覺地冒充為Gateway。Cain &#38; Abel就是利用ARP Spoofing所設計出來的MITM攻擊軟體，同時欺騙傳訊中的兩端，把自己冒充為中間人。對於一般人網友來說，Cain &#38; Abel算是相當方便的工具，提供了GUI介面，只要指定竊聽的對象，就會幫你進行竊聽。其實從Cain [...]]]></description>
			<content:encoded><![CDATA[<p>Posted by <strong><a href="http://mmdays.com/category/mr-friday/">Mr. Friday</a></strong></p>
<p><strong>(本文已同步刊登在密技偷偷報十月號)</strong></p>
<p>好萊塢電影裡，總是對於電腦駭客有一些誇大不實的描述，譬如Die Hard 4〈終極警探4〉裡面，就把駭客講得實在有夠神，總是隨隨便便在幾秒內就能夠破解別人的密碼、穿越防火牆，取得機密資料，最後抱得美人歸〈誤〉…。不過誇張歸誇張，在現實生活裡，有能耐的駭客的確能夠在短短數分鐘之內，竊聽網路上的一舉一動，當然也包括了你剛才輸入過的帳號密碼！今天本文要解析的內容，就在於如何進行網路竊聽，而且神不知、鬼不絕，完全不在被竊聽的電腦上留下任何蛛絲馬跡！</p>
<p>聽起來可真神。不過講到網路竊聽，許多人可能還是不太清楚實際上是怎麼運作的。聽到這個名詞的瞬間，腦中所聯想到的畫面，可能還是動作片裡偵探在房間裡偷裝竊聽器的模樣。事實上，的確有一些網路竊聽的概念是源自這種模式：駭客在你電腦裡面裝木馬軟體，再把你打過的每一個字透過網路偷偷傳送出來。不過這種模式有個缺點，就是容易留下證據，畢竟竊聽器〈木馬程式〉還留在對方電腦裡。但是，今天要介紹的這種攻擊卻完全不同；這種攻擊不需要在你電腦上裝病毒或木馬，也不會在你電腦上留下任何紀錄，卻能紀錄到你在網路上的任何一舉一動，的是來無影去無蹤。它的名字叫做：Man-in-the-middle attack，簡稱MITM〈中間人攻擊〉。<span id="more-6322"></span></p>
<p>網路訊息的傳輸過程，大體上可以用傳統的信件收送機制來模擬：首先把你要寄送的信件〈封包〉，寫上目的地地址後，投送到最近的郵局〈網路閘道；Gateway〉，郵局就會根據目的地地址，把訊息送給他所知道最接近的另一間郵局去。不過，真實世界的送信機制與虛擬網路傳輸，有一個很根本的差異：中間幫忙傳輸的人，到底是誰？在現實生活裡，各地的郵局都是由政府中央機關管理，但網路上幫忙傳輸封包的閘道卻沒有一個統一的管理機制。難以驗證每個網路元件的身分，是網際網路當年發展時沒有嚴加設計導致的原罪；這也導致網路上的各種傳輸協定，多半是直接建立在「我相信其他人傳過來的訊息」的假設上：有人說他的IP是10.0.0.1，我就相信；有人告訴我走這條路比較近，我就相信。熟悉網路傳輸架構的人，對於這樣的假設，應該都不陌生才是。然而這樣容易相信他人的設計，卻為資訊安全投下了不確定的變數。</p>
<p>什麼變數？我們今天要介紹的Man-in-the-middle中間人攻擊，就是非常巧妙的利用了Internet的這個盲點。Man in the middle，指的是在網路傳輸過程中，協助傳送封包的網路元件。有心竊聽的駭客，透過網路協定容易相信他人的特點，將自己偽裝成協助傳訊的網路元件，實則把網路上的流量通通紀錄下來。不懂？看看以下的圖吧！</p>
<p>原本的傳輸機制：</p>
<p><a title="Flickr 上 itia4u 的 mitm1" href="http://www.flickr.com/photos/21606462@N02/3011951057/"><img src="http://farm4.static.flickr.com/3062/3011951057_807be2d1d1_o.jpg" alt="mitm1" width="576" height="228" /></a></p>
<p>而遭到駭客以中間人攻擊的網路傳輸則像下圖所示：</p>
<p><a title="Flickr 上 itia4u 的 mitm2" href="http://www.flickr.com/photos/21606462@N02/3012787250/"><img src="http://farm4.static.flickr.com/3173/3012787250_8c57c17e54_o.jpg" alt="mitm2" width="589" height="284" /></a></p>
<p>嚴格說起來，中間人攻擊算是一種「概念」，也就是說有很多實作方式。進行攻擊的駭客，首先要找到網路協定的漏洞，對中間的網路設備進行偷天換日，神不知鬼不覺的把自己替換成網路傳輸必經的中途站，再紀錄下特定網段的一舉一動。</p>
<p>中間人攻擊難以防禦的地方在於：</p>
<p>1. 駭客在進行竊聽時，一般網路活動仍能正常運作不會斷線，故鮮少有人會主動發現。</p>
<p>2. 使用者電腦上不會被安裝木馬或惡意軟體，也難以被防毒軟體發現。</p>
<p>3. 駭客在欺騙網路協定時，雖然可能會留下一些蛛絲馬跡，但基於效能與磁碟空間考量，網路裝置一般而言都不會保留太多紀錄檔，造成事後追蹤極為困難。</p>
<p>4. 絕大多數的網路協定，仍然是基於「我相信其他人傳過來的訊息」的假設在運作的，這導致駭客有太多漏洞可以鑽，藉以欺騙網路設備、偽裝成中間人。</p>
<p>關於第四點，這絕對是MITM攻擊至今仍層出不窮的原因。網際網路能通，是建立在眾多的TCP/IP協定合作的結果，但只要有一個協定被發現有漏洞可鑽，就可能被駭客趁虛而入。而現在的狀況是，幾乎每一個協定或多或少都有漏洞，導致MITM攻擊幾乎是防不勝防…！接下來，我們就直接來看一個範例：Cain and Abel。</p>
<p>Cain &amp; Abel是從<a href="http://www.oxid.it/info.html">oxid.it</a>這個網站發佈的軟體。原文音譯是「該隱與亞伯」，是聖經裡亞當和夏娃兒子的名字。不過，聖經故事跟這個軟體所作的事顯然沒什麼關係…</p>
<p><a title="Flickr 上 itia4u 的 mitm3 Cain-and-Abel" href="http://www.flickr.com/photos/21606462@N02/3012787306/"><img src="http://farm4.static.flickr.com/3154/3012787306_f2767b87c5_o.jpg" alt="mitm3 Cain-and-Abel" width="536" height="303" /></a></p>
<p>從網站上的簡介可以得知，Cain &amp; Abel是針對微軟作業系統而設計的密碼竊取軟體〈他們宣稱是密碼「復原」軟體〉。Cain &amp; Abel要怎麼使用呢？youtube上有很完整的影片教學：</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/Ttm6hCOQYW4&amp;hl=zh_TW&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/Ttm6hCOQYW4&amp;hl=zh_TW&amp;fs=1"></embed></object></p>
<p>另一個影片禁止網頁嵌入，大家得自己點過去看：</p>
<p><a href="http://tw.youtube.com/watch?v=xWUuZqB4kCc">http://tw.youtube.com/watch?v=xWUuZqB4kCc</a></p>
<p>限於篇幅，這裡並不會細細說明軟體的操作細節，運作原理才是本文的重點。Cain &amp; Abel鑽的是ARP這個協定的漏洞，透過一種叫做「ARP Spoofing」的技巧，欺騙特定電腦，假冒自己成中間人。</p>
<p>ARP原本的作用是解析IP與網卡實際位置的對應關係，是網路運作不可或缺的協定。以下是ARP的運作原理圖解：</p>
<p>正牌Gateway</p>
<p><a title="Flickr 上 itia4u 的 mitm4" href="http://www.flickr.com/photos/21606462@N02/3012787340/"><img src="http://farm4.static.flickr.com/3250/3012787340_5b92979315_o.jpg" alt="mitm4" width="603" height="242" /></a></p>
<p><a title="Flickr 上 itia4u 的 mitm5" href="http://www.flickr.com/photos/21606462@N02/3012787368/"><img src="http://farm4.static.flickr.com/3238/3012787368_94f2aafe0b_o.jpg" alt="mitm5" width="603" height="284" /></a></p>
<p>乍看之下，上面的運作好像沒什麼問題？不，問題可大了。ARP Spoofing是這樣做的：</p>
<p><a title="Flickr 上 itia4u 的 mitm6" href="http://www.flickr.com/photos/21606462@N02/3011951285/"><img src="http://farm4.static.flickr.com/3038/3011951285_821e7f3baa_o.jpg" alt="mitm6" width="576" height="256" /></a></p>
<p><a title="Flickr 上 itia4u 的 mitm7" href="http://www.flickr.com/photos/21606462@N02/3011951309/"><img src="http://farm4.static.flickr.com/3196/3011951309_ae6dd9ccd5_o.jpg" alt="mitm7" width="576" height="312" /></a></p>
<p>看懂了吧？這就是所謂的ARP Spoofing〈ARP欺騙〉，透過ARP協議的弱點，神不知鬼不覺地冒充為Gateway。Cain &amp; Abel就是利用ARP Spoofing所設計出來的MITM攻擊軟體，同時欺騙傳訊中的兩端，把自己冒充為中間人。對於一般人網友來說，Cain &amp; Abel算是相當方便的工具，提供了GUI介面，只要指定竊聽的對象，就會幫你進行竊聽。其實從Cain &amp; Abel的log檔裡，可以看到它能記下竊聽對象的網路活動，如果竊聽的對象是一台Windows的機器，它還能自動把帳號密碼擷取出來，難怪自稱是「密碼復原軟體」！</p>
<p>不過，像Cain &amp; Abel這樣的中間人攻擊軟體是有其極限的。因為ARP是在區域網路內使用的協定，所以駭客必須要被攻擊的對象處在同一個網段裡，這限制了ARP Spoofing的攻擊範圍；而且相較於其他的漏洞，ARP Spoofing算是比較知名的，所以市面上的知名網路設備廠商，也逐漸提供防堵ARP Spoofing的功能。但是除了透過ARP Spoofing，網路上仍有為數不少的漏洞，讓駭客有了攻擊的機會。</p>
<p>約莫三個月前，在拉斯維加斯，一場名為DefCon的電腦駭客聚會的最後一天最後一刻，臨時插進了一個主題。這段演說主講人是Anton Kapela與Alex Pilosov，而他們接下來的話讓全場大為震驚：他們已經成功的破解了BGP〈Border Gateway Protocol〉，透過BGP的安全性漏洞，他們將可以竊聽網際網路上的任何網路活動。就在發表演說的當下，全場94%的網路傳輸已被他們在紐約設立的監聽中心，而當下完全沒有人能察覺得出來。</p>
<p>Anton Kapela與Alex Pilosov所用的方法，雖然暫時還沒有很詳細的解析，但是原理一樣是透過網路漏洞進行中間人攻擊，唯一不同的是，這次他們所鑽的漏洞來自於BGP。BGP是整個Internet最被廣泛使用的routing協定，若被發現漏洞，影響的層面可不只是區域網路而已。然而，BGP畢竟也是建立在「相信他人」為前提建造出來的網路通訊協定，國外已有不少相關研究指出這樣的設計並不安全，相關研究至少可以<a href="http://www.cs.columbia.edu/~smb/papers/acsac-ipext.pdf">追溯到1980年代</a>。而事實上，BGP也不是第一次被發現有漏洞了。</p>
<p>為了有效防範中間人攻擊，一些大型公司機關〈尤其是銀行〉的內部網路開始採取用加密連線，例如HTTPS、SSH、SFTP等等（S指的是Secure，安全之意），把網路的傳輸內容通通進行加密，如此一來就算駭客能用中間人攻擊進行竊聽，看到的也只會是一群無意義的亂碼。唔，那這樣就算安全了嗎？其實，這些軟體本身也不見得沒有弱點，但若只論中間人攻擊的話，還是能提供一定程度的防範。</p>
<p>所謂「道高一尺，魔高一丈」，當年Internet被發明之後，或許大家太過專注在網路協定的功能與效能面，卻忽略了安全性部分，導致今日網路漏洞層出不窮，讓駭客有機可乘。因此在前年美國的Stanford大學一個團隊<a href="http://cleanslate.stanford.edu/">提出了Clean Slate Design for the Internet</a>計畫，也就是要「<a href="http://mmdays.com/2007/06/16/clean-slate/">重新發明網際網路」</a>。不過現在的Internet實在太過普遍了，要取而代之，恐怕還要等上十幾年呢。</p>
<p>MITM是網路上相當常見的竊聽技巧，然而大多數網友對它的認識卻太少。或許會有人認為本文所寫的解說太過詳盡，連軟體都有教學影片，容易導致更多的網路攻擊事件。但我認為清楚的教學說明是必要的，每個人都會上網，但是對基本的網路安全認識與防範卻太過缺乏，甚至連電腦被竊聽、裝木馬、被癱瘓之後，只曉得要重灌，但重灌好了之後仍不知道如何防範。希望這篇文章，除了讓大家認識駭客的竊聽手法之外，也能讓大家對網路安原，能有更深一層的認識與防範。</p>
<p>相關參考文章：</p>
<p>Wikipedia上對於中間人攻擊的解釋：</p>
<p><a href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">http://en.wikipedia.org/wiki/Man-in-the-middle_attack</a></p>
<p>Wired對於BGP協定被破解的報導：<a href="http://blog.wired.com/27bstroke6/2008/08/revealed-the-in.html">http://blog.wired.com/27bstroke6/2008/08/revealed-the-in.html</a></p>
<p><a href="http://blog.wired.com/27bstroke6/2008/08/how-to-intercep.html">http://blog.wired.com/27bstroke6/2008/08/how-to-intercep.html</a></p>
<p>MMDays：重新發明網際網路</p>
<p><a href="http://mmdays.com/2007/06/16/clean-slate/">http://mmdays.com/2007/06/16/clean-slate/</a><br/>
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><a href="http://plurktop.mmdays.com/replurkdetail/?link=3bb399321329aaa6265f57767c7fd1cc" title="看看其他人討論內容" target="_blank"><img src="http://plurktop.mmdays.com/images/replurk_1.png" style="border:0"></a></td>
</tr>
<tr>
<td><a href="http://plurk.com/?qulaifier=shares&#038;status=http%3A%2F%2Fmmdays.com%2F2008%2F11%2F10%2Fmitm%2F+%28%E7%A5%9E%E4%B8%8D%E7%9F%A5%EF%BC%8C%E9%AC%BC%E4%B8%8D%E8%A6%BA%EF%BC%8C%E4%BD%A0%E7%9A%84%E5%B8%B3%E8%99%9F%E5%AF%86%E7%A2%BC%E6%98%AF%E5%A6%82%E4%BD%95%E8%A2%AB%E7%AB%8A%E8%81%BD%E7%9A%84%EF%BC%9F%E2%94%80%E4%B8%AD%E9%96%93%E4%BA%BA%E6%94%BB%E6%93%8A%E3%80%88Man-in-the-middle+Attack%E3%80%89%E5%88%9D%E6%8E%A2%29+-+%E8%BD%89%E5%99%97%E6%8E%92%E8%A1%8C%E6%A6%9C+http%3A%2F%2Fplurktop.mmdays.com%2Freplurk" title="推到噗浪" target="_blank"><img style="border:0" src="http://plurktop.mmdays.com/images/replurk_2.png" /></a></td>
</tr>
</table>
</div>
<p><br/><a href="http://www.facebook.com/MMDays" target="_blank">加入MMDays在facebook的粉絲團 隨時閱讀最新文章</a><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://mmdays.com/2008/11/10/mitm/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

