コンテンツにスキップ

サイバー攻撃手法

サイバー攻撃とは、ネットワークやコンピュータの仕組みを悪用して、情報の窃取・改ざん・破壊やサービスの妨害を行う行為です。攻撃手法は年々多様化しており、ITパスポート試験でも毎年3〜5問が出題される最頻出テーマの1つです。

ここでは、攻撃手法をカテゴリ別に整理して学んでいきます。それぞれの攻撃が「どんな仕組みで」「何を狙って」行われるのかを理解することが、試験対策と実務の両方で役立ちます。

攻撃の準備段階 ── フットプリンティングとポートスキャン

Section titled “攻撃の準備段階 ── フットプリンティングとポートスキャン”

攻撃者は、いきなり攻撃を始めるわけではありません。まずターゲットの情報を集め、弱点を探す「偵察」を行います。

フットプリンティングとは、攻撃対象の組織やシステムに関する情報を事前に収集する活動のことです。公開されているWebサイト、SNS、ドメインの登録情報(WHOIS)などから、IPアドレス、使用しているソフトウェアのバージョン、組織の構成などを調べます。

ポートスキャンとは、ターゲットのコンピュータに対して、通信の入口である「ポート」にひとつずつ接続を試み、どのサービスが動作しているか(どのポートが開いているか)を調べる行為です。たとえば、Webサーバー用のポート(80番)やメールサーバー用のポート(25番)が開いていれば、そのサービスの脆弱性を狙った攻撃につなげられます。

試験で出るポイント

フットプリンティングとポートスキャンは「攻撃そのもの」ではなく「攻撃の準備段階」です。問題文で「攻撃に先立つ情報収集」と出てきたら、この2つを思い出しましょう。

パスワードは最も基本的な認証手段ですが、それゆえに攻撃の標的にもなりやすい部分です。

辞書攻撃とは、「password」「123456」「admin」など、よく使われる単語やフレーズをリスト化した「辞書」を用意し、片端から試してログインを試みる攻撃です。人間が覚えやすいパスワードを設定しがちな心理を突いています。

総当たり攻撃(ブルートフォース攻撃)

Section titled “総当たり攻撃(ブルートフォース攻撃)”

総当たり攻撃ブルートフォース攻撃)とは、パスワードとして考えられるすべての文字の組み合わせを順番に試す攻撃です。「aaaa」「aaab」「aaac」……のように、力任せに全パターンを試すことから「ブルートフォース(力ずく)」と呼ばれます。パスワードが短いほど短時間で突破されるため、長く複雑なパスワードを設定することが対策になります。

パスワードリスト攻撃クレデンシャルスタッフィング)とは、あるサービスから流出したIDとパスワードの組み合わせリストを使って、別のサービスにログインを試みる攻撃です。多くの人が複数のサービスで同じパスワードを使い回している実態を悪用します。

たとえば、通販サイトAから流出した「メールアドレス+パスワード」の組み合わせを使って、銀行のオンラインバンキングにログインを試みるといったケースです。

攻撃手法仕組み対策
辞書攻撃よく使われる単語を順に試す推測されにくいパスワードを設定
総当たり攻撃すべての文字の組み合わせを試す長く複雑なパスワードを設定
パスワードリスト攻撃流出したID・パスワードを別サービスで試すサービスごとに異なるパスワードを使用

試験で出るポイント

「他のサービスから流出したパスワードを使って別のサービスに不正ログインする」と出たら、パスワードリスト攻撃です。辞書攻撃・総当たり攻撃との違いを押さえましょう。

Webサイトやアプリケーションの仕組みを悪用する攻撃です。利用者が日常的に使うWebサービスが標的になるため、影響範囲が広いのが特徴です。

SQLインジェクションとは、Webサイトの入力欄(検索ボックスやログインフォームなど)に、データベースを操作するSQL文を不正に埋め込む(=注入する)攻撃です。たとえば、ログインフォームのパスワード欄に特殊な文字列を入力することで、認証を回避してデータベースの中身を盗み出したり、データを改ざん・削除したりします。

クロスサイトスクリプティング(XSS)

Section titled “クロスサイトスクリプティング(XSS)”

