コンテンツへスキップ
uencoder

Time of Use (TOCTOU)

使用時刻(TOU)は TOCTOU 競合の後半、つまりプログラムがリソースを使用する瞬間である。この時点の状態は検査時と異なる可能性がある。

目的

検査から使用までの間にリソースが改ざんされるリスクを理解し、アトミック操作で防御する。

メカニズム

TOU の時点でリソースは既に攻撃者に差し替えられている(シンボリックリンクなど)可能性があり、TOC 検査のセキュリティ前提が無効になる。防御としては、パスではなくファイルを開いてディスクリプタに fstat を使う。

ユースケース

  • レースコンディションの防御
  • アトミックなファイル操作
  • セキュアコーディング

関連ツール

References