深度包檢測

深度封包檢測（deep packet inspection，縮寫為 DPI），又稱完全封包探測（complete packet inspection）或資訊萃取（information extraction，IX），是一種電腦網路封包過濾技術，用來檢查通過檢測點封包的資料部分（也可能包含其標頭），以搜尋不符合規範的協議、病毒、垃圾郵件、入侵，或以預定準則來決定封包是否可通過或需被路由至其他不同目的地，或是為了收集統計資料。IP封包有許多個標頭；正常運作下，網路設備只需要使用第一個標頭（IP標頭），而使用到第二個標頭（TCP、UDP等）的技術則通常會稱為淺度封包檢測（一般稱為狀態防火牆），與深度封包檢測相對。有多種方式可以用來獲取深度封包檢測的封包。較常見的方法有埠鏡像（port mirroring，或稱為 Span Port）及光纖分光器（optical splitter）。

深度封包檢測允許進一步的網路管理、使用者服務及安全功能，也可用於進行網際網路資料探勘、竊聽及網際網路審查。雖然深度封包檢測技術已被用於網際網路管理許多年，一些支持網路中立性的人害怕此技術會被用於反競爭行為，或減少網路的開放性。尋求反制的技術也因而被提出來大規模討論。由於深度封包檢測的應用範圍廣泛，可分成企業（公司及大型機構）、電信服務業者及政府3個方面進行說明。

## 背景

深度封包檢測結合了入侵檢測系統（IDS）、入侵預防系統（IPS）及狀態防火牆等功能。此一結合讓深度封包檢測可以檢測到某些IDS、IPS或狀態防火牆都無法發覺的攻擊。狀態防火牆能看到封包流的開始與結束，但不能發現超過特定應用範圍的事件。IDS能檢測入侵，但幾乎沒有阻擋此類攻擊的能力。深度封包檢測能用來快速阻擋來自病毒與蠕蟲的攻擊。更具體地說，深度封包檢測可有效防止緩衝區溢出攻擊、DDoS攻擊、複雜入侵及少部分置於單一封包內的蠕蟲。

具有深度封包檢測的裝置可以看到OSI模型的第2層及第3層之後。在某些情況下，深度封包檢測可用來分析OSI模型的第2層至第7層。這包括了整個標頭、資料協議架構及訊息的負載。深度封包檢測功能在裝置採取其他行動時，依據OSI模型第3層之後的資訊被引用。深度封包檢測可以依據包含由封包資料部分摘取出之資訊的特徵資料庫，識別並分類訊務，從而允許比僅依據標頭資訊分類有更精確的控制。在許多情況下，終端可使用加密及混淆技術來規避深度封包檢測。

一個被分類的封包可能被重定向、標記/標籤（見QoS）、封鎖、速限，並且反饋給網路中的報告程序（reporting agent）。在此方式下，不同分類的HTTP錯誤會被識別，並被轉交分析。許多具有深度封包檢測的裝置會識別封包流（而非逐個封包的分析），允許依據累積的流量資訊進行控制。

## 企業層面的深度封包檢測

最初，企業層面的網路安全只是個外圍的紀律，防止未經授權的使用者進入以及避免授權的使用者曝露於外部世界為其主導理念。最常用來完成此一理念的工具為狀態防火牆。狀態防火牆允許對外部世界進入內部網路上的預設目的進行精細的控制，並只在先前曾提過對外部世界的請求，才允取存取回其他的主機。

無論如何，當漏洞存在於網路層，該層不被狀態防火牆所見。此外，企業內使用筆記型電腦的次數增加，讓防止電腦病毒、蠕蟲及間諜軟體滲透入企業網路變得更加困難，因為許多使用者會將筆記型電腦連上家庭寬頻連線或公共場所的無線網路等較不安全的網路。防火牆亦無法區分合法接取應用程式的允許與禁止之使用者。深度封包檢測讓資安人員可以在任何一層設定及執行政策，包括應用層及使用者層，以協助對抗這些威脅。

深度封包檢測可以檢測出幾種緩衝區溢出攻擊。