クロスサイトスクリプティングXSS)とは、Webサイトの掲示板やコメント欄などに悪意のあるスクリプト(プログラム)を埋め込み、そのページを閲覧した利用者のブラウザ上でスクリプトを実行させる攻撃です。これにより、利用者のCookie(ログイン情報を含む)が盗まれたり、偽のページに誘導されたりします。

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

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

クロスサイトリクエストフォージェリCSRF)とは、利用者がログイン中のWebサービスに対して、利用者の意図しないリクエスト(操作要求)を送信させる攻撃です。たとえば、利用者がSNSにログインした状態で攻撃者の罠ページにアクセスすると、知らないうちにSNSで不正な投稿が行われたり、パスワードが変更されたりします。

XSSが「利用者のブラウザ上で悪意のあるスクリプトを実行させる」のに対し、CSRFは「利用者になりすまして正規のサービスに操作要求を送る」点が異なります。

クリックジャッキングとは、Webページの上に透明な別のページを重ねて表示し、利用者が意図したボタンとは異なるボタンをクリックさせる攻撃です。たとえば、「動画を再生する」ボタンの上に透明な「購入する」ボタンを重ねておくことで、利用者が気づかないうちに商品を購入させられるといったケースがあります。

ドライブバイダウンロードとは、利用者がWebサイトを閲覧しただけで、利用者の知らないうちにマルウェア(悪意のあるソフトウェア)がダウンロード・実行される攻撃です。改ざんされた正規のWebサイトや、悪意のある広告(マルバタイジング)を通じて行われることがあります。

ディレクトリトラバーサルとは、Webサーバー上のファイルパスを不正に操作して、本来アクセスできないはずのファイル(パスワードファイルや設定ファイルなど)を読み取る攻撃です。「../」のような相対パスの記号を使って、公開フォルダの外にあるファイルへ移動(トラバーサル=横断)します。

バッファオーバーフロー攻撃とは、プログラムが確保したメモリ領域(バッファ)に想定以上の大量のデータを送り込み、メモリの範囲を超えてデータをあふれさせる(オーバーフロー)攻撃です。これにより、プログラムが異常動作を起こしたり、攻撃者が用意した不正なコードが実行されたりします。

攻撃手法何を悪用するか何が起こるか
SQLインジェクションデータベースへの入力処理データの窃取・改ざん・削除
XSSWebページの表示処理利用者のブラウザで不正スクリプト実行
CSRFログイン中のセッション利用者になりすまして不正操作
クリックジャッキング透明なページの重ね合わせ意図しないクリック操作
ドライブバイダウンロードWebブラウザの脆弱性閲覧だけでマルウェア感染
ディレクトリトラバーサルファイルパスの処理非公開ファイルの読み取り
バッファオーバーフローメモリ管理の不備不正コード実行・異常動作

試験で出るポイント

SQLインジェクションとXSSは特に頻出です。SQLインジェクションは「データベースを不正操作」、XSSは「ブラウザ上で不正スクリプト実行」と覚えましょう。CSRFは「ログイン中のサービスに勝手にリクエストを送る」がキーワードです。

ネットワーク上の通信を盗聴・改ざん・なりすましする攻撃です。

中間者攻撃(Man-in-the-middle攻撃)

Section titled “中間者攻撃(Man-in-the-middle攻撃)”

中間者攻撃Man-in-the-middle攻撃)とは、通信を行っている2者の間に攻撃者が割り込み、双方になりすまして通信内容を盗聴・改ざんする攻撃です。たとえば、AさんとBさんが暗号化通信を行おうとする際に、攻撃者がAさんには「自分がBさんだ」と、Bさんには「自分がAさんだ」と偽ることで、双方のやり取りをすべて覗き見できます。

MITB攻撃Man-in-the-browser攻撃)とは、利用者のWebブラウザに侵入したマルウェアが、ブラウザの内部で通信内容を改ざんする攻撃です。中間者攻撃がネットワーク上で行われるのに対し、MITB攻撃はブラウザの中で行われるのが特徴です。たとえば、オンラインバンキングで振込先を正しく入力しても、マルウェアがブラウザ内部で振込先を攻撃者の口座に書き換えるといった被害が起こります。

IPスプーフィングとは、送信元のIPアドレスを偽装(スプーフィング)して通信を行う攻撃です。信頼されたIPアドレスになりすますことで、アクセス制限を回避したり、攻撃の発信元を隠したりします。

