「CITビジネスグロッサリー」は、CIT経営開発が運営するビジネスラーニングプラットフォームです
CSRF(Cross-Site Request Forgery:クロスサイトリクエストフォージェリ)は、ユーザーが意図しない操作を、「ログイン済みの正規サイト」に対して強制的に実行させる攻撃手法です。
簡単に言うと、犯人が用意した罠サイトを踏むことで、あなたの代わりに勝手に掲示板に書き込まれたり、パスワードを変更されたり、商品の購入ボタンを押されたりするイメージです。
この攻撃が成立する背景には、ブラウザの**「Cookie(クッキー)を自動で送信する」**という仕組みが悪用されています。
ログイン: ユーザーが正規サイト(例:銀行やSNS)にログインし、セッションが維持されている状態。
罠への誘導: 犯人が用意した罠サイト(メールのリンクや悪意ある広告)をユーザーがクリックする。
強制リクエスト: 罠サイトに仕込まれたJavaScriptなどが、正規サイトに対して「振込」や「退会」といったリクエストを勝手に送信する。
実行: 正規サイトのサーバーは、届いたリクエストに有効なCookieが添えられているため、「ユーザー本人の正当な操作」と勘違いして処理を実行してしまう。
SNSや掲示板への勝手な投稿:
犯罪予告や誹謗中傷などを本人の名前で投稿される。
アカウント情報の変更:
メールアドレスやパスワードを書き換えられ、アカウントを乗っ取られる。
決済・送金:
勝手に商品を購入されたり、犯人の口座へ送金させられたりする。
設定の変更:
ルーターの設定変更や、セキュリティ設定の無効化。
「リクエストが本人の意図したものか」を検証する仕組みが必要です。
CSRFトークンの発行
フォームごとに一度きりの「合言葉(トークン)」を発行し、サーバー側で一致するか検証する。最も一般的な対策。
SameSite属性の設定
Cookieに SameSite=Lax または Strict を設定し、他サイトからのリクエスト時にCookieが送信されないようにする。
重要な処理での再認証
パスワード変更や決済の直前に、パスワード入力や2要素認証を再度求める。
Refererのチェック
リクエストがどこから送られてきたか(リファラ)を確認し、外部サイトからの送信を遮断する。
こまめにログアウトする
使い終わったらサイトからログアウトすることで、Cookieによる自動認証を無効化できます。
不審なURLをクリックしない
心当たりのないメールや怪しいサイトのリンクは避けるのが基本です。