深度封包檢測可被企業作為數據外洩防護。當電子郵件的使用者試圖發送一封受保護的文件時，該使用者可能會收到訊息，告知如何取得適當許可，以發送此一文件。

## 網路服務業者的深度封包檢測

除了使用深度封包檢測來保護其內部網路外，網際網路服務供應商亦會運用此技術於提供給消費者的公眾網路上。ISP業者使用深度封包檢測的用途一般有通訊監察、網路安全政策、定向廣告、服務品質、提供分層服務及著作權保護等。

### 通訊監察

幾乎全世界所有的政府都會要求服務業者需具有通訊監察的功能。數十年前在傳統電話的環境裡，可透過建立一個訊務存取點（TAP），使用攔截代理伺服器連至政府的監控設備來達成通訊監察的需求。這在現在的數位網路裡不是不可能的。有許多種方法可在數位網路中提供通訊監察的功能，其中包括深度封包檢測。

### 網路安全政策

服務業者與其使用者簽訂服務級別協議，需提供一定的服務層級，並同時會執行可接收使用政策，如使用深度封包檢測執行侵犯著作權、非法內容及不公平使用頻寬之政策。在某些國家裡，ISP業者需要依該國法律執行過濾。深度封包檢測允許服務業者「輕易地知道其使用者正在線上接收的資訊封包，包括電子郵件、網站、音樂與視訊分享及軟體下載等訊務」。政策亦可被規定允許或不允許連接至某一IP位址、某些協議，或甚至可識別某一特定應用或行為。

### 定向廣告

因為ISP業者能安排其所有使用者之路由，他們能夠以非常仔細的方式監控使用者的網路瀏覽習慣，以獲得有關其使用者興趣之資訊，提供給經營定向廣告的公司使用。至少有10萬位美國使用者如此被監控，更有10%的美國使用者曾經被如此監控過。NebuAd、Front Porch及Phorm等公司提供定向廣告的技術。監控其使用者之美國ISP業者則有Knology及Wide Open West等。此外，英國的ISP業者英國電信亦承認在其使用者不知情或未同意之下，測試過Phorm所提供之技術。

### 服務品質

深度封包檢測可以用來對抗網路中立性。

P2P等應用的流量對寬頻服務業者來說，越來越是個問題。通常情況下，P2P的流量被應用程式用來做檔案分享。檔案可以是任何類型（如文檔、音樂、視訊或應用程式）。由於多媒體檔案的容量通常較大，P2P會導致流量的增加，需要額外的網路容量。服務業者表示，少數使用者產生大量的P2P流量，並降低了大部分使用電子郵件或瀏覽網路等需要較少頻寬之寬頻使用者的品質。差勁的網路品質會提升使用者的不滿，並導致服務收入的下滑。

深度封包檢測允許業者賣出更多的有效頻寬，同時確保公平分配寬頻給所有使用者，以避免網路壅塞。此外，可將更高的優先權分配給網路電話或視訊會議等需要低延遲的應用。這讓服務業者能用來依據通過其網路之流量來動態配置頻寬。

### 分層服務

行動通訊及寬頻服務業者使用深度封包檢測作用實作分層服務的方法，區分出「封閉平臺」、「加值」、「吃到飽」及「一體適用」的數據服務。透過在「一體適用」的資費方案外，對「封閉平臺」、各項應用、各項服務或「吃到飽」另外付費，業者可以為個別使用者提供個人化的服務，並增加其ARPU。網路政策可以依每個使用者或每個群組設定，而深度封包檢測系統更能區分出不同的服務與應用。

### 著作權保護

ISP業者有時會應著作權人的請求、法院的要求或官方政策，協助保護著作權。2006年，丹麥其中一家最大的ISP業者Tele2被賦予法院禁令，並要求該公司封鎖其使用者拜訪海盜灣這個存放BitTorrent種子的網站。與其數次地起訴分享檔案的人，國際唱片業協會（IFPI）、EMI、Sony BMG、環球唱片及華納音樂集團等公司開始指控Eircom等ISP業者沒有為保護其著作權有足夠多的努力。IFPI希望ISP業者能過濾流量，並移除在其網路上的違法上傳與下載之著作權物，雖然歐盟2000/31/EC指令明確指出，不應賦予ISP業者監控其傳輸之資訊的一般義務，且2002/58/EC指令亦賦予歐盟公民有秘密通訊的權利。另一方面，美國電影協會（MPAA）為保護電影著作權，警告美國聯邦通信委員會（FCC）對網路中立性的態度可能會傷害深度封包檢測及其他過濾方式等反盜版技術。

