パケットフィルタリングはネットワークセキュリティを確保する基本的手法である。フィルタリングルールの増加はパケット転送の遅延を招き、やがて通信品質の低下を引き起こす。本研究では、このような問題を解決するために、ルール数に依存せず一定時間でフィルタリングが可能な方法を構築し、その有効性を検証することを目的としていた。初年度はそれぞれのルールに含まれる連の照合を一括して行うデータ構造であるRun-Based Trieを提案し、その計算量について検討した。また、Run-Based Trieに含まれる連の集合である合致連集合の構造に着目し、各ビットからはじまる合致連集合の直積に基づいてパケットの照合を行う決定木を提案した。それぞれのデータ構造について計算量をもとめ、TrieについてはO(NdW)と時間計算量がルール数Nに依存するが、決定木についてはO((dw)^2)とNに依存しない特徴を備えることを示した。次年度は決定木の領域計算量を削減するために、決定木の枝刈り法について検討した。枝刈りにあたっては余分な枝の展開を事前に抑制することが鍵となる。本研究では、枝の展開の際にすでに構築した木の構造を参照することで、生成される枝を10分の1程度まで抑制する方法を構築した。最終年度は、パケットフィルタリングの標準ベンチマークであるClassBenchを用いて本手法の有効性を検証した。ClassBenchで最大4000個のルールからなるフィルタを生成しパケットフィルタリング実験を行った。また、ネットワークシミュレータ上で同様の実験を行いネットワーク上でキャプチャしたパケットに対して同様の実験を行いその有効性を確認した。これらの結果より、本研究では数千ルール規模の実用的なフィルタにおいてルール数に依存しないパケットフィルタを構築することができたといえる。
|