DPI

読み方 : でぃーぴーあい

英語正式表記 : Deep Packet Inspection

DPIとは

DPIはDeep Packet Inspectionの略で、IPパケットのデータ部分(ペイロード)の情報を基に、フィルタリングなどの処理方法を決める機能である。ルーターやスイッチ、帯域制御装置、UTM(Unified Threat Management)、次世代ファイアウォールなどの機器がDPIを搭載する。用途はウイルス対策や特定のアプリケーションの制限など様々である。

DPIの登場以前は、パケットの処理方法はヘッダー部分に含まれる宛先/送信元IPアドレスやポート番号などを基に決めるのが一般的だった。この方法をSPI(Stateful Packet Inspection)と呼ぶ。

しかしインターネットの利用が一般化し、その上で動くサービスやアプリケーションが複雑になると、SPIでは不十分になってきた。例えばインターネット上での攻撃が高度になり、「パケットのヘッダー部分は正常に見えるが、データ部分にウイルスなどが埋め込まれている」といったケースが出てきた。そこでパケットのデータ部分もチェックして、もっと細かい処理を実現できるようにしたのがDPIだ。

DPIの実装はベンダーごとに異なるものの、大まかにプロキシ型とフロー型の2種類に分けられる。

一般にIPネットワークでは、データを分割して複数のパケットに載せて送り出す。プロキシ型のDPI機器は複数のパケットを一度メモリーにためて、元のデータに復元してから内容をスキャンする。そしてスキャンの結果に基づき、管理者があらかじめ決めておいた方法に従ってパケットを処理する。例えばウイルスが含まれる場合は廃棄し、正常ならそのまま宛先にパケットを転送するといった具合だ。一方フロー型では、複数のパケットに分割して送られてきたデータを、メモリーにためずそのままスキャンして処理する。

プロキシ型とフロー型には、それぞれメリットとデメリットがある。

プロキシ型はZIPなどの圧縮ファイルを送る場合、いったんメモリーにためたデータから元のファイルを復元し、圧縮を解いてから内容をスキャンする。そのため、ファイルの圧縮形式に関係なくデータの内容を調べることができる。ただしメモリーにためる分だけ時間が掛かってしまう。メモリーの容量には限りがあるので、スキャンできるデータの大きさにも制限がある。

フロー型では、データをメモリーにためないので処理に時間が掛からず、データの大きさに制限もない。ただしDPIのエンジンが対応していない圧縮形式のファイルデータは無意味なビット列と認識してしまうため、適切に処理できない。

導入企業は、必要となる性能や、社内で主にやり取りするファイルの種類によって、どちらかを選ぶことになる。

出典:ITpro「今日のキーワード」(C)日経BP社

[2012年11月15日 公開]

大塚商会の法人向け通販サイト(たのめーる)のご紹介