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

ディープパケットインスペクション(DPI)は、ネットワーク上を流れるパケットのデータ部分(ペイロード)までを詳細に解析し、アプリケーションの種類や通信内容を特定・制御する技術のことです。

従来のファイアウォールやルーターがパケットのヘッダー情報(送信元・送信先IPアドレスやポート番号)のみを参照して通信を制御していたのに対し、DPIはパケットの深部まで踏み込んで検査を行う点に特徴があります。

DPIの仕組みと従来の技術との違い

通常のパケットフィルタリングでは、OSI参照モデルのネットワーク層(第3層)からトランスポート層(第4層)までの情報に基づき判断を行います。しかし、近年の高度なサイバー攻撃や特定のアプリケーション(P2Pやストリーミングなど)は、標準的なポート番号を偽装して通信を行うことがあります。

DPIは、アプリケーション層(第7層)のデータを確認することで、実際の通信がどのようなサービスやプロトコルによるものかを正確に判別します。

解析のプロセス

  1. パケットの再構築: 分割されたIPパケットを一旦組み立て直し、一連のデータストリームとして再現します。
  2. シグネチャマッチング: 既知のアプリケーションやウイルス、攻撃パターンなどのデータベース(シグネチャ)と、再現したデータを照合します。
  3. 振る舞い分析: 通信の頻度やパターンを解析し、未知の脅威や特定のアプリケーション特性を識別します。

主な利用シーンとメリット

DPIは、セキュリティ対策からネットワーク管理まで幅広い用途で活用されています。

  • 次世代ファイアウォール(NGFW)とIPS: 通信内容に含まれる不正なコードやマルウェアを検知し、侵入を防ぎます。
  • トラフィックシェイピング: ネットワーク帯域を過度に消費する特定のアプリケーション(ファイル共有ソフトなど)の通信を制限し、重要な通信の品質(QoS)を確保します。
  • データ漏洩防止(DLP): 組織外へ送信されるメールやファイルの中に、機密情報が含まれていないかを検査し、情報の流出を阻止します。

処理能力と計算負荷

DPIはパケットの中身を一つずつ精密に検査するため、単純なフィルタリングに比べてネットワーク機器に多大な負荷をかけます。

ネットワークの総スループットを $S$ 、入力されるパケットの平均サイズを $L$ 、パケット1つあたりのDPI処理にかかる時間を

T_{dpi}

とすると、DPI処理能力の限界

S_{max}

は、理想的な条件下で以下の関係として捉えることができます。

S_{max} = \frac{L}{T_{dpi}}

通信速度の低下を防ぐため、最新のネットワーク機器ではDPI専用のアクセラレータやASIC(特定用途向け集積回路)を搭載することで、高速な処理を実現しています。

運用の留意点と課題

DPIの導入にあたっては、以下の点に配慮が必要です。

  • 暗号化通信(HTTPS等)への対応: 通信がTLSなどにより暗号化されている場合、そのままではDPIによる中身の検査ができません。この場合、SSL/TLSインスペクションと呼ばれる手法を用いて、一度通信を復号して検査し、再度暗号化して送信する処理が必要になります。
  • プライバシーの保護: 通信の内容を精査する性質上、個人の通信の秘密を侵害しないよう、適用範囲や法的・倫理的な側面を慎重に検討する必要があります。

DPIは、複雑化するサイバー脅威への対抗手段として、また限られたネットワーク資源を最適に配分するための高度なインフラ技術として、現代のネットワーク運用において中核的な存在となっています。

関連用語

ペイロード | 今更聞けないIT用語集
NGFW | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。