ディープ・パケット・インスペクション

ディープ・パケット・インスペクション（、DPI）はコンピュータネットワークのパケットフィルタリングの一種で、インスペクションポイントをパケットが通過する際にパケットのデータ部（と場合によってはヘッダ部）を検査することをいう。ネットワークトラフィックを分析して、データを送信したアプリケーションの種類を検出する。プロトコルに準拠しているかとか、コンピュータウイルスではないか、スパムではないか、侵入ではないか、あるいは何らかの基準に照らしてそのパケットを通過させるかを判断したり、それとも別の宛先に転送するかを判断したり、統計情報を収集したりといった目的で行われる。IPパケットには複数のヘッダ部があるが、IPネットワーク機器は通常、先頭のヘッダ（IPヘッダ）しか必要としない。しかし、第2のヘッダ（IPの上位層であるTCPやUDPのヘッダ）を調べることもあり、これをステートフル・パケット・インスペクションと呼び、ディープではない浅いパケット・インスペクションの一種とされる。
DPI用にパケットを取得する方法はいくつかある。を使うのが一般的だが、光スプリッタを使う方法もある。
DPI（とそれによるフィルタリング）は、高度なネットワーク管理、ユーザーサービス、情報セキュリティを可能にし、他にもインターネットデータマイニング、傍受、ネット検閲なども可能にする。DPIはインターネットの管理に長年使われてきたが、ネットワーク中立性の主張者はこの技術が不当に使われインターネットのオープン性を損なうようになるのではないかと懸念している。
DPIは一般企業、サービスプロバイダ、政府などが様々な用途で使っている。
背景.
DPIは侵入検知システム (IDS) と侵入防止システム (IPS) の機能を従来からあると結合する。この組合せにより、IDS/IPSもステートフル・ファイアウォールも単独では検出できないある種の攻撃を検出できるようになる。ステートフル・ファイアウォールはパケットの流れの最初と最後を認識できる（セッション開始と終了を把握できる）が、途中でアプリケーションの想定外の事態が起きても把握できない。一方IDSは侵入を検出できるが、そういった攻撃をブロックする能力はほとんどない。DPIはウィルスやワームの攻撃をネットワークの速度で防ぐのに使われている。具体的には、バッファオーバーランを利用した攻撃、DoS攻撃、巧妙な侵入、ごく一部の1個のパケットで納まるワームなどに効果がある。
DPIを備えた機器はOSI参照モデルの第2層と第3層以上を調べる能力がある。中には第2層から第7層まで全部を調べるものもある。これにはヘッダ部やプロトコルのデータ構造だけでなく、ペイロードも含まれる。DPI機能が使われるのは、機器がOSI参照モデルの第3層より上の情報に基づいて何らかのアクションをとる場合である。DPIを使えば、ヘッダによるパケットの分類以上のことができ、データ部から抽出した情報をシグネチャデータベースと照合することでさらに細かくトラフィックを分類でき、それによってきめ細かい制御が可能となる。DPIによる検査を回避したい場合、終端間で暗号化してパケットをやり取りすることがよく行われている。
DPIによるパケットの分類に基づき、パケットをリダイレクトしたり、タグ付け（QoSのための優先順位付け）したり、ブロックしたり、転送レートを制限したり、指定されたエージェントに報告したりする。例えばHTTPのエラーの種類を検知して、分析のために転送したりといったことが可能である。多くのDPI機器はパケット単位の検査に留まらず、パケットの流れ（セッション）を把握でき、蓄積された情報に基づいた動作の制御が可能である。
企業レベルでのDPI.
企業レベルでのセキュリティは本来単なる防御線であり、無許可のユーザーを締め出し、許可されたユーザーを外界から守るものだった。そのためにステートフル・ファイアウォールがよく使われていた。外界からのアクセスは事前に許可された宛先のものだけを通し、それ以外のマシンと外界の通信は企業内ネットワーク側からの接続の場合のみ許可していた。
しかし、ステートフル・ファイアウォールでは検知できないネットワークの脆弱性を利用する不正アクセスが行われるようになった。またノートパソコンの普及に伴い、相対的に安全性の低い自宅などでインターネットに接続したノートパソコンを会社に持ち込んで企業内ネットワークにも接続するようになり、ウイルスやワームやスパイウェアの侵入を防ぐのが難しくなってきた。またファイアウォールでは、アプリケーションの使用が許可されていれば、それが正当に外界にアクセスしようとしているのか、それとも例えばウイルスに感染して不正にアクセスしようとしているのか、判断できない。DPIを使えば、IT管理者やセキュリティ担当者はあらゆる層で方針を設定・強制でき、アプリケーションやユーザー層の脅威との戦いを支援できる。
DPIは一部のバッファオーバーランを利用した攻撃を検出できる。
DPIは企業の (DLP) として使われることもある。例えばユーザーが機密情報ファイルを電子メールに添付して外界に送ろうとすると、それを検出し、そのファイルの持ち出し許可が必要であることを通知するといったことが可能である。
ISPでのDPI.
インターネットサービスプロバイダ (ISP) は、顧客に提供しているネットワーク接続にもDPIを適用している。ISPによるDPIの用途としては、合法的な傍受、セキュリティ方針の設定と施行、行動ターゲティング広告、Quality of Service (QoS)、サービスレベル毎の料金プラン、著作権保護などがある。
合法な傍受.
サービスプロバイダはほぼ世界中の政府からを許可されている。数十年前の電話網では、傍受用プロキシサーバを使ってトラフィックアクセスポイント (TAP) を設け、政府の監視機器をそこに接続していた。これは現在のデジタルネットワークでは不可能である。傍受機能は様々な方法で提供され、DPIもその1つである。アメリカでは裁判所の命令があれば通信傍受支援法 () 準拠のDPIを装備した機器を使用でき、ユーザーのデータストリームにアクセスできる。
セキュリティ方針設定と施行.
サービスプロバイダは、顧客との間で一定レベルのサービスを提供するというサービス水準合意を義務付けられているが、同時に (AUP) も義務付けられており、利用規定に反する著作権違反・不法な素材・不公平な帯域幅利用などを検出するためにDPIを使うことがある。国によってはISPは法律にしたがってフィルタリング実施を要求される。DPIを使えば、顧客が受け取った電子メール、訪れたウェブサイト、アクセスした動画、ダウンロードした音楽やソフトウェアなどを即座に把握できる。規定により、特定のIPアドレスとの接続、特定のプロトコルの使用、特定のアプリケーションの使用や何らかの行為を禁じたり許可したりする。
ターゲット広告.
ISPは全顧客のトラフィックを管理しているので、顧客のウェブ閲覧行動を非常に詳細に監視でき、顧客の嗜好についての情報を収集し、それをターゲット広告に利用できる。アメリカでは少なくとも10万人、多く見積もれば10%の顧客がそのような形で監視されているという。そういった技術を提供する業者としては、NebuAd、、Phormなどがある。アメリカで顧客の行動を監視しているISPとしては、 や などがある。また、イギリスのISPである British Telecom はPhormからこの技術を導入したが、そのことを顧客に知らせていなかった。
QoS.
P2Pなどのアプリケーションのトラフィック増大がサービスプロバイダにとって大きな問題となってきている。P2Pは主にファイル共有に使われている。共有されるファイルは、文書・音楽・動画・アプリケーションなど様々である。大きなファイルを頻繁に転送するため、P2Pのトラフィック負荷は増加しており、ネットワーク容量の増強が必要となっている。サービスプロバイダは、ごく一部のユーザーがP2Pトラフィックの大部分を生み出しており、多くの加入者の電子メールやウェブ閲覧で使用する帯域幅を圧迫していると主張している。そして、ネットワーク性能が低下することで顧客が離れ、売り上げ減につながるという。
DPIを使えば、帯域幅を過剰に売っても、ネットワークの輻輳を防いで全ユーザーに平等に帯域幅を分配することが可能である。また、ウェブ閲覧などに比べて低レイテンシを要求されるVoIPやテレビ会議のトラフィックに高い優先順位を付けることもできる。これは、ISPが自身のネットワークを流れるトラフィックを監視して動的に帯域幅を割り当てるものである。
サービスレベル毎の料金プラン.
モバイルやブロードバンドのサービスプロバイダはDPIを利用して、料金の異なる複数のサービスレベルを提供している。高付加価値のサービスを設定することで顧客あたりの売り上げ（ARPU）を増加させることができる。サービスレベルの規定はDPIを使って実施することができる。
著作権保護.
ISPは著作権者や司法から著作権保護への協力を求められることがある。2006年、デンマークのISPであるは、BitTorrentの検索サイトパイレート・ベイへの顧客のアクセスをブロックするよう裁判所に命じられた。ファイル共有による著作権違反を1件ずつ起訴する代わりに、IFPIと主要なレコード会社4社（EMI、ソニーBMG、ユニバーサルミュージック、ワーナーミュージック）は、著作権を十分に保護しようとしなかったとして などのISPを訴え始めた。IFPIが意図したのは、著作権で保護された素材のアップロードとダウンロードのトラフィックをISPにフィルタリングさせることだった。ただし当時のヨーロッパでは、指令2000/31/ECによってISPが転送する情報を監視することを禁じており、指令2002/58/ECによってヨーロッパ市民の通信のプライバシーが保護されていた。一方、映画の著作権を管理するアメリカ映画協会 (MPAA) は、連邦通信委員会 (FCC) のネットワーク中立性推進政策がDPIや他のフィルタリングを使った著作権違反対策技術に打撃を与えたとの見解を表明した。
政府によるDPI.
各国の政府は自らのネットワークのセキュリティ確保のためにDPIを利用しているが、同時にサーベイランスや検閲などの様々な目的でDPIを利用している。その多くは機密とされている。
アメリカ.
アメリカにはCALEA（通信傍受支援法）があり、政府当局が法の執行のために通信を傍受することが許されている。インターネット上の通信も例外ではない。DPIは傍受の基本的技術であり、アメリカ中でそのために配備されている。
アメリカ国家安全保障局 (NSA) はAT&Tと共同でDPI技術を使い、インターネットのトラフィックを監視・調査・転送を行ってきている。DPIを使えば、個々のパケットが電子メールを運んでいるものなのか、VoIPの電話音声を運んでいるものなのかが判別できる。AT&Tの共通バックボーンのトラフィックは2本のファイバーに分けられており、信号がその2本の出力ファイバーで運ばれる。そのうちの1本はセキュアな部屋に送られ、もう一本はAT&Tのスイッチング装置に向けられ、通常の通信を続行する。その安全な部屋には、製のトラフィックアナライザと論理サーバがある。Narusによれば、その装置は毎秒10ギガビットの速度でリアルタイムにデータを収集・分析できるという。特定のトラフィックが選別され、専用線で本格的に分析を行う部門に送られる。関係者の証言によれば、この枝分かれさせたトラフィックは「AT&Tのサンフランシスコ湾エリアでのトラフィックのほぼ全部」だという。IBMまたはデルのLinuxサーバ上でNarusの Semantic Traffic Analyzer というDPIを使ったソフトウェアが動作し、10Gbit/sの速度でIPトラフィックを解析し、指定したメールアドレス、IPアドレス、VoIPの電話番号などに基づいて特定のメッセージ群をピックアップする。時の大統領ジョージ・W・ブッシュと司法長官アルバート・ゴンザレスは、アメリカ国内の電話や電子メールのやりとりや外国諜報活動偵察法 (FISA) の許可を得ていない海外との通信を秘密裏に傍受することは、大統領の権限であると信じていると表明した。
アメリカ国防情報システム局はDPIを使ったシステムを開発した。
中国.
中国政府はDPIを使ってネットワークのトラフィックを監視しており、中国市民や国家にとって有害だとしたコンテンツを検閲している。例えば、ポルノグラフィ、宗教関係の情報、政治的批判などが検閲対象に含まれる。中国のISPはDPIを使用し、何らかの問題とされるキーワードがないか監視している。そのようなキーワードが見つかれば、その接続を切る。中国に住む人々は、中華民国（台湾）やチベットの独立に関するウェブサイトにアクセスできない。他にも、法輪功、ダライ・ラマ、六四天安門事件、共産党の一党支配に反対する政治団体、その他様々な反共産主義的なサイトへのアクセスがブロックされている。これらはDPIで検出すべきキーワードとして登録済みである。Skypeによる音声トラフィックは検閲されないが、テキストメッセージはDPIの対象であり、問題のキーワードを含むメッセージを発見すると、エラーなども通知せず単にそのパケットを転送しないようにする。中国ではYouTubeや画像などの視覚的メディアのサイトやブログのサイトもブロックしている。
イラン.
2008年、イラン政府は Nokia Siemens Networks（NSN、シーメンスとノキアの合弁企業）からDPI用といわれるシステムを購入したと、2009年6月のウォール・ストリート・ジャーナル紙でNSNのスポークスマン Ben Roome の言葉を引用する形で報道された。その記事内で無名の専門家の言として、そのシステムが「当局による通信のブロックだけでなく、個人について情報を収集したり、意図的に改竄して誤情報を流すといったことが可能」だとしている。
このシステムはイラン政府が独占している通信業界の一部である Telecommunication Infrastructure Co. が購入した。ウォール・ストリート・ジャーナルによれば、NSNは合法的傍受として国際的に認められている概念の下で、昨年イランに機器を提供したとRoomeは語った。テロ、幼児ポルノ、麻薬取引、オンラインでの犯罪行為などと戦うことを目的とした傍受であり、多くの通信会社が普通に持っている機能だと彼は言った。NSNの会社概要によれば、イランに販売した監視センターはあらゆるネットワーク上の音声とデータの通信を監視・傍受できるとされている。ただし同社は既にこの事業から撤退したとRoomeは語っている。
イランは他にも から同様の機器を購入している。
ワシントンD.C.で活動するアナリストの David Isenberg やケイトー研究所の Adjunct Scholar はウォール・ストリート・ジャーナルの記事の信憑性に疑問を呈しており、Roomeが記事に掲載された彼の言葉とされるものを否定しているとした。Isenbergはそれ以前にもウォール・ストリート・ジャーナルの同じ記者の記事に疑問を投げかけたことがある。NSNは、「イランにDPI技術、ウェブ検閲技術、インターネット・フィルタリング技術を提供したことはない」との声明を発表した。当時のニューヨーク・タイムズ紙はNSNについての報道の過熱ぶりとイランでのインターネットなどのメディアの検閲について報じたが、DPIについては言及していない。
ネット検閲を回避するソフトウェア を開発した Walid Al-Saqaf によれば、イランは2012年2月にDPIを使用し、イラン全体のインターネットをほぼ停止状態にまで低速化させたという。それによりTorやAlkasirなどのツールへのアクセスが困難になった。
ロシア.
DPIはロシア連邦憲法第23条で定められている「通信の秘密に対する権利」を侵害するものである。しかしロシア連邦法 139-FZ により、ブラックリストに掲載されたウェブサイト（幼児ポルノサイトなど）がIPフィルタリングによってブロックされた。
DPIとネット中立性.
プライバシーやネットワーク中立性を心配する人々や団体は、インターネットのコンテンツ層の検査について不快感を表明しており、「ネットはオープンアクセスとパケットを平等に扱うことで成り立っている」などと主張している。一方ネットワーク中立性の法制化に反対する側は、ネットワーク中立性を法制化すればネットワークの発展が阻害され次世代のサービスが生まれなくなると主張している。
ソフトウェア.
OpenDPIは、解読を困難にした通信プロトコル以外のトラフィックを対象としたオープンソースのDPIソフトウェアである。PACEも同様のエンジンだが、暗号化などで解読しにくくしたプロトコルにも対応しており、Skypeや暗号化されたBitTorrentなどのトラフィックも扱える。OpenDPIは既にメンテナンスされておらず、そこからフォークしたnDPIの開発が活発に続けられている。nDPIはSkype、、Citrixといった新しいプロトコルにも対応している。
L7-FilterはLinuxのNetfilter用ツールで、アプリケーション層のデータに基づいてパケットを識別する。、HTTP、Jabber、Citrix、BitTorrent、FTP、、eDonkey2000 などを識別可能である。パケットがストリーミング用か、電子メール用か、P2P用か、VoIP用か、ゲーム用かなどと分類することができる。
Hippie (Hi-Performance Protocol Identification Engine) はDPI機能をカーネルモジュールとして開発するオープンソースプロジェクトである。Josh Ballard が開発した。DPI機能だけでなく、ファイアウォール機能も備えている。
SPID (Statistical Protocol IDentification) はネットワークのアプリケーション毎のトラフィック統計をとるソフトウェアである。SPIDはアプリケーション層（第7層）のプロトコルを識別するために、パケットのサイズなどからフローを分析し、ペイロードの中身を統計的に分析する。概念実証段階であり、今のところ約15のアプリケーションやプロトコルに対応している（eDonkey、Skype、BitTorrent、IMAP、IRC、MSNなど）。
Tstat (TCP STatistic and Analysis Tool) はトラフィックのパターンに洞察を与え、各種アプリケーションやプロトコルについて詳細および統計情報を提供する。
フランスのAmesysという企業は、カダフィ大佐に Eagle というインターネット監視システムを設計・提供していた。
ハードウェア.
アメリカでSOPAとPIPAという2つの法案が可決されなかったことから、DPIへの関心が急激に高まった。現在のDPI技法の多くは低速で高価であり、特に広帯域アプリケーションに対応したものは高価である。DPI技法の効率化が進んでいる。ハイエンドのルーターにはDPI機能が搭載されており、アプリケーションの辞書のようなものを内蔵していて、ルーティングしているトラフィックを識別できる。例えばシスコシステムズはDPI機能を Application Visivility and Control (AVC) と称している。