資格道場 › レッスン一覧 › セキュリティ
セキュリティ・12/23・9分

マルウェアの種類と攻撃者の拠点

ゴール

ワーム・バックドア・rootkit・キーロガー・スパイウェアの違いを見分け、ボットネットのC&Cサーバ、ゼロデイ攻撃、APTの説明を選択肢から正しく選べるようになる。hostsファイルの中身を見て、ボットに改ざんされたかどうかを判断できるようになる。

セキュリティ分野では「この説明に当てはまる用語はどれか」という形の問題が繰り返し出ています。どれも名前と働きを1対1で結び付けておけば一瞬で解けるので、覚えた分だけ確実に点になります。

このレッスンで稽古する(用語チェック・過去問)

結論:マルウェアは「どう広がるか」「何をするか」で見分ける

マルウェア(悪意のあるソフトウェアの総称)は、名前ごとに決まった特徴が1つあります。試験ではその特徴を説明文にして、別の種類の説明を選択肢に混ぜてきます。だから「この種類ならこの一言」という対応を覚えるのが最短です。

種類 見分けのキーワード 自分で増える?
ワーム ネットワークやUSBメモリを通じて自分で感染を広げる 増える(単独で)
ウイルス 他のプログラムに寄生して感染する 増える(寄生先が必要)
トロイの木馬 便利なソフトのふりをして入り込み、単独で不正動作 増えない
ランサムウェア ファイルを勝手に暗号化して身代金を要求 種類による
ロジックボム 特定の日時・条件まで待機してから動く 増えない

たとえるなら、ウイルスは「人に取り付いて移る寄生虫」、ワームは「自分の足で家から家へ渡り歩く虫」です。

ウイルスワーム正規のプログラム寄生したウイルス寄生して移る別のプログラム寄生したウイルス寄生先がないと増えないPC-A:ワームネットワークPC-B:コピーUSBメモリPC-C:コピー単独で自分のコピーを送る
ウイルスは他のプログラムに寄生して移るが、ワームは自分のコピーを作り、ネットワークやUSBメモリを通じて単独で広がる。

ワーム:自己増殖がすべて

ワームの特徴は自己増殖(自分のコピーを作って他のコンピュータへ広がること)です。ネットワーク経由でもUSBメモリなどのリムーバブルメディア(抜き差しできる記録媒体)経由でも広がります。

  • 「単独のプログラムとして不正動作する」はトロイの木馬にも当てはまるので、ワームならではの特徴ではありません。
  • 「他のプログラムに感染する」「ネットワークを使わずに増える」はウイルス側の説明です。
  • 「暗号化する」はランサムウェア、「条件まで待機」はロジックボムです。

バックドアとrootkit:侵入した後に居座るための道具

バックドアは、正規の認証(ログインなど)を通らずにシステムへ入れるようにした裏口です。攻撃者は一度侵入すると、次回も楽に入れるようにバックドアを仕掛けます。この知識の中では出題が最も多いテーマです。

rootkit(ルートキット)は、バックドアを作ったり侵入の痕跡を隠したりする道具を詰め合わせたパッケージです。「痕跡の隠蔽」と書いてあったらrootkitを選びます。

用語 一言で 試験での手がかり
バックドア 認証を通らずに入れる裏口 「正規の手続を経ないで」「通常のアクセス経路以外で」
rootkit 裏口づくり+痕跡隠しの道具セット 「侵入の痕跡を隠蔽」「ツールのパッケージ」
ポートスキャナ 開いているポートを探す道具 「アクティブなポートを探す」
ディジタルフォレンジックス 被害後に証拠を保全・調査する技術 守る側の技術。攻撃者が組み込むものではない

たとえるなら、バックドアは「泥棒が勝手に作った合鍵」、rootkitは「合鍵づくりの道具と足跡を消すほうきのセット」です。

システムへの入り口は2つ正規の入口利用者ログイン(認証)システム攻撃者裏口(バックドア)認証を通らずに入れるrootkit(道具のパッケージ)裏口をつくる + 侵入の痕跡を隠す
利用者はログイン(認証)を通って入るが、攻撃者はバックドアで認証を通らずに入る。rootkitは裏口づくりと痕跡隠しの道具セット。

