セキュリティ:
LAN全体をカラダと見なし防衛

 未知の攻撃を検知し,防御する――。こういった生物の免疫機構をコンピュータ・システムに取り入れようという動きがある。

図4●人の免疫システム・モデル
抗原に対してB細胞が抗体を作って攻撃し,感染してしまった細胞に対してはT細胞が攻撃を加える。B細胞は一度攻撃した抗原を記憶する働きがある。T細胞は胸腺において自己と非自己を判定できるものだけが生き残り,全身に送られる。
図5●免疫系セキュリティ・システム
東京理科大学情報メディアセンター長の溝口文雄教授のグループが開発した。通信を監視するエージェントがB細胞,プロセスを監視するエージェントがT細胞に相当する。関連するエージェント同士には通信チャネルが確保され,不正の可能性がある処理が行われた場合,関連するエージェントに問い合わせて,不正アクセスでないかを判断する。また,不正アクセスだと判定した場合は,関連するプロセスを止められる。

 生物の免疫系は,大きくB細胞とT細胞と呼ばれる二つの細胞が担っている(図4[拡大表示])*2。B細胞は抗原(ウイルス)に対抗する。表面に抗原を検知するさまざまなアンテナを持つ。これで抗原を検知すると,対応した抗体を作り出す。抗体が抗原を攻撃する。未知のウイルスの場合は,対応するアンテナをB細胞は持たないが,B細胞は突然変異を繰り返し,やがて未知のウイルスに対応するアンテナを持ったB細胞を作り出す。

 T細胞はウイルスに感染してしまった細胞を攻撃する役目を負う。T細胞は胸腺と呼ばれる個所で作られる。胸腺では突然変異を繰り返し,ウイルスに感染した細胞だけを攻撃する細胞が選り分けられる。これらが体内に流通する。

 東京理科大学で情報メディアセンター長を務める溝口文雄教授らはこの免疫機構をLAN全体に適用するシステム1を開発し,実験を行っている(図5[拡大表示])。「LANがあたかも一つの個体のように動作し,外敵となるユーザーやプログラム,通信を発見し,排除するシステムを作り上げる」(東京理科大学の溝口教授)のが目標だ。

 このシステムでB細胞に相当するのが通信を監視するエージェント(B細胞エージェント)。細胞に感染する前に検知し,食い止めるという点でB細胞と同じである。T細胞に相当するのがプロセスを監視するエージェント(T細胞エージェント)。問題のある細胞を検知し,破壊するという点でT細胞と同じだ。

 B細胞エージェントは,監視対象のサービスに対して通信が発生するごとに生成する。このとき,送信側のIPアドレスとポート番号,受信側(自分)のポート番号などを記録する。また,自分以外を発見するためのルールを持っており,ルールに合致するようなパケットがやってきた場合は,セッションを切るなどの措置を取る。

 T細胞エージェントは,監視対象のサービスから起動したプロセスごとに作る。また,起動したプロセスが立ち上げたプロセスに対しても新しいT細胞エージェントを生成する。T細胞エージェントは,プロセスのユーザーID(権限),プロセスID,プロセスを起動した親プロセスのIDなどを持つ。また,非自己を判定するルールを持っており,これに合致した場合は,担当しているプロセスを停止する。

 このシステムのミソは,エージェント間に通信チャネルがあることだ*3。これにより,何か不正な処理が行われた可能性がある場合は,関連するエージェントに問い合わせて,確認することができる。

 例えば,Guestユーザーが不正な処理をすることで,root権限を取るという手口がある(エスカレーションという)。プロセスレベルで見ると,Guest権限のプロセスからroot権限のプロセスが起動されたように見える。そこで,「root権限で起動されたプロセスがある場合,その親プロセスに通信チャネルを使って問い合わせる。もし,rootプロセスではないときは,プロセスを停止する」「関連あるT細胞エージェントやB細胞エージェントにプロセスや通信の遮断を指示する」というルールを作っておけば,不正アクセスを排除できる。

 また,不正アクセス・パケットの送信側にこのシステムが導入されていれば,受信側のB細胞エージェントと,送信先のプロセスが通信チャネルを通して連携し,攻撃しているプロセスを止めることが可能だ。こういった処理が連鎖していけば,LAN全体から不正プログラムを排除できる。実験では,1台のコンピュータにだけ不正アクセスを排除する新しいルールを導入して,全体から不正プログラムを排除できたという。

(中道 理,高橋 秀和)