SoftEther Alert について

SoftEther Alert」は普通の IDS とは違い、IPやTCPヘッダの情報や、パケットの中身のデータはほとんど見ていない。(そもそも SoftEther の通信は安全のため SSL で暗号化しているのでパケットの中身を見ることはできない。また SoftEther ではポート番号を変えられるためポート番号をベースにしたシグネチャも無意味である。)
ではどのように動作しているのかというと、トラフィックパターンという、特定の TCP 通信におけるデータの流れる方向の切り替わり点とデータ流量をリアルタイムに記録して判別している。SoftEther に限らず、特定のネットワーク アプリケーションの通信プロトコルには、パケットの中身を見なくてもその通信セッション内の通信データの流量と送受信方向の切り替わり点の監視によって検出可能であり、検出にはほとんどコストはかからない。
SoftEther Alert を作るにあたって、初めて libpcap でキャプチャした生の MAC フレームの集合体から TCP 通信セッションを1つ1つ識別するためのコードを書いてみた。その後で最適化を施し、計算量とメモリ使用量を極力落として現在公開されている SoftEther Alert 程度の品質のソフトウェアとして完成させた。