レースコンディションとは?
レースコンディションとは、並行して動く処理の実行順序によって結果が変わる状態。とくに検査してから使用するまでの隙間に対象がすり替わるTOCTOU型は、権限確認を通り抜ける原因になる。Webでは同時リクエストで残高や在庫の判定が二重に通る形で現れる。
れーすこんでぃしょん
レースコンディションの意味
並行して動く処理の実行順序によって結果が変わる状態。とくに検査してから使用するまでの隙間に対象がすり替わるTOCTOU型は、権限確認を通り抜ける原因になる。Webでは同時リクエストで残高や在庫の判定が二重に通る形で現れる。
レースコンディションの具体例
ポイント交換で残高確認と減算が別トランザクションだと、同じリクエストを同時に10本送ることで残高以上の交換が成立する。対策は該当行のロックや条件付き更新で、更新時に「残高が十分である」という条件を同時に評価させること。
レースコンディションは試験でどう引っ掛けられる?
再現しにくいため軽く見られがちだが、攻撃側は意図的に同時送信して確率を上げられる。アプリ側の排他制御だけでは複数サーバ構成で効かず、DBのトランザクション分離レベルや一意制約といった共有資源側の仕掛けが要る。
レースコンディションと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。