DNSキャッシュポイズニングとは、DNSサーバーが保持している名前解決の情報(キャッシュ)に偽の情報を注入(ポイズニング=毒を入れる)する攻撃です。これにより、利用者が正しいURLを入力しても、偽のWebサイトに誘導されてしまいます。

セッションハイジャックとは、利用者がWebサービスにログインした際に発行される「セッションID」を攻撃者が盗み取り、その利用者になりすましてサービスを利用する攻撃です。セッションIDはログイン状態を維持するための識別情報であり、これを奪われると攻撃者に正規の利用者としてアクセスされてしまいます。

第三者中継(オープンリレー)

Section titled “第三者中継(オープンリレー)”

第三者中継オープンリレー)とは、メールサーバーの設定不備を悪用し、そのサーバーを経由して大量の迷惑メール(スパム)を送信する行為です。攻撃者は自分のメールサーバーを使わず、他者のサーバーを踏み台にすることで、発信元を隠しながらスパムメールをばらまきます。

試験で出るポイント

中間者攻撃は「通信の途中に割り込む」、MITB攻撃は「ブラウザの中で改ざんする」という違いを押さえましょう。DNSキャッシュポイズニングは「正しいURLを入力しても偽サイトに誘導される」がポイントです。

システムやサービスを使えなくすることを目的とした攻撃です。

DoS攻撃Denial of Service攻撃:サービス拒否攻撃)とは、ターゲットのサーバーに大量のリクエストや不正なデータを送りつけて、サーバーの処理能力を超えさせ、正常なサービス提供を妨害する攻撃です。1台の攻撃元から行われます。

DDoS攻撃(Distributed Denial of Service攻撃:分散型サービス拒否攻撃)とは、マルウェアに感染させた多数のコンピュータ(ボットネット)を遠隔操作して、ターゲットに一斉に攻撃を仕掛けるDoS攻撃の発展形です。攻撃元が分散しているため、特定の発信元をブロックするだけでは防御しきれません。

たとえば、IoT機器(Webカメラやルーターなど)がマルウェアに感染し、数万台規模でDDoS攻撃に加担させられた事例もあります。

攻撃手法攻撃元特徴
DoS攻撃1台攻撃元を特定・遮断しやすい
DDoS攻撃多数(ボットネット)攻撃元が分散し防御が困難

クリプトジャッキングとは、他人のコンピュータのCPU(処理能力)を無断で利用して暗号資産(仮想通貨)のマイニング(採掘)を行う攻撃です。Webサイトに埋め込まれたスクリプトや、マルウェアによって実行されます。利用者のPCの動作が極端に重くなったり、電力を大量に消費したりしますが、一見すると気づきにくいのが特徴です。

試験で出るポイント

DoSとDDoSの違いは「攻撃元が1台か多数か」です。クリプトジャッキングは「他人のPCで暗号資産のマイニングを行う」行為を指します(2020年に出題実績あり)。

特定の組織や個人を狙い撃ちにしたり、人間の心理をだまして情報を盗む攻撃です。

標的型攻撃APT: Advanced Persistent Threat)とは、特定の組織や個人をターゲットに定め、長期間にわたって執拗に攻撃を続ける高度なサイバー攻撃です。無差別にばらまくウイルスとは異なり、ターゲットの業務内容や人間関係を事前に調査したうえで、巧妙に偽装したメールなどを送りつけます。

標的型攻撃には、いくつかの手口のバリエーションがあります。

水飲み場型攻撃とは、ターゲットがよくアクセスするWebサイトにマルウェアを仕込んでおき、そのサイトを閲覧したときに感染させる攻撃です。名前の由来は、野生動物が水飲み場に集まるのを待ち伏せする肉食動物の狩りに似ていることからです。

やり取り型攻撃とは、最初は無害なメールのやり取りをして信頼関係を築き、安心させたところでマルウェア付きのメールを送る攻撃です。たとえば、取引先を装って何度かビジネスメールをやり取りしたあと、「請求書を添付しました」とマルウェア入りのファイルを送りつけるケースがあります。

フィッシングとは、銀行や通販サイトなどの有名な企業になりすましたメールを送り、本物そっくりの偽サイトに誘導してIDやパスワード、クレジットカード番号などの個人情報を入力させて盗む攻撃です。「あなたのアカウントが不正利用されています。こちらから確認してください」といった不安をあおる文面が使われます。

