タイミング攻撃

Timing Attack

タイミング攻撃とは

タイミング攻撃とは、AIモデルの推論処理にかかる時間の差異を分析し、モデルの構造やデータに関する機密情報を推測するサイドチャネル攻撃の一種です。モデルが異なる入力に対して異なる処理時間を要する特性を悪用します。

表:タイミング攻撃の要点まとめ
ひとことで言うと処理にかかる時間の差から、内部の情報を推測する攻撃。
AIでの例応答時間の違いから、キャッシュの有無や入力の分類結果を推測する。
注意点処理時間を一定にする、ランダムな遅延を入れる、が基本的な対策。

攻撃のメカニズム

多くのAIモデルでは、入力データの特性によって推論時間が変動します。例えば、条件分岐を含むモデルは特定のパスを通る入力で処理が速くなり、可変長の出力を生成するLLMはトークン数に応じて応答時間が変わります。攻撃者はこの時間差を統計的に分析し、モデルのアーキテクチャ(層数、パラメータ数)、使用しているハードウェア、入力データのクラス分布などを推測できます。

図:タイミング攻撃のしくみ
1複数の入力を送る少しずつ変えて
▶
2応答時間を計測ミリ秒単位で記録
▶
3差を分析何が時間を分けたか
▶
4内部状態を推測秘密情報が漏れる
▶
5対策:時間を均一化差をなくす

防御手法

タイミング攻撃への防御は、応答時間の一定化が基本です。固定遅延の挿入、ランダム遅延の追加、バッチ処理によるレスポンスタイミングの均一化が有効です。ただし、これらの対策はレイテンシの増大を招くため、セキュリティ要件とパフォーマンス要件のトレードオフを慎重に検討する必要があります。ストリーミング応答を制限し、完成した応答のみを返す方式も検討すべきです。