### 統計

深度封包檢測讓ISP業者能蒐集其使用者群使用圖像之資訊。例如，業者可能對使用2Mbit/s連線速率的使用者是否會與使用5Mbit/s連線速率的使用者有不同的網路使用方式覺到興趣。獲得這些趨勢資料亦能協助進行網路規劃。

## 政府的深度封包檢測

除了為其網路之安全而使用深度封包檢測外，美洲、歐洲及亞洲的政府亦會為監聽及審查等不同目標使用深度封包檢測。

### 美國

美國聯邦通信委員會（FCC）依據美國國會的授權，並在符合全球大多數國家的政策之下，要求所有的電信業者（包括網際網路服務）須能支援執行法院命令的能力，以提供特定使用者的即時通訊監察。2006年，FCC採取了新的通信協助執法法，要求網際網路接取業者須符合其要求。深度封包檢測為符合其需求之必要平臺之一，並已為此目標部署於全美國境內。

美國國家安全局（NSA）與AT&T合作，使用深度封包檢測技術，讓網際網路訊務監控、排序及導向能更有智慧。深度封包檢測被用來尋找傳輸電子郵件或網路電話（VoIP）的封包。與AT&T的共同骨幹網路（Common Backbone）有關的訊務都會「拆分」給兩條光纖，每條光纖分得50%的訊號強度。其中一條光纖會被轉移至一被嚴密保護的房間，另一條光纖則繼續將訊務傳輸至AT&T的交換設備。該房間內有Narus的訊務分析儀及邏輯伺服器；Narus表示，這些設備可以作即時的資料收集（記錄大量資料）並可達每秒10GB的處理速率。特定訊務會被篩選出來，並以專線傳輸至一「中心位置」作後續分析。據前FCC顧問J. Scott Marcus所述，分流的訊務「代表全部，或幾乎全部AT&T在舊金山灣區對等互連之訊務」，且因此，「其設計師......的配置沒有試圖依據光纖拆分的地區或位置排除comprised大部分由家庭資料組成之資料來源。」Narus的語意訊務分析軟體使用深度封包檢測技術，運作於IBM或Dell的Linux伺服器上，以10Gbit/s的處理速率排序IP訊務，篩選出具有指定電子郵件位址、IP位址或網路電話之號碼的特定訊息。前美國總統喬治·華克·布希與前司法部長阿爾韋托·岡薩雷斯曾表示，他們認為總統有權不需取得外國情報通訊監察法之授權，下令秘密監控美國境內的人民之間，以及他們與國外之間的電話與電子郵件交換。

美國國防資訊系統局已開發出一套使用深度封包檢測的感測器平臺。

### 中國

中國政府使用深度封包檢測來監控及審查網路訊務及那些政府聲稱有害於中國民眾與國家利益的內容。這些內容包括色情、宗教訊息及政治異議等。在中國的網路裡，ISP業者使用深度封包檢測查看是否有敏感的關鍵字通過其網路。若有，則其連線可能會被切斷。在中國境內的人們時常會在訪問內容含有臺灣與西藏獨立、法輪功、達賴喇嘛、天安門事件等網站時，會無法連接。反對共產黨統治的政治團體及各種反共產黨的行動都已被登錄入深度封包檢測中的關鍵字。中國亦阻擋流入或流出該國的網路電話訊務。Skype的語音訊務雖不受影響，但其簡訊仍會受到深度封包檢測監控，如內容含有如髒話之類的敏感字眼，不通知通訊的任何一方，直接不予傳送。

### 伊朗

