CSRFとは?Web管理者とユーザーができる対策や起きうる被害も解説

CSRFとは?Web管理者とユーザーができる対策や起きうる被害も解説のアイキャッチイメージ

CSRF攻撃とは?


CSRF(クロスサイトリクエストフォージェリ)攻撃とは、Webアプリケーションに存在する脆弱性を利用したサイバー攻撃です。CSRF攻撃を受けることで、本来であれば拒否すべきサイトからのリクエストをWebアプリケーションが受信してしまいます。また、CSRF攻撃では攻撃者本人はアクセスしないまま、攻撃を受けたWebアプリケーション自体が処理を行ってしまいます。この記事ではCSRF攻撃について詳しくご紹介していきますので、ぜひ参考にしてみてください。

CSRFの攻撃の流れ5つ


CSRF攻撃はあまり聞きなれない攻撃方法ですが、CSRF攻撃では攻撃対象のWebサイトへアクセスした一般ユーザーが攻撃者と認識されてしまうことがあります。それでは、CSRF攻撃では具体的にどのような流れで攻撃が行われるのでしょうか。どのような経緯で攻撃が行われるのかを知ることで、CSRF攻撃による被害を未然に防ぐこともできるでしょう。ここではCSRF攻撃の流れ5つをご紹介しますので、参考にしてみてください。

1:ユーザーが攻撃の対象となるサイトにログインする

CSRF攻撃では、攻撃者が攻撃対象のWebサイトへ一般のユーザーを誘導するところからはじまります。攻撃者によって誘導されたユーザーは、Webサイトへアクセスし、ログインを行います。攻撃用に用意されたWebサイトは、SNSやショッピングサイトなどのユーザーがすでにアカウントを所有しているサイトになっているケースも多いです。そのため、ユーザーは攻撃対象となっていることに気付かずにWebサイトを訪れてしまいます。

2:攻撃者が罠のリンクを公開する

CSRF攻撃では多くの場合、攻撃者は悪意のあるリンクを作成することで攻撃を行います。攻撃用のサイトへ訪れた時点ですでに罠にかかっているケースもありますが、Webサイトとは別に罠のリンクが添付されているケースもあります。そういった場合は訪れた時点ではまだ被害が発生していないため、罠のリンクをクリックしてしまう前にWEbサイトを閉じるようにしましょう。

3:ユーザーがそのリンクをクリックする

攻撃者が用意した罠のリンクをユーザーがクリックすることで、CSRF攻撃を受ける事になります。Webサイトを訪れた時点では罠にかかっていないケースでも、リンクを踏んでWebページへ移動すると被害に遭います。また、言葉巧みにユーザーにリンクをクリックさせたり、リンクをクリックするように脅迫するような文章でリンクへ誘導するケースもあります。そのため、不用意にリンクをクリックしないようにしましょう。

4:攻撃対象のサイトに不正なリクエストが送信される

一般ユーザーが攻撃用ページ内にあるリンクをクリックすることによって、攻撃対象のサイトへあらかじめ用意されていた不正なリクエストが送信されることになります。リクエストが送信されてしまうと、実際にはまだ被害が発生していなくても、これ以降は被害を回避することが難しくなります。

5:不正なリクエストの実行

本来であれば拒否すべき他のサーバーからの不正なリクエストであっても、攻撃対象のWebサイトやWebシステムは送信されてきたリクエストを受け付けてしまいます。そのため、不正なリクエストが実行されてしまい、ユーザーにとって意図しない処理が実行されることになります。発生する被害はさまざまですが、掲示板やアンケートフォームに不正な書き込みが行われたり、膨大な不正な書き込みを行うことにより負荷を掛けるDoS攻撃などが行われたりすることになります。

CSRF攻撃への対策とは


近年増加しているCSRF攻撃による被害に遭わないためには、Webサイトの管理者も一般ユーザーも対策を講じることが重要です。どちらもが対策を行うことによって、被害を未然に防ぐことも可能でしょう。それでは、CSRF攻撃を防ぐには具体的にどのような対策を行えばよいのでしょうか。ここではCSRF攻撃への対策についてご紹介しますので、ぜひ参考にしてみてください。

Web管理者側ができる対策

ここまでご紹介したとおり、CSPF攻撃では本来であれば不審なリクエストを受け付けないはずのWebサイトがリクエストを受診してしまうことにより、掲示板などへの不正な書き込みやDoS攻撃などの被害を受けることになります。ここではまずは、Web管理者側でWebサイトを守るためにできる対策をご紹介します。

CSRF対策がされているAPIか確認する

Web管理者側としては、更新APIにCSRF対策が行われているかどうかを確認することが大切です。APIとは外部との窓口として情報共有を行い、コミュニケーションをとるプログラムになります。CSRF攻撃では一般ユーザーのアクセスを利用してAPIにリクエストを送ることで不正なリクエストを受信させてしまう攻撃方法なので、APIにCSRF対策が行われていれば被害を防ぐことが可能です。

トークンの発行

Web管理者側としては、事前にトークンを発行しておく方法があります。トークンとは一度限りのパスワードのことです。外部サイトからリクエストを送ったとしても、トークンを読み取ることはできません。そのため、あらかじめトークンを発行しておき、更新APIに認証情報のチェックだけでなく正規のトークンかどうかのチェックを行わせることでCSRF攻撃を防げます。

プリフライトリクエスト検証