キーロガーとスパイウェア:情報を盗み見る

キーロガーはキーボードの入力を記録するソフトで、ネットバンキングのパスワードを盗むのが典型的な悪用例です。スパイウェアは利用者が知らないうちに入り込み、個人情報や閲覧履歴を集めるプログラムです。

用語 何を盗む・何をする 混ぜられる相手
キーロガー キー入力(パスワードなど)を記録 中間者攻撃(通信の途中に割り込む)
スパイウェア 意図に反して入り、個人情報・履歴を収集 サニタイジング、ポートスキャン、辞書攻撃
アドウェア 意図しない広告を表示 キーロガー問題の選択肢

ボットネットとC&Cサーバ:乗っ取ったPCの司令塔

ボットは、外から遠隔操作できるようにされたマルウェア(またはそれに感染したPC)です。たくさんのボットがまとまった集団をボットネットと呼びます。C&Cサーバ(Command and Control=指令と制御)は、ボットに命令を出し、結果を受け取る司令塔です。

ボットとC&Cサーバの通信にはTCPの80番ポート(HTTP)がよく使われます。理由は、Web閲覧に使う番号なのでファイアウォールで許可されている可能性が高いからです。普段の通信にまぎれて外へ出られる、というのがポイントです。

flowchart LR
  A["攻撃者"] --> C["C&Cサーバ(司令塔)"]
  B1["ボットに感染したPC"] -->|"HTTP 80番で問い合わせ(FWを通過)"| C
  C -->|"命令を返す"| B1
  B1 --> T["攻撃先・情報の送り先"]
ポート プロトコル 用途
80 HTTP Web閲覧(暗号化なし)
443 HTTPS Web閲覧(暗号化あり)
53 DNS 名前解決・ゾーン転送

C&Cの選択肢には、キャッシュサーバ(コンテンツの代理配信)や認証方式(CHAP、ワンタイムパスワード)の説明が混ぜられます。「命令」「指示」という言葉が入っているものを選びます。

hostsファイルの改ざんでボット感染を疑う

hostsファイルは、ドメイン名とIPアドレスの対応をPCの中に直接書いておくファイルです。DNSより先に参照されるため、ボットはここを書き換えてOSやウイルス対策ソフトの提供元を127.0.0.1(自分自身)に向け、更新を妨げます。初期状態は「127.0.0.1 localhost」だけなので、それ以外の行があれば改ざんを疑います。

名前を調べる順番① hostsファイル② DNSサーバhostsに書いてあればDNSは見ない正常(初期状態)127.0.0.1 localhostボットに改ざんされた例127.0.0.1 localhost127.0.0.1 OSの更新元127.0.0.1 ウイルス対策ソフトの更新元自分のPC自分自身に戻される→ 更新できない
hostsファイルはDNSより先に見られる。初期状態は「127.0.0.1 localhost」だけで、更新元が127.0.0.1に向けられていれば改ざんを疑う。

ゼロデイ攻撃とAPT:攻撃のやり方の名前

ゼロデイ攻撃は、脆弱性(セキュリティ上の弱点)に対する修正パッチが出る前にその弱点を突く攻撃です。対策が出た日を「1日目」とすると、それより前(0日目)に攻撃される、というイメージです。

APT(Advanced Persistent Threat=高度で持続的な脅威)は、明確な目的をもって特定の組織を狙い、相手に合わせて複数の手口を組み合わせ、気付かれないよう長期間しつこく続ける攻撃(または攻撃者)です。

