サイバーセキュリティランド » サイバーセキュリティとは【基礎知識と用語集】 » か行 » クロスサイトリクエストフォージェリ(CSRF)
更新日 

クロスサイトリクエストフォージェリ(CSRF)

ここではWebアプリケーションにおける脆弱性や、その脆弱性をついた攻撃方法として知られる「クロスサイトリクエストフォージェリ(CSRF)」について解説するとともに、XSSとの違いについてもふれています。

クロスサイトリクエストフォージェリ(CSRF)とは?

「クロスサイトリクエストフォージェリ(Cross-Site Request Forgeries)」は、その英語名の頭文字を取って「CSRF」と呼ばれています。

CSRFはWebアプリケーションの「セッション管理」に潜んでいるセキュリティの脆弱性を狙ったサイバー攻撃を指します。

Webアプリの中には利用者を識別するための「セッションID」を発行して、セッション管理を行ってるものがあります。

CSRFは、このユーザーのログインしたセッションIDを悪用して他人になりすまし、不正なリクエストを送信してWebアプリを勝手に操作するものです。

XSSとの違い

クロスサイトリクエストフォージェリ(CSRF)と似た名称のサイバー攻撃として「クロスサイトスクリプティング(XSS)」があります。

どちらにも「サイトをまたぐ」という意味の「クロスサイト」という共通点はありますが、悪用のされ方が異なっています。

CSRFがWebアプリケーションのセッション管理による脆弱性を悪用しているのに対し、XSSではユーザーがメールやSNSなどに仕掛けられたリンクの罠をクリックすることで情報漏洩やマルウェア感染などのリスクがあるサイトへと飛ばされます。

CSRFを受けるとどうなる?

CSRFを受けてしまった場合、予想される被害には主に次のようなものが考えられます。

不正なアクションの実行

CSRF攻撃においてアカウントが則られると、Webアプリケーションの中で不正なアクションが実行されてしまうことがあります。ネットショップなどでの購入、メッセージ送信、プライバシー設定の変更なども勝手に行われる可能性があります。金銭的な被害もさることながら、この悪用によってSNSの書き込みなどから本来のユーザーが評判を落とすような行動をされてしまうと、周囲から勘違いされて信用を損なうという悪影響が考えられます。

DoS攻撃

DoS攻撃は「Denial of Service Attack」の略であり、悪意によって大量のデータをサーバーに送信し、さらには多大なアクセスを集中させることでサーバーを過負荷にするサイバー攻撃の1種です。
CSRFにおいてもリクエストが送信されますが、このときのリクエストが頻繁であるとDoS攻撃と見なされることがあり、これによってサービスの遅延や停止を引き起こすおそれがあります。

機密情報の漏洩

CSRF攻撃が行われると、不正アクセスによってユーザーのアカウントに含まれる機密情報、ID・パスワード、さらには個人情報なども盗み出されたり、または勝手に書き換えられてしまうおそれがあります。また、こうした個人情報が他人に明かされたり、誰かに売買されるなどすると、思わぬ被害を被るリスクが高まります。

セッションハイジャックによる不正利用

CSRF攻撃により、ユーザーがアカウントのセッション情報を不正に取り出されると、セッションハイジャックの被害に遭うリスクが非常に高まります。これにより不正アクセスを行った者はユーザーのアカウントと同じ権限を持つため、その操作によって例えばネットバンキングの不正利用など実行されるおそれがあります。

CSRFへの対策

CSRF攻撃に対しては、サイト運営者としてもユーザーとしても対策が必須です。それぞれの対策方法を紹介します。

サイト運営者の対策

アプリケーションでのリクエスト処理をしない

会社で運営・管理している業務用サーバーであれば、Webアプリにおけるセッションを利用したリクエストを使わないという手立てもあります。

ワンタイムパスワードなど任意の照合処理の実装

前述したリクエストを使用しない方法とは逆に、リクエストの検証を強化するという手段もCSRF対策になります。
CSRFではユーザーが意図していないリクエスト送信を強制しますが、システムによってそれが正当であるかどうかをチェックし、正しい場合にのみ処理を行って攻撃を防ぐことができます。

例えばワンタイムパスワードといった任意の照合処理の実装がこれに該当します。予測の難しいランダムな文字列(ワンタイムパスワード)をシステムの中に保持し、リクエストにその文字列が含まれているかどうかを確認する方法でCSRF攻撃を防ぐことができます。

セキュリティ対策の徹底

不正アクセスや悪意あるWebページへの攻撃からサイトを守るには、セキュリティソフトの導入が必要不可欠です。特に、パソコン・サーバー・スマホ・タブレットなど、エンドポイントと呼ばれる端末に総合的なセキュリティソフトを導入することはCSRF対策としてとても有効です。

エンドポイントを最新の状態を保つ

前述したエンドポイントをしっかりと更新し、最新の状態にしておくこともCSRFを始めとしたセキュリティ対策の基本となります。
セキュリティソフトのアップデートだけでなく、WindowsなどのOS、ブラウザなどのツールも常に最新状態にしておくことを推奨します。
更新を怠っていると脆弱性が放置されたままになることもあるため注意したいところです。

ユーザーの対策

ログインしたままにせず必ずログアウトを行う

CSRF攻撃はログインしている状態をターゲットにしています。そのためサイトなどを利用しない場合にはログインしたままの状態にせず、必ずログアウトするようにしましょう。ログアウトさえしていれば、たとえ悪意のあるページにアクセスしてしまったとしてもCSRFの被害を受けずに済みます。

信頼できるページ以外にアクセスしない

メールなどで送信されてくる不信なURLがあった場合はクリックしないようにしましょう。また、同様に信頼できるWebページ以外にはアクセスしないのが賢明です。
特にWebページだとブラウザの機能で、クリックせずともリンクにマウスポインタを重ねただけで不正なサイトに飛ばされることがあります。
ちょっとでも怪しいドメインだと思ったらページにアクセスしないように気をつけましょう。

セキュリティツールで不正サイトへのアクセスを事前にブロック

常に注意していても、ふとした拍子にうっかりリンクを踏んでしまうこともあります。そんなときのためにも不審なURLへのアクセスを防ぐセキュリティ対策ソフトを導入しましょう。
セキュリティ対策ソフトをインストールしていれば、メールやサイトに潜んでいる悪意あるURLが自動的にチェックされ、危険だと判断した場合には警告を出してくれます。
見た目だけではわからない悪意あるWebサイトをブロックしてくれるのもセキュリティ対策ソフトの頼もしい点です。

被害に遭って後悔しないために万全のセキュリティを!

CSRFを始め、現代の不正アクセス方法は脆弱性を狙ったり、ユーザーの心理を利用したりと、日ごとに巧みになっています。被害に遭ってから後悔する前に、また、安心してネットワークにアクセスできるように、事前にしっかりとしたセキュリティをほどこしておきましょう。