初期状況:
RESTful Web サービスは、二重送信 Cookie アプローチを使用して CSRF 攻撃を防御します。これは、認証トークンが 2 回送信され、サービス側で検証されることを意味します。
問題 / セキュリティ上の脅威:
Android および iOS プラットフォームの WebView 要素を使用すると、セッション Cookie を開示および変更する悪意のある Web ブラウザーを作成できます。webView.loadUrl("javascript:document.cookie=’’;");
. 攻撃者が、二重に送信された Cookie がどのように見えるか (この場合は AuthenticationToken) を既に把握している場合、悪意のある RESTBrowser を作成できます。したがって、彼は既知の CSRFToken をドキュメント オブジェクト モデルに追加し、CSRF 対策をバイパスします。ここまででいいの?
考えられる予防策:
これまでのところ、攻撃者がこのような悪意のあるモバイル アプリケーションを作成して公開するのを防ぐ方法や、悪意のあるモバイル アプリケーションを介してサービスにアクセスするのを防ぐ方法はわかりません。User-Agent
ヘッダーの存在と、サービスがこの情報を使用して特定のブラウザー以外からの要求を拒否できることを知っています。しかし、このヘッダーも WebView 内で操作できると確信しています。
悪意のあるモバイル アプリケーションのコンテキストでの CSRF に対する効果的な対策は何ですか?