CSRFとは?
状態:-
閲覧数:2,394
投稿日:2009-07-10
更新日:2017-09-15
英語表記
・Cross-site Request Forgery
片仮名表記
・クロスサイトリクエストフォージェリ
Webアプリケーションに対する攻撃手法の一種
・悪意あるスクリプトやURLにアクセスさせることで、意図しないWebサイト上の操作を行わせる手法
・特定の機能を実行するときのHTTPリクエスト(URLや必要なパラメータなど)を攻撃者が推測可能な場合に、攻撃者によって誘導されたユーザーが、意図に反してその機能を実行させられてしまう
・その結果、本来受け付ける必要がない(拒否すべき)外部のWebページからのHTTPリクエスト(POSTやGET)によって、Webサイトの何らかの機能が実行される
・別のサイトに用意したコンテンツ上の罠のリンクを踏ませること等をきっかけとして、インターネットショッピングの最終決済や退会等Webアプリケーションの重要な処理を呼び出すようユーザを誘導する攻撃
特徴
・正規ユーザが本来想定されている操作を行ったかのようにリクエストを発生させることができる(リクエストの偽造:Request Forgery)
背景
・ブラウザが正規の Webコンテンツにアクセスした際には毎回、セッションを維持するために所定の Cookie、Basic認証データあるいは Digest認証データがブラウザから Webサーバ宛に送出されるという性質を、この攻撃は悪用する
攻撃対象
・トランザクション投入のきっかけとなったフォーム画面が自サーバから供給(POST)されたものであることを確認していない Webアプリケーション
・ログイン認証を必要とするWebサイト
攻撃を受けると?
・ユーザーの権限をもってログインしなければできないことが操作可能になる
・削除機能や編集機能、退会機能などを実行されてしまう恐れもある
・Cross-site Request Forgery
片仮名表記
・クロスサイトリクエストフォージェリ
Webアプリケーションに対する攻撃手法の一種
・悪意あるスクリプトやURLにアクセスさせることで、意図しないWebサイト上の操作を行わせる手法
・特定の機能を実行するときのHTTPリクエスト(URLや必要なパラメータなど)を攻撃者が推測可能な場合に、攻撃者によって誘導されたユーザーが、意図に反してその機能を実行させられてしまう
・その結果、本来受け付ける必要がない(拒否すべき)外部のWebページからのHTTPリクエスト(POSTやGET)によって、Webサイトの何らかの機能が実行される
・別のサイトに用意したコンテンツ上の罠のリンクを踏ませること等をきっかけとして、インターネットショッピングの最終決済や退会等Webアプリケーションの重要な処理を呼び出すようユーザを誘導する攻撃
特徴
・正規ユーザが本来想定されている操作を行ったかのようにリクエストを発生させることができる(リクエストの偽造:Request Forgery)
背景
・ブラウザが正規の Webコンテンツにアクセスした際には毎回、セッションを維持するために所定の Cookie、Basic認証データあるいは Digest認証データがブラウザから Webサーバ宛に送出されるという性質を、この攻撃は悪用する
攻撃対象
・トランザクション投入のきっかけとなったフォーム画面が自サーバから供給(POST)されたものであることを確認していない Webアプリケーション
・ログイン認証を必要とするWebサイト
攻撃を受けると?
・ユーザーの権限をもってログインしなければできないことが操作可能になる
・削除機能や編集機能、退会機能などを実行されてしまう恐れもある
対策
攻撃者による推測が困難なパラメータをHTTPリクエストに含める
ワンタイムトークンの利用
・画面を識別するために外部からは予測不可能な使い捨てIDを発行し画面遷移をチェック
重要な処理を確定させる際に再認証を行う
・商品購入、決済などの重要な操作を確定させる前に必ずIDとパスワードを入力させる
ワンタイムトークンの利用
・画面を識別するために外部からは予測不可能な使い捨てIDを発行し画面遷移をチェック
重要な処理を確定させる際に再認証を行う
・商品購入、決済などの重要な操作を確定させる前に必ずIDとパスワードを入力させる