OpenIDに仕掛けられやすい5つの攻撃
同じ車で戻ってくる:リプレイ攻撃
さて次は、OPで認証された後を見ていきましょう。
もし、車が正しくAゲートから出てきて戻ってきたとしても、利用サービスから見ると、それがさっきのユーザーと同じかどうかがはっきりとはわかりません。
見た目が同じ車が出てきたとしても、そこに乗っているのは、本当にさっき乗っていたユーザーなのか、どこか途中で入れ変わって、悪人が車に乗り込んでいるのではないか、という問題が残るのです。スモークになっているので、よく顔が見ませんが、車は同じで、ナンバーも同じで、Aゲートの通行証も持っていれば、それが実際は、悪人が乗っているということがわかりません。もし利用サービス側がそういった悪人を識別できない場合は、悪人がもともとのユーザーのフリをして、サービスにログインしてしまうことになります。
では、悪人がどうやってその同じ車を調達するのでしょうか。1つの方法としては、Aゲートからできてきた車のナンバーや種類を見ていて、その車と同じ車で入り口に何食わぬ顔をして戻るというものです。
この攻撃は、いわゆる「リプレイ攻撃」と言います。
リプレイ攻撃というのは、あるユーザーのログイン時の通信を傍受して、取得したパスワードを使ってそのユーザーになりすまし、認証を試みることを言います。
こうした場合の対処方法として、はじめに入り口にやってきたときに、見ないようにひそかに車の陰に暗号シールを張っておいて、Aゲートから戻ってきたときにその暗号シールを確認するというものです。攻撃者は別の車に乗ってくるはずなので、そこで識別することができます。
技術的には、セッショントークンを発行して、Cookieなどに持たせるとともに、データベースにも保存しておきます。リダイレクト先から戻ってきたときにそのトークンが存在しているかどうかを確認するとともに、制限時間を設けることで、もし15分以内であれば、許可する、といった方法が考えられます。
次回は認証にかかわるセキュリティー
第2回では、OpenIDの認証プロセスに沿った形で「サービス拒否攻撃」「フィッシング」「クロスサイトリクエストフォージェリ」「クロスサイトスクリプティング」「リプレイ攻撃」の5つについて概念的に説明しました。具体的、技術的な解説はWeb上や本で数多く出ていますのでそちらを参考にしてみてください。
第3回は、そのほかの認証にかかわるセキュリティー関連のテーマについて概観したいと思います。
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- これならわかる!OpenIDの仕組み
- セキュアなWebアプリケーションについて
- 診断の現場からの提言!Webサイトの脆弱性が潜む場所を知る
- 悪意のある攻撃から身を守るには?
- JPCERT/CC、バッファローのネットワーク機器に存在する脆弱性に関する注意喚起
- 日本トータルシステムが提供するグループウェア「GroupSession」に脆弱性、JPCERTが注意喚起
- 平成31年度 春期試験 午後Ⅰ問題対策① ―問1
- JPCERT/CC、NTT東日本および西日本の「ひかり電話ルータ」に存在する脆弱性について発表
- APIセキュリティのハードニング
- 注目のWebAuthnと公式より早いKeycloak最新動向を紹介!OSSセキュリティ技術の会 第5回勉強会