InfraAcademy

InfraAcademy Blog

C&Cサーバの役割とは?|基本情報技術者試験過去問解説

| #基本情報技術者試験 #過去問解説
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、基本情報技術者試験の過去問を使いながら、C&Cサーバ(C2サーバ)とは何かを解説します。

C&Cは、

Command and Control

の略です。

日本語にすると「指令と制御」という意味で、攻撃者が侵害したコンピュータやマルウェアと通信し、命令を送ったり結果を受け取ったりするための仕組みに関係します。

元の記事では、

「C&Cサーバ=攻撃の指令を出すサーバ」

と説明していました。

大きくは間違っていませんが、もう少し正確には、

侵害済みの端末と攻撃者側の間で、指令や応答をやり取りするための通信基盤

と考えると分かりやすいです。

この記事では、過去問を解きながら、C&Cサーバとボットネットの関係、感染端末がどのように指令を受けるのか、バックドアとの違い、どのように検知・対策するのかまで順番に解説します。

ボットネットにおけるC&Cサーバの役割はどれか

今回はこちらの問題です。

ボットネットにおけるC&Cサーバの役割として,適切なものはどれか。

ア:Webサイトのコンテンツをキャッシュし,本来のサーバに代わってコンテンツを利用者に配信することによって,ネットワークやサーバの負荷を軽減する。 イ:外部からインターネットを経由して社内ネットワークにアクセスする際に,CHAPなどのプロトコルを用いることによって,利用者認証時のパスワードの盗聴を防止する。 ウ:外部からインターネットを経由して社内ネットワークにアクセスする際に,チャレンジレスポンス方式を採用したワンタイムパスワードを用いることによって,利用者認証時のパスワードの盗聴を防止する。 エ:侵入して乗っ取ったコンピュータに対して,他のコンピュータへの攻撃などの不正な操作をするよう,外部から命令を出したり応答を受け取ったりする。 出典:平成30年秋期 問41

答えは、です。

C&Cサーバは、攻撃者が乗っ取ったコンピュータなどへ命令を送り、その結果を受け取るために利用されます。

C&Cサーバとは?

C&Cサーバは、攻撃者が侵害済みの端末と通信するために利用するサーバーや通信基盤です。

C&Cは、

Command
and
Control

の略で、C2と表記されることもあります。

イメージすると次のようになります。

C&Cサーバの概要

攻撃者
  ↓
C&Cサーバ
  ↓
感染PC A
感染PC B
感染PC C

感染したPCは、C&Cサーバなどを通して攻撃者側と通信し、

  • 次に行う処理の指令を受ける
  • 収集した情報を送る
  • 実行結果を返す

といった動作をする場合があります。

ボットとは?

ボットネットを理解するために、まず「ボット」を確認しましょう。

攻撃者のマルウェアなどに感染し、外部からの指令によって動作する端末をボットと呼ぶことがあります。

例えば、

PCがマルウェアに感染
↓
攻撃者側と通信
↓
指令を受信
↓
不正な処理を実行

という状態です。

端末の利用者は、感染していることに気付かない場合もあります。

ボットネットとは?

複数の感染端末が攻撃者の制御下に入り、ネットワークとして利用される状態をボットネットと呼びます。

          C&C
       ↙   ↓   ↘
    PC A  PC B  PC C

攻撃者は、多数の感染端末へまとめて指令を出せる場合があります。

そのため、1台の端末だけではなく、多数の端末を利用した不正活動につながる可能性があります。

今回の過去問は、このボットネットにおいてC&Cサーバが何をしているのかを問う問題です。

C&C通信では何がやり取りされる?

C&C通信では、攻撃者側から侵害端末へ指令を送り、端末から結果を返すことがあります。

単純化すると、

侵害端末
↓
C&Cへ接続
↓
「次の処理」の指令を受信
↓
処理を実行
↓
結果を送信

という流れです。

ここで重要なのは、

C&Cサーバが最初の侵入そのものとは限らない

ことです。

まず別の方法で端末が侵害され、そのあと攻撃者が継続的に制御するためにC&C通信が使われることがあります。

バックドアとの違い

C&Cサーバと一緒に混乱しやすいのがバックドアです。

バックドアは、正規の認証などを回避してシステムへアクセスできる裏口や、攻撃者が再びアクセスするために残した仕組みを指します。

一方、C&Cは、侵害した端末へ指令を送り、結果を受け取る通信や制御の仕組みです。

整理すると、

用語 ポイント
バックドア 正規の経路を回避する裏口・再侵入の仕組み
C&C 侵害済み端末と通信し、指令・応答をやり取りする
ボットネット 多数の侵害済み端末をまとめて利用するネットワーク

実際の攻撃では、これらが組み合わさることもあります。

あわせて読みたい:情報セキュリティにおいてバックドアに該当するものは?

C&C通信は普通の通信に見せかけることもある

C&C通信は、必ず「いかにも怪しい専用通信」を使うとは限りません。

攻撃者は検知を避けるため、Web通信など一般的に利用されている通信に似せてC&Cを行うことがあります。

例えば、

感染端末
↓
HTTPやHTTPSなどに見える通信
↓
外部のC&C

という形です。

そのため、

外部へ通信しているだけで即マルウェアと判断する

ことはできません。

通常の業務通信と、不審なC&C通信をログや挙動から見分ける必要があります。

選択肢アはCDN

