Standing on the Shoulder of Linus

Home / 2012 / 5月 / 23 / CSRFについて

CSRFについて

CSRFについて調べてみました。まずは、用語から。私の手元にある本で調べてみました。

「PHPサイバーテロの技法」(GIJOE著)では、「2つのサイトにまたがって行われる偽のリクエスト」(p.43)、「サイトについての権限を持った人に重大な不正操作を強いる攻撃」(p.64)といった記述があります。

「体系的に学ぶ 安全なWebアプリケーションの作り方」(徳丸浩著)では、「取り消しできない重要な処理」(p.141)という記述があり、「重要な処理」の例は、クレジットカードでの決済、口座からの送金、メール送信、パスワード・メールアドレスの変更等があげられています。

「php逆引き大全 516の極意」(大家正登, 鮫島康浩, 谷中志織, 茂木健一著)では、「被害者自信の操作で意図しないHTTPリクエストを送信させる攻撃手法」(p.641)という記述があります。

では、「(被害者を)こっそりログインさせる攻撃」はどうでしょう。「php逆引き大全 516の極意」の定義では CSRF に当てはまります。一方、「体系的に学ぶ 安全なWebアプリケーションの作り方」の定義にはあてはまりません。「PHPサイバーテロの技法」では、「2つのサイトにまたがって行われる偽のリクエスト」にあてはまりますが、「サイトについての権限を持った人に重大な不正操作を強いる攻撃」とまでは言えないでしょう。

では、不正操作をされないように対策しましょう。

CSRF対策

(クロスサイトスクリプティング対策と比較すると)CSRF対策は比較的楽です。具体的には、

  1. 重要な処理を行う直前のページでトークン発行
  2. 重要な処理を行うページでトークンをチェックする

となります。なお、「体系的に学ぶ 安全なWebアプリケーションの作り方」では、特に重要な処理の場合にパスワード再入力を推奨しています。このほか、(利用者の環境や設定に依存するが)リファラーチェック方法も紹介されています。

CSRF対策は、フレームワーク等で用意されていることが多いと思います。例えば FuelPHP なら、FuelPHP でのセキュリティ対策(2)、WordPress なら、setting API を活用した wordpress プラグイン作成等が参考になると思います。

楽天で検索
【楽天ブックスならいつでも送料無料】【専門書】【3倍】体系的に学ぶ安全なWebアプリケーションの作り方 [ 徳丸浩 ]
3456円
脆弱性が生まれる原理と対策の実践 徳丸浩 SBクリエイティブBKSCPN_【専門書】 発行年月:2011年03月 ページ数:476p サイズ:単行本 ISBN:
楽天ブックス
Supported by 楽天ウェブサービス

楽天で検索
【楽天ブックスならいつでも送料無料】PHP逆引き大全516の極意 [ 大家正登 ]
3024円
大家正登 茂木健一 秀和システム発行年月:2011年09月 ページ数:822p サイズ:単行本 ISBN:9784798030937 大家正登(オオイエマサト)
楽天ブックス
Supported by 楽天ウェブサービス

関連

Posted in software | Tagged セキュリティ, 管理画面
← fuel.php-web.net のソースコード WordPress 固定ページの投稿ステータス →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 6年使ったイーモバイル(Y!mobile)を解約手続。店頭でSIM返却
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.