深度包檢測

深度封包檢測（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 業者使用深度封包檢測的用途一般有通訊監察、網路安全政策、定向廣告、服務品質、提供分層服務及著作權保護等。

3.1 通訊監察

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

3.2 網路安全政策

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

3.3 定向廣告

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

3.4 服務品質

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

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

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

3.5 分層服務

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

3.6 著作權保護

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

3.7 統計

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

政府的深度封包檢測

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

4.1 美國

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

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

已開發出一套使用深度封包檢測的感測器平臺。

4.2 中國

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

4.3 伊朗

據華爾街日報 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 等工具的使用。

4.4 新加坡

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

4.5 馬來西亞

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

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

4.6 俄羅斯

深度包檢測在俄羅斯沒有獲得法律授權。俄羅斯網際網路限制法案要求使用 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。

7.1 比較

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

硬體

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