数年前,筆者は米サンのOS「Solaris」のIPスタック――具体的にはIPデータグラム――の処理で二つのぜい弱性(バグ)を発見した。IP処理コードは信頼できないマシンに公開せざるを得ないため,この種のバグは極めて深刻な存在だ。さらに,IPデータグラム処理のバグは,ファイアウォールの侵害やカーネル・パニック,あるいはさらに深刻なケースにつながる。筆者が発見したこれらのバグも例外ではない。以下に概要を示す。 バグ1:フラグメンテーション攻撃 このぜい弱性は,SolarisのIPフラグメントの再構成処理に関係する非常に興味深い問題だ。一般的にカーネルは,到着するフラグメントごとにフラグメントのデータ部(IPヘッダーではなくデータ)をこのデータグラムと関連付けたリストに格納する。このキューにつなぐ最初のフラグメントを受け取ったとき,IPヘッダーは外さない。したがって,フラグメントの再構成が完了す