用語 キーワード 見分け方
ゼロデイ攻撃 パッチ提供前に脆弱性を悪用 時間の話(対策が間に合わない)
APT 明確な目的・特定の標的・気付かれないよう・執拗 「隠れて」「標的に合わせて」
DDoS攻撃 多数のPCから同時に大量アクセス 目立つ・業務妨害が目的
標的型のフィッシング 偽メールで不正サイトへ誘導 手口が1つだけ
愉快犯的な攻撃 興味本位・場当たり的 目的が明確ではない
ゼロデイ攻撃のタイミングパッチ提供前(0日目)対策済み脆弱性ありパッチ提供(1日目)ゼロデイ攻撃対策が出る前に弱点を突く
ゼロデイ攻撃は、修正パッチが出る日(1日目)より前、対策がない0日目の間に脆弱性を突く。

試験での問われ方

  • 定義を選ばせる形が中心です。「〇〇に該当するものはどれか」「〇〇の特徴はどれか」と聞かれ、他のマルウェアや攻撃の説明が選択肢に並びます。
  • 逆向きの形もあります。説明文を出して「どれか」と用語を選ばせ、RFID(ICタグ)、TKIP(無線LANの暗号方式)、フォレンジックスなど関係ない技術用語を混ぜてきます。
  • APTでは「DDoSを繰り返す」「不特定多数にばらまく」が定番のひっかけです。APTは特定の標的と気付かれないことがセットです。
例題 1

hostsファイルが改ざんされていないものを選ぶ

利用者 PC がボットに感染しているかどうかを hosts ファイルの改ざんの有無で確認するとき,hosts ファイルが改ざんされていないと判断できる設定内容はどれか。ここで,hosts ファイルには設定内容が 1 行だけ書かれており,利用者及びシステム管理者は,これまでに hosts ファイルを変更していないものとする。
設定内容説 明
ア127.0.0.1 a.b.coma.b.com は利用者 PC の OS 提供元の FQDN を示す。
イ127.0.0.1 c.d.comc.d.com は利用者 PC の製造元の FQDN を示す。
ウ127.0.0.1 e.f.come.f.com はウイルス定義ファイルの提供元の FQDN を示す。
エ127.0.0.1 localhostlocalhost は利用者 PC 自身を示す。

ア 127.0.0.1 a.b.com(a.b.com は利用者 PC の OS 提供元の FQDN を示す。)
イ 127.0.0.1 c.d.com(c.d.com は利用者 PC の製造元の FQDN を示す。)
ウ 127.0.0.1 e.f.com(e.f.com はウイルス定義ファイルの提供元の FQDN を示す。)
エ 127.0.0.1 localhost(localhost は利用者 PC 自身を示す。)

出典:基本情報技術者試験 科目A免除 修了試験 20161211 実施分 問44

解き方と答えを見る
  1. 前提を確認する:hostsファイルは1行だけで、利用者も管理者も変更していない。つまり初期状態のままなら正常。
  2. hostsファイルの初期状態を思い出す:「127.0.0.1 localhost」(自分自身を指す名前)だけが書かれている。
  3. ア・イ・ウを見る:OS提供元、PC製造元、ウイルス定義ファイル提供元のドメインを127.0.0.1(自分自身)に向けている。これだと更新サイトに接続できなくなる。
  4. 誰も変更していないのにこうした行があるのは、ボットが更新を妨げるために書き換えた跡と判断する。
  5. エは初期状態そのものなので、改ざんされていないと判断できる。

答え:エ(127.0.0.1 localhost)

要点(試験直前に読む)

  • ワーム=自分で広がる(ネットワーク・USBメモリ経由)。寄生するのはウイルス、増えないのはトロイの木馬。
  • バックドア=認証を経ない裏口。rootkit=裏口づくり+痕跡隠しの道具セット。
  • キーロガー=キー入力(パスワード)を盗む。スパイウェア=知らないうちに入って個人情報・履歴を集める。
  • C&Cサーバ=ボットに命令を出す司令塔。通信に80番(HTTP)を使うのはファイアウォールを通りやすいから。
  • hostsファイルの正常な状態は「127.0.0.1 localhost」だけ。ベンダのドメインを127.0.0.1に向けていたら改ざん。
  • ゼロデイ=パッチが出る前に突く。APT=目的あり・特定の標的・気付かれないよう執拗に。