據華爾街日報2009年6月引述諾基亞通信（德國企業集團西門子與芬蘭手機公司諾基亞的合資企業）發言人Ben Roome的一篇報導所述，伊朗政府於2008年向該公司購買了一套系統，據傳為深度封包檢測。據該報導不願具名的專家所述，該系統「能讓政府當局封鎖通訊，並監控並蒐集個人資料，以及為散布不實謠言而更改資料。」

該系統由伊朗政府獨占經營的電信基礎設施公司所賣下。據華爾街日報所載，Roome表示，諾基亞通信「去年在『合法監聽』此一國際公認的理念下，提供設備給伊朗。這涉及到為了打擊恐怖主義、兒童色情、毒品走私及其他網路上之犯罪行為而截取的資料，即使不是全部，也是大多數電信公司會有的能力......」諾基亞通信賣給伊朗的監控中心在公司宣傳手冊內將其形容為能夠「監控與截取所有網路上所有類型的語音與數據通訊。」該合資企業於2009年3月底退出包含監控設備，稱為「智能解決方案」之業務，將其賣慕尼黑投資公司 Perusa。Roome表示，該公司決定不再將其作為該公司核心業務之一部分。

在諾基亞賣出其系統的十年前，Secure Computing Corp. 曾與伊朗有過交易，賣給該國可用來封鎖網際網路之設備。

有人對華爾街日報這篇由華盛頓獨立分析師暨卡托研究所兼職學者David Isenberg所寫的報導之可信性提出質疑，並特別指出，Roome拒絕承認報導中的言論出自於他，且Isenberg在華爾街日報一篇較早之前所寫的報導中亦曾被提出類似的質疑。諾基亞通信並發出下述否認聲明：諾基亞通信「沒有提供過任何具深度封包檢測、網路審查或網際網路過濾等能力之設備給伊朗。」紐約時報同一時期的報導寫道，諾基亞通信的業務已被「（2009年）4月一連串的新聞報導（包括華盛頓時報）」，以及這個國家對網際網路與其他媒體審查之檢視所掩埋，但沒有提到深度封包檢測。

據規避網際網路審查之開發商Alkasir的Walid Al-Saqaf所述，伊朗於2012年2月使用深度封包檢測，讓整個國家的網際網路速率幾乎陷入停頓。這簡單地排除掉了Tor與Alkasir等工具的使用。

### 新加坡

新加坡據說設置了深度封包檢測，以監控網際網路訊務。

### 馬來西亞

由國民陣線領導的馬來西亞政府據傳於2013年5月5日舉辦之第13屆大選期間使用深度封包檢測監控其政治對手。

在此例中，深度封包檢測被用來封鎖及/或妨礙特定網站，如Facebook帳戶、部落格與新聞入口網站。

### 俄羅斯

深度包檢測在俄羅斯沒有獲得法律授權。俄羅斯網際網路限制法案要求使用IP位址過濾屏蔽禁止網站統一登記表中的目標，但並未允許分析數據包的載荷部分。然而，一些ISP仍然使用各種深度包檢測方案來實施過濾。

2019年，政府機構Roskomnadzor在幾個地區的試點結束之後，計劃在全國範圍內推行深度包檢測技術，據稱這將花費200億俄羅斯盧布。

## 深度封包檢測與網路中立性

關注隱私或網路中立性的人或組織發覺檢測網際網路內容層之行為極具攻擊性，並表示，「網路曾是建立在封包的開放存取與無差別待遇之上！」同時，網路中立性規則的批評者則稱之為「尋找問題中的答案」（a solution in search of a problem），並表示網路中立性規則會減少升級網路及推動次世代網路服務之誘因。

封包檢測被許多人認為會破壞網際網路的基礎設備，亦被認為違反美國憲法。

## 基礎設施安全

傳統上，ISP業者一般只經營OSI模型第4層以下。這是因為僅決定封包去向與路由相對上較容易安全地處理。傳統模型仍允許ISP業者安全地完成所需任務，如依使用頻寬（第4層以下）而非應用類型之協議（第7層）限制頻寬。這是個非常強烈，但常被忽略的論點，ISP業者在OSI模型第4層以上的行為會提供在資安社群裡稱之為「墊腳石」的風險，亦即讓人可透過中間人攻擊入侵其網路。這個問題是因為ISP業者通常會安全追縱紀錄不佳的便宜硬體，難以或幾乎不可能確保深度封包檢測之安全性。