アはこちらです。

Webサイトのコンテンツをキャッシュし,本来のサーバに代わってコンテンツを利用者に配信することによって,ネットワークやサーバの負荷を軽減する。

これはCDN(Content Delivery Network)に関係する説明です。

Webコンテンツを利用者に近いサーバーなどから配信し、元のWebサーバーの負荷や通信遅延を減らします。

C&Cとは目的が全く違います。

選択肢イはCHAPによる認証

イではCHAPが出てきます。

CHAPは、チャレンジレスポンス方式を使った認証プロトコルです。

認証に関する説明であり、侵害端末へ指令を送るC&Cとは関係ありません。

選択肢ウはワンタイムパスワード

ウでは、

ワンタイムパスワード

を使って認証する説明です。

一度だけ有効なパスワードなどを利用し、認証情報の再利用などのリスクを下げる考え方です。

これも認証の仕組みであり、C&Cサーバではありません。

C&C通信をどうやって見つける?

組織のネットワークでは、感染端末からC&Cサーバへの不審な通信を検知することが重要です。

例えば、

  • DNSログ
  • プロキシログ
  • ファイアウォールログ
  • エンドポイントの挙動
  • 不審な外部接続
  • 通常とは異なる周期的通信

などを調査することがあります。

例えば、

端末A
↓
数分おきに同じ外部ホストへ通信
↓
業務上使う理由がない

といった挙動があれば、詳しく調べるきっかけになります。

ただし、正常なアプリケーションでも定期通信を行うため、通信回数だけで決めつけるのではなく、複数の情報を合わせて判断することが大切です。

C&C通信が疑われたらどうする?

C&C通信が確認された場合、重要なのは単に外部通信先を遮断するだけではありません。

端末自体がすでに侵害されている可能性があります。

そのため、組織では状況に応じて、

不審な端末を特定
↓
ネットワークから隔離
↓
端末やログを調査
↓
侵入経路やマルウェアを確認
↓
必要な復旧・再発防止

という対応を考えます。

C&CサーバのIPアドレスやドメインを遮断しても、マルウェアが端末に残っていれば、別の通信先を使う可能性もあります。

通信先だけではなく、感染端末そのものを調査する

ことが重要です。

マルウェアの動的解析ともつながる

前回解説した動的解析では、検体を隔離環境で実行し、外部通信などを観察します。

もし検体を実行した結果、

不審な外部サーバへ接続
↓
データを送信
↓
指令を受信

といった通信が確認されれば、C&C通信を持つマルウェアである可能性を調べる材料になります。

つまり、

動的解析C&C通信の理解

は別々の知識ではなく、つながっています。

あわせて読みたい:マルウェアの動的解析に該当するものはどれか

科目Bでは攻撃の流れを追う

C&Cサーバという単語だけ覚えると、

「命令するサーバー」

で終わってしまいます。

科目Bでは、もう一歩進んで、

端末が侵害される
↓
外部へ不審な通信
↓
指令を受信
↓
追加の不正操作
↓
結果を外部へ送信

という流れを読めることが大切です。

問題文に、

  • 感染端末
  • 外部サーバー
  • 指令
  • 応答
  • 定期的な外部通信

などが出てきたら、C&C通信を疑う材料になります。

Giji Academyでマルウェア感染後の流れまで学ぶ

科目Bのセキュリティでは、

「C&Cサーバとは何ですか?」

という単純な知識だけでなく、

「どこで感染したのか」 「感染後にどこへ通信しているのか」 「どのログを見ればよいか」 「どんな対策が必要か」

まで考える問題があります。

Giji Academyでは、ネットワークやサーバーの基礎から学び、そのうえでマルウェア、認証、ログ、攻撃手法などを実際のシステム構成と結びつけて学習できるようにしています。

社内PC
↓
ファイアウォール
↓
インターネット
↓
不審な外部サーバー

という構成を見て、

「この通信は必要なのか」 「どこで検知できるか」 「感染端末をどう扱うか」

まで考えられるようになると、科目Bのセキュリティ問題も理解しやすくなります。

Giji Academyで科目Bの学習を始める

登録不要で無料体験できます。

過去問解説まとめ

今回の記事では、C&Cサーバについて解説しました。

答えは、エの「乗っ取ったコンピュータに対して命令を出したり、応答を受け取ったりする」です。

C&Cで覚えておきたいポイントは次のとおりです。

  • C&CはCommand and Controlの略
  • C2と表記されることもある
  • 侵害済み端末へ指令を送り、結果を受け取る通信に使われる
  • 多数の感染端末がボットネットを構成することがある
  • バックドアは裏口、C&Cは指令・制御の通信という違いがある
  • 一般的な通信プロトコルに似せて通信することもある
  • 検知ではネットワークログや端末の挙動などを組み合わせて確認する
  • C&C通信を見つけたら、感染端末そのものの調査・隔離も重要

基本情報技術者試験では、

C&C=命令を送る

だけでなく、

侵害端末との指令・応答の通信

まで理解しておきましょう。

Giji Academyでは、擬似言語に加えて、科目Bに関連するネットワーク・セキュリティ問題も実践的に学習できます。

Giji Academy|科目Bの擬似言語・セキュリティを学ぶ

基本情報技術者試験の過去問解説はこちらから確認できます。

基本情報技術者試験 過去問解説まとめ

あわせて読みたい

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る