サーバのアクセス制限を安全に変更するための機構

インターネットサーバはつねにバッファオーバフロー攻撃などのクラック攻撃に よって制御を奪われる危険にさらされている.クラック攻撃を防ぐ手法も研究さ れているが,サーバの制御が奪われるのはサーバ作成者のミスに起因するので, あらゆる攻撃を防げるようにするのは難しい.そこで,万一に備えてサーバにア クセス制限をかけて,クラック攻撃による被害を最小限に抑えることが必要であ る.実用的なサーバは様々なリクエストを処理しなければならないので,アクセ ス制限をかけるだけでなく,解除できるようにする必要もある.しかし,サーバ はクラック攻撃されているかもしれないので,サーバが自分自身のアクセス制限 を解除できるようにするのは危険である.本稿では,制御を奪われたサーバが不 正にアクセス制限を解除できないようにするために,{\em プロセス・クリーニ ング} という手法を提案する.プロセス・クリーニングはサーバの制御を取り戻 し,プロセスの状態を元に戻した後でのみ,アクセス制限の解除を許す.さらに, プロセス・クリーニングのオーバヘッドを減らすために,プロセスのメモリイメー ジを復元する方式をユーザが選択できるようにした.プロセス・クリーニングの 性能について調べるために,我々の開発しているCompactoオペレーティングシス テム上で動くApacheウェブサーバの性能を測定した.その結果,プロセス・クリー ニングのオーバヘッドは許容できるものであった.