Web管理者側としては、プリフライトリクエストを発行する方法があります。プリフライトリクエスト検証では、実際にリクエストを送信する前に一度ブラウザへ送信することにより、安全かどうかを確かめることができます。プリフライトリクエスト検証によって正規ルートからのリクエストであることを確かめることで、CSRF攻撃を防ぐことができるでしょう。ただし、これは最終防衛ラインなのでプリフライトリクエスト検証以前の段階で止める対策が重要です。

「キャプチャ」による確認を実装する

Web管理者側としては、キャプチャ(画像認証)による確認を導入する方法があります。人間が操作しているのかコンピュータなのかを判別するために、ランダムな英数字が書かれた画像を表示して、フォームに同じ英数字を入力させる方法です。ユーザーが目視で確認しながら作業を行う必要があるため、自動的にフォームに書き込みを行うようなCSRF攻撃を防ぐことができます。

ユーザー側ができる対策

ここまでWeb管理者側でできる対策についてご紹介してきましたが、身に覚えがないWebサイトへの嫌がらせの犯人と疑われないためにも、ユーザー自身もCSRF攻撃対策を行うことが重要です。ここではユーザー側ができる対策をご紹介しますので、ぜひ参考にしてみてください。

Web上や電子メール内の不審なリンクをクリックしない

ユーザー側としては、Webページやメールにある不審なリンクをクリックしないようにしましょう。CSRF攻撃では、ユーザーが誘導されたWebサイトや送信されてきたメールのリンクを踏むことにより攻撃が行われてしまいます。CSRF攻撃に限らず、インターネット上に潜んでいるさまざまな脅威を防ぐためには、正体不明なリンクは踏まないことが大切です。

セキュリティソフトを導入する

ユーザー側としては、セキュリティソフトを導入するようにしましょう。近年では、SNSなどのユーザー側では不正なリンクなのかどうか判断することが難しいケースもあります。しかし不正なサイトを判断することができるセキュリティソフトを導入し、常に最新の状態に保っておくことで、不正なサイトをブロックしてCSRF攻撃を防止することができます。

こまめなログオフ

CSRFの被害を未然に防ぐためにはこまめにログオフすることが大切になります。CSRFはログインした状態で違うサイトにアクセスすることで被害を受けてしまう流れになっているため、こまめにログオフすることで攻撃を受けることがなくなります。しかし、頻繁に訪れるサイトであればログイン状態を維持しておくことは大変便利であるため、便利性を優先してしまうことも少なくありません。

CSRF攻撃のもたらす被害と影響の例5つ


ここまでCSRF攻撃の流れや対策方法についてご紹介してきましたが、万が一CSRF攻撃の被害に遭った場合、具体的にどのような影響があるのでしょうか。ここでは最後にCSRF攻撃のもたらす被害と影響の例5つをご紹介しますので、どのような被害が発生したのか参考にしてみてください。

1:不正な投稿をされる

CSRF攻撃を受けることにより、ユーザーが意図しない不正な投稿が発生するケースがあります。たとえばTwitterなどのSNSにログインした状態でCSRF攻撃が行われた場合、意図していない誹謗中傷や嫌がらせなどのツイートが行われてしまい、逆に誹謗中傷の被害に遭った側から訴えられてしまう可能性もあります。

2:アカウントを乗っ取られる

CSRF攻撃を受けることにより、アカウントが乗っ取られるケースがあります。実際にCSRF攻撃によって過去にTwitterアカウントが乗っ取られたケースもあります。アカウントが乗っ取られると、勝手にツイートされたりプライベートなDMを閲覧されたりしてしまいます。

3:勝手に買い物をされる

CSRF攻撃を受けることにより、勝手にECサイトで買い物を行われてしまうケースがあります。ECサイトにログインしたままの場合、CSRF攻撃によって閲覧や設定の変更なども自由に行うことができてしまいます。そのため、勝手に登録済みクレジットカードを利用して買い物を行われてしまう可能性があります。

4:情報が漏洩する

CSRF攻撃を受けることにより、個人情報やクレジット情報などが漏洩するケースがあります。前述のECサイトにログインしていた場合と同様ですが、登録済みの情報が閲覧できてしまう状態になることで、情報漏洩に繋がる可能性もあります。

5:誤認逮捕される

CSRF攻撃を受けることにより、攻撃者であると判断されて誤認逮捕に繋がるケースがあります。実際にインターネット上の掲示板に小学校爆破などの犯罪予告が書きこまれ、CSRF攻撃によってパソコンを遠隔操作された複数人が誤認逮捕される事件がありました。このケースでは、掲示板上に掲載されていたURLをクリックすると犯罪予告が勝手に書き込まれるような仕組みになっていました。そのため、不用意にリンクをクリックすることで、実際には犯罪予告などを書き込んでいないにもかかわらず捕まってしまうリスクがあります。

CSRFとはどんな攻撃かを知って対策をしておこう


CSRF攻撃は、Web管理者側でもユーザー側でも対策を行うことで、実際の被害を防ぐことが可能です。ぜひこの記事でご紹介したCSRF攻撃の概要やCSRF攻撃の流れ、CSRF攻撃への対策やCSRF攻撃のもたらす被害と影響などを参考に、不用意に不審なリンクを踏んで攻撃者にされてしまわないように気を付けるようにしましょう。
※削除してください

とはとはとはとはとはとはとはとはとはとはとはとはとはとはとはとはとはとは

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。