OpenBSD的封包過濾特別避開深度封包檢測，即是因為該軟體沒有信心能安全地完成過濾任務。

這意味著，與深度封包檢測有關之服務，如TalkTalk的HomeSafe，實際上是販賣少量的安全性（可以且經常已經使用其他更有效之方式保護），其代價卻是犧牲所有使用者之安全性，且其使用者幾乎不可能減輕其風險。HomeSafe服務主要係透過封鎖來選擇進來的流量，但其深度封包檢測無法選擇出去的流量，即使是企業使用者。

## 軟體

nDPI （OpenDPI的一分支）是用來檢測非模糊協議的開源版本。PACE則包含了模糊與加密協議，與Skype或加密BitTorrent所使用的協議相關。OpenDPI已不再維護，取而代之的是nDPI，現仍積極維護與擴充包含Skype、Webex、Citrix與其他軟體在內的新協議。

L7-Filter是用於Linux的Netfilter識別應用層之封包的分類器。L7-Filter可分類Kazza、HTTP、Jabber、Citrix、BitTorrent、FTP、Gnucleus、eDonkey2000與其他軟體。L7-Filter亦可分類串流、電子郵件、P2P、網路電話、協議及遊戲等應用。

Hippie（高性能協議識別引擎）是一項開源計畫，被開發作為Linux的核心模組。Hippie為Josh Ballard所開發。Hippie支援深度封包檢測與防火牆功能。

SPID（統計協議識別）計畫透過識別應用程式的訊務，進行網路流量的統計分析。SPID演演算法可透過分析pcap檔的流量（封包大小等）與負載統計（位元值等），檢測應用層協議（第7層）。SPID只是個概念驗證程式，目前支援大約15個應用及協議，如eDonkey混淆訊務、Skype的UDP與TCP、BitTorrent、IMAP、IRC、MSN等。

Tstat（TCP統計與分析工具）提供流量圖像的概觀，並給出許多應用與協議的細節與統計。

Libprotoident引入輕度封包檢測（LPI），只檢查每個方向之負載的頭4個位元組。這可減輕對隱私的疑慮，降低為分類而需儲存封包紀錄的硬碟空間。Libprotoident支援200個不同的協議，且其分類使用負載模式匹配、負載大小、埠號與IP匹配等混合而成的方法。

法國公司Amesys設計並出售給格達費一套侵入型與大規模網際網路監控系統，被稱為Eagle。

### 比較

各種使用了深度封包檢測的網路流量分類器（PACE、OpenDPI、L7-filter的4種設定、NDPI、Libprotoident及Cisco NBAR）的整體比較，可見《流量分類常見DPI工具的獨立比較》（Independent Comparison of Popular DPI Tools for Traffic Classification）一文。

## 硬體

在禁止網路盜版法案與保護智慧財產權法案被否決之後，深度封包檢測得到了更多的重視。許多現行的深度封包檢測方法既慢又昂貴，特別是對於高頻寬的應用。更有效的深度封包檢測方法被開發出來。專用路由器現在已可以執行深度封包檢測；具備程式字典的路由器將能協助識別內網與網際網路訊務之目的。Cisco Systems已開發出具有深度封包檢測功能的第二代路由器，稱之為CISCO ISR G2。

## 外部連結

- Test Methodology - registration required
- Subverting Deep Packet Inspection the Right Way
- What is "Deep Inspection"?
- A collection of essays from industry experts
- What Is Deep Packet Inspection and Why the Controversy
- White Paper "Deep Packet Inspection – Technology, Applications & Net Neutrality"
- Egypt's cyber-crackdown aided by US Company - DPI technology used by Egyptian government in recent internet crackdown
- http://www.savetheinternet.com/
- Deep Packet Inspection puts its stamp on an evolving Internet
- Validate DPI policy using real applications
- Hand-held packet capture device with PCAP storage