IT用語集 › セキュリティ › TOCTOU

TOCTOU

セキュリティ Svenska → 更新: 2026-10-22

Time-of-Check to Time-of-Use。プログラムが検査してから使用するまでの間に、攻撃者が対象を差し替える競合状態。

典型例はこうだ。特権プロセスがaccess(path)でユーザーに読み取り権限があるかを確かめ、その後open(path)する。攻撃者は2つのシステムコールの間にシンボリックリンクを差し替える。結果、「ユーザーに代わってrootとして」/etc/shadowが読まれてしまう。

対策は、パスを使うシステムコールを避け、特定のinodeを指すファイル記述子版(openat、fstat)を使うことだ。O_NOFOLLOWやRESOLVE_BENEATHも有効である。Windowsにも、oplockやNTFSジャンクションを使った同種の手口がある。

← 用語集に戻る