スミッシングとは、SMS(ショートメッセージサービス)を使ったフィッシングです。「お届けの荷物が届いています」「料金が未払いです」といった短い文面とURLが送られてきて、偽サイトに誘導されます。フィッシングがメールを使うのに対し、スミッシングはSMSを使う点が異なります。

ワンクリック詐欺とは、Webページのリンクやボタンをクリックしただけで「登録完了」「料金が発生しました」などと表示し、不正に金銭を要求する手口です。実際には契約は成立しておらず、支払い義務はありません。

試験で出るポイント

フィッシングとスミッシングの違いは「メール」と「SMS」の違いです。標的型攻撃は「特定の組織・個人を狙う」点がポイントです。水飲み場型攻撃は「よく訪れるサイトに罠を仕掛ける」と覚えましょう。

ゼロデイ攻撃とは、ソフトウェアの脆弱性(セキュリティ上の欠陥)が発見されてから、修正プログラム(パッチ)が提供されるまでの間に、その脆弱性を悪用する攻撃です。「修正までの猶予日数がゼロ(0 day)」という意味です。開発元がまだ対策を出せていない段階で攻撃されるため、防御が非常に難しい攻撃とされています。

試験で出るポイント

ゼロデイ攻撃は「修正パッチが提供される前に脆弱性を悪用する」点がポイントです。パッチが出ていないため通常のアップデートでは防げません。

サービス及びソフトウェアの機能の悪用

Section titled “サービス及びソフトウェアの機能の悪用”

サービス及びソフトウェアの機能の悪用とは、ソフトウェアやクラウドサービスが本来提供している正規の機能を、攻撃目的に転用する行為です。たとえば、クラウドストレージのファイル共有機能をマルウェアの配布に使ったり、正規の遠隔操作ツールを不正アクセスの手段として利用したりするケースがあります。正規の機能を使っているため、セキュリティソフトによる検知が難しいという特徴があります。

近年のAI(人工知能)の普及に伴い、AIに特有の新しい攻撃手法も注目されています。ITパスポート試験のシラバスVer.6.5で新たに追加されたテーマです。

プロンプトインジェクション攻撃

Section titled “プロンプトインジェクション攻撃”

プロンプトインジェクション攻撃とは、AIチャットボットなどの生成AIサービスに対して、巧妙に細工した指示文(プロンプト)を入力することで、本来のルールや制限を回避させ、意図しない動作をさせる攻撃です。たとえば、「〇〇というルールは忘れてください」といった指示を埋め込むことで、機密情報を出力させたり、不適切な内容を生成させたりします。SQLインジェクションが「データベースへの不正な命令の注入」であるのに対し、プロンプトインジェクションは「AIへの不正な指示の注入」と考えると理解しやすいでしょう。

敵対的サンプル(Adversarial Examples)

Section titled “敵対的サンプル(Adversarial Examples)”

敵対的サンプルAdversarial Examples)とは、AIの画像認識や判定を誤らせることを目的として、人間にはわからないごくわずかなノイズ(微小な変化)を加えたデータのことです。たとえば、パンダの画像にほんの少しだけノイズを加えると、人間の目にはパンダに見えるのに、AIは「テナガザル」と誤認識してしまうことがあります。自動運転車の標識認識を狂わせるなど、安全性に関わる深刻なリスクも指摘されています。

試験で出るポイント

プロンプトインジェクション攻撃は「生成AIに不正な指示を注入する攻撃」、敵対的サンプルは「AIの認識を誤らせるために微小な変化を加えたデータ」です。どちらもVer.6.5の新用語なので出題が予想されます。

まとめ ── サイバー攻撃手法の全体像

Section titled “まとめ ── サイバー攻撃手法の全体像”

試験では、具体的な攻撃シナリオが問題文に記述され、「この攻撃の名称は何か?」と問われるパターンが頻出です。各攻撃の「仕組み」と「キーワード」を結びつけて覚えましょう。

試験で出るポイント

この分野は出題数が多く、用語の正確な理解が求められます。とくにSQLインジェクション、XSS、フィッシング、DDoS攻撃、標的型攻撃は最頻出です。似た名前の攻撃(DoS vs DDoS、フィッシング vs スミッシング、中間者攻撃 vs MITB攻撃)の違いを明確にしておくことが得点のカギです。

アプリで問題を解こう!