ひっかけ

  • ワームの問題で「単独のプログラムとして不正動作」を選ばせる → トロイの木馬にも当てはまる。ワーム固有なのは「自ら感染を広げる」。
  • 80番ポートの理由で「HTTPS」「DNS」を混ぜる → HTTPSは443番、DNSは53番。80番はHTTP(Web閲覧)なので「ファイアウォールで許可されている」が正解。
  • rootkitやバックドアの問題で、RFID・TKIP・フォレンジックスなど関係のない用語を混ぜる → フォレンジックスは守る側の調査技術なので、攻撃者が組み込むものではない。
  • APTの問題で「DDoSを長期間繰り返す」「不特定多数にばらまく」を混ぜる → APTは特定の標的を狙い、気付かれないように攻撃する。
  • hostsファイルの問題で、OS提供元やウイルス対策ベンダのドメインを127.0.0.1に向けた行を正常に見せる → 更新を妨げるための改ざん。

用語(15)

マルウェア malware(malicious software)
悪意をもって作られた不正なソフトウェアの総称。
ワーム worm
ネットワークやリムーバブルメディアを通じて、自分のコピーを作りながら単独で感染を広げるマルウェア。
⚠ ウイルスは他のプログラムに寄生して感染する。「自分で広がる」ならワーム。
コンピュータウイルス computer virus
他のプログラムに寄生して感染し、増殖するマルウェア。
⚠ ワームは寄生先がなくても単独で広がる。
トロイの木馬 Trojan horse
有用なソフトを装って入り込み、単独で不正な動作をするが自己増殖はしないマルウェア。
⚠ ワームとの違いは自己増殖しないこと。
ランサムウェア ransomware
ファイルを勝手に暗号化して読めなくし、元に戻す代わりに金銭を要求するマルウェア。
⚠ 「暗号化して読めなくする」はワームではなくこちら。
ロジックボム logic bomb
特定の日時や条件を満たすまで潜み、条件が成立したときに不正な処理を実行するプログラム。
⚠ 「条件まで待機」はワームの特徴ではない。
バックドア backdoor
正規の認証手続を経ずにシステムへ入れるよう、攻撃者が仕掛ける裏口。
⚠ rootkitは裏口づくりに加えて痕跡の隠蔽までする道具のセット。
rootkit ルートキット
侵入後にバックドアを作ったり侵入の痕跡を隠したりする不正なツールのパッケージ。
⚠ 「痕跡の隠蔽」があればrootkit、「認証を経ない入口」だけならバックドア。
キーロガー keylogger
キーボードの入力内容を記録するソフトで、パスワードなどを盗むのに悪用される。
⚠ 通信経路に割り込んで盗むのは中間者攻撃。
スパイウェア spyware
利用者の意図に反してインストールされ、個人情報や閲覧履歴などを集めるプログラム。
⚠ 広告を勝手に出すのはアドウェア。
ボットネット botnet
遠隔操作できるマルウェア(ボット)に感染した多数のコンピュータからなる集団。
C&Cサーバ Command and Control server
ボットネット内のボットに外部から命令を出し、応答や収集した情報を受け取る司令塔のサーバ。
⚠ キャッシュサーバ(コンテンツの代理配信)や認証サーバの説明と混ぜられる。
hostsファイル ホスツファイル
ドメイン名とIPアドレスの対応を端末内に記述したファイルで、初期状態は「127.0.0.1 localhost」のみ。
⚠ OSやセキュリティベンダのドメインを127.0.0.1に向けた行は改ざんの跡。
ゼロデイ攻撃 zero-day attack
脆弱性の修正パッチが提供される前に、その脆弱性を悪用する攻撃。
⚠ 日時を決めて多数のPCから一斉に攻撃するのはDDoS攻撃。
APT Advanced Persistent Threat
明確な目的をもって特定の組織を狙い、複数の手口を組み合わせて気付かれないよう長期間続ける攻撃、またはその攻撃者。
⚠ DDoSの反復、不特定多数へのばらまき、興味本位の攻撃はAPTではない。

このレッスンの過去問

このレッスンで稽古する