情報処理安全確保支援士 2023年 春期 午後1 問02
セキュリティインシデントに関する次の記述を読んで、設問に答えよ。
R社は、精密機器の部品を製造する従業員250名の中堅の製造業者である。本社に隣接した場所に工場がある。R社のネットワーク構成を図1に示す。


サーバ、FW、L2SW、L3SW及びPCは、情報システム課のU課長、Mさん、Nさんが管理しており、ログがログ管理サーバで収集され、一元管理されている。
DMZ上のサーバのログは常時監視され、いずれかのサーバで1分間に10回以上のログイン失敗が発生した場合に、アラートがメールで通知される。
FWは、ステートフルパケットインスペクション型であり、通信の許可、拒否についてのログを記録する設定にしている。FWでは、インターネットから受付サーバへの通信は443/TCPだけを許可しており、受付サーバからインターネットへの通信はOSアップデートのために443/TCPだけを許可している。インターネットから受付サーバ及びメールサーバへのアクセスでは、FWのNAT機能によってグローバルIPアドレスをプライベートIPアドレスに1対1で変換している。
受付サーバでは、取引先からの受注情報をDBサーバに保管するWebアプリケーションプログラム(以下、アプリケーションプログラムをアプリという)が稼働している。DBサーバでは、受注情報をファイルに変換してFTPで製造管理サーバに送信する情報配信アプリが常時稼働している。これらのアプリは10年以上の稼働実績がある。
〔DMZ上のサーバでの不審なログイン試行の検知〕
ある日、Mさんは、アラートを受信した。Mさんが確認したところ、アラートは受付サーバからDBサーバとメールサーバに対するSSHでのログイン失敗によるものであった。また、受付サーバからDBサーバとメールサーバに対してSSHでのログイン成功の記録はなかった。Mさんは、不審に思い、U課長に相談して、不正アクセスを受けていないかどうか、FWのログと受付サーバを調査することにした。
〔FWのログの調査〕
ログイン失敗が発生した時間帯のFWのログを表1に示す。

表1のFWのログを調査したところ、次のことが分かった。
・受付サーバから工場LANのIPアドレスに対してポートスキャンが行われた。
・受付サーバから製造管理サーバに対してFTP接続が行われた。
・受付サーバと他のサーバとの間ではFTPのデータコネクションはなかった。
・DBサーバから製造管理サーバに対してFTP接続が行われ、DBサーバから製造管理サーバにFTPのaモードでのデータコネクションがあった。
以上のことから、外部の攻撃者の不正アクセスによって受付サーバが侵害されたが、攻撃者によるDMZと工場LANとの間のファイルの送受信はないと推測した。Mさんは、受付サーバの調査に着手し、Nさんに工場LAN全体の侵害有無の調査を依頼した。
〔受付サーバのプロセスとネットワーク接続の調査〕
Mさんは、受付サーバでプロセスとネットワーク接続を調査した。psコマンドの実行結果を表2に、netstatコマンドの実行結果を表3に示す。


srvという名称の不審なプロセスが稼働していた。Mさんがsrvファイルのハッシュ値を調べたところ、インターネット上で公開されている攻撃ツールであり、次に示す特徴をもつことが分かった。
・C&C(Command and Control)サーバから指示を受け、子プロセスを起動してポートスキャンなど行う。
・外部からの接続を待ち受ける“バインドモード”と外部に自ら接続する“コネクトモード”でC&Cサーバに接続することができる。モードの指定はコマンドライン引数で行われる。
・ポートスキャンを実行して、結果をファイルに記録する(以下、ポートスキャンの結果を記録したファイルを結果ファイルという)。さらに、SSH又はFTPのポートがオープンしている場合、利用者IDとパスワードについて、辞書攻撃を行い、その結果を結果ファイルに記録する。
・SNMPv2cでpublicというb名を使って、機器のバージョン情報を取得し、結果ファイルに記録する。
・結果ファイルをC&Cサーバにアップロードする。
Mさんは、表1~表3から、次のように考えた。
・攻撃者は、一度、srvのcモードで、①C&Cサーバとの接続に失敗した後、srvのdモードで、②C&Cサーバとの接続に成功した。
・攻撃者は、C&Cサーバとの接続に成功した後、ポートスキャンを実行した。ポートスキャンを実行したプロセスのPIDは、eであった。
Mさんは、受付サーバが不正アクセスを受けているとU課長に報告した。U課長は、関連部署に伝え、Mさんに受付サーバをネットワークから切断するよう指示した。
〔受付サーバの設定変更の調査〕
Mさんは、攻撃者が受付サーバで何か設定変更していないかを調査した。確認したところ、③機器の起動時にDNSリクエストを発行して、ドメイン名△△△.comのDNSサーバからTXTレコードのリソースデータを取得し、リソースデータの内容をそのままコマンドとして実行するcronエントリーが仕掛けられていた。Mさんが調査のためにdigコマンドを実行すると、図2に示すようなリソースデータが取得された。

Mさんが受付サーバを更に調査したところ、logdという名称の不審なプロセスが稼働していた。Mさんは、logdのファイルについてハッシュ値を調べたが、情報が見つからなかったので、マルウェア対策ソフトベンダーに解析を依頼する必要があるとU課長に伝えた。Webブラウザで図2のURLからlogdのファイルをダウンロードし、ファイルの解析をマルウェア対策ソフトベンダーに依頼することを考えていたが、U課長から、④ダウンロードしたファイルは解析対象として適切ではないとの指摘を受けた。この指摘を踏まえて、Mさんは、調査対象とするlogdのファイルをfから取得して、マルウェア対策ソフトベンダーに解析を依頼した。解析の結果、暗号資産マイニングの実行プログラムであることが分かった。
調査を進めた結果、工場LANへの侵害はなかった。Webアプリのログ調査から、受付サーバのWebアプリが使用しているライブラリに弱性が存在することが分かり、
これが悪用されたと結論付けた。システムの復旧に向けた計画を策定し、過去に開発されたアプリ及びネットワーク構成をセキュリティの観点で見直すことにした。
設問1:セキュリティインシデントに関する次の記述を読んで、設問に答えよ。
本文中のaに入れる適切な字句を答えよ。
模範解答
a:パッシブ
解説
解答の論理構成
-
問題文の状況整理
- 「DBサーバから製造管理サーバに対してFTP接続が行われ」
- FWログ「1-233 送信元アドレス:192.168.0.2 宛先ポート:21/TCP 動作:許可」
- FWログ「1-234 送信元アドレス:192.168.0.2 宛先ポート:60453/TCP 動作:許可」
最初に制御用ポート21/TCPへ接続し、その直後に同じ送信元(192.168.0.2)から高位ポート60453/TCPへ接続している。
-
FTP転送モードの特徴
- アクティブモード:クライアント→サーバへ21/TCPで制御接続を張った後、【サーバ】が20/TCPからクライアント高位ポートへデータ接続を張る。
- パッシブモード:制御接続後、【サーバ】が待ち受けポート番号を通知し、【クライアント】がその高位ポートに接続を張る。
したがって、通信方向は常にクライアント→サーバとなる。
-
ログと照合
- 「1-234」はクライアント側である192.168.0.2(DBサーバ)がサーバ側192.168.1.145(製造管理サーバ)の高位ポート60453/TCPに接続。
- これはパッシブモードの典型的なフローであり、アクティブモードで見られる20/TCPからの逆方向通信は記録されていない。
-
結論
以上より、aに入る語はFTPの「パッシブ」モードとなる。
誤りやすいポイント
- “高位ポートを使っていればアクティブ”と早合点する。アクティブはサーバ→クライアント方向の接続が必ず存在する点で見分ける。
- 20/TCP以外でもデータ転送が行われると勘違いし、アクティブ・パッシブの区別をポート番号だけで判断してしまう。
- ログに表示される「送信元/宛先アドレス」の向きを見落とし、通信方向を取り違える。
FAQ
Q: FWログに20/TCPが出てこないのはなぜですか?
A: パッシブモードではサーバが高位ポートを開き、クライアントがそこへ接続するため20/TCPは使用しません。
A: パッシブモードではサーバが高位ポートを開き、クライアントがそこへ接続するため20/TCPは使用しません。
Q: アクティブモードのデータコネクションは必ず20/TCPですか?
A: はい、RFC959でデータポート20/TCPと定義されています。サーバ側から20/TCP→クライアント高位ポートへ接続が張られます。
A: はい、RFC959でデータポート20/TCPと定義されています。サーバ側から20/TCP→クライアント高位ポートへ接続が張られます。
Q: ログの高位ポート60453/TCPは毎回同じになりますか?
A: いいえ、パッシブモードではサーバが空いている高位ポートを都度割り当てるため毎回異なります。
A: いいえ、パッシブモードではサーバが空いている高位ポートを都度割り当てるため毎回異なります。
関連キーワード: FTP, ポートスキャン、C&Cサーバ、SNMPv2c, cron
設問2:受付サーバのプロセスとネットワーク接続の調査について答えよ。
(1)本文中のbに入れる適切な字句を、10字以内で答えよ。
模範解答
b:コミュニティ
解説
解答の論理構成
- 【問題文】には
“SNMPv2cでpublicというb名を使って、機器のバージョン情報を取得し”
と記載されています。 - “SNMPv2c” は SNMP の旧バージョンであり、認証・アクセス制御に “コミュニティ名(community string)” を用います。
- 代表的な既定値が “public/private” で、とりわけ “public” は読み取り専用アクセスに利用されるため、多くの機器でそのまま残りやすく攻撃者に悪用されがちです。
- したがって “b” に入る語は SNMP のアクセス制御用キーワードである “コミュニティ” が適切です。
誤りやすいポイント
- “public” という語から “公開鍵” や “パスワード” を連想してしまい、設問趣旨を取り違える。
- SNMPv3 の認証・暗号機能と混同し、コミュニティ名が廃止されたと誤解する。
- “グループ名”“ドメイン名” と答えてしまい、SNMP 固有の用語に結び付けられない。
FAQ
Q: SNMPv2c の “コミュニティ名” は具体的に何の役割を果たしますか?
A: 利用者認証とアクセス制御を兼ねた共有文字列です。装置側はあらかじめ “public”“private” などを設定し、SNMP マネージャから送られてきたコミュニティ名が一致すれば問い合わせを受け付けます。
A: 利用者認証とアクセス制御を兼ねた共有文字列です。装置側はあらかじめ “public”“private” などを設定し、SNMP マネージャから送られてきたコミュニティ名が一致すれば問い合わせを受け付けます。
Q: “public” が残ったままだと、どんなリスクがありますか?
A: だれでも機器情報を読み取れる状態になるため、機器の型番・OS バージョン・稼働状況などが漏えいし、脆弱性を突いた攻撃の足掛かりになります。
A: だれでも機器情報を読み取れる状態になるため、機器の型番・OS バージョン・稼働状況などが漏えいし、脆弱性を突いた攻撃の足掛かりになります。
Q: SNMP を安全に使う対策は?
A: 可能であれば SNMPv3 に移行し、認証・暗号化を有効にします。v2c を使う場合でも “public”“private” といった既定値を変更し、アクセス元のネットワークを ACL で制限することが推奨されます。
A: 可能であれば SNMPv3 に移行し、認証・暗号化を有効にします。v2c を使う場合でも “public”“private” といった既定値を変更し、アクセス元のネットワークを ACL で制限することが推奨されます。
関連キーワード: SNMP, コミュニティ名、デフォルトパスワード、情報漏洩
設問2:受付サーバのプロセスとネットワーク接続の調査について答えよ。
(2)本文中のcに入れる適切な字句を、“バインド”又は“コネクト”から選び答えよ。また、下線①について、Mさんがそのように判断した理由を、表1中〜表3中の項番を各表から一つずつ示した上で、40字以内で答えよ。
模範解答
c:バインド
下線①:2-3によって起動した3-3のポートへの通信が1-3で拒否されているから
解説
解答の論理構成
-
srv の起動オプション確認
表2「2-3」のコマンドラインは
「./srv -c --mode bind 0.0.0.0:8080」で、モードが“bind”であることが明示されています。
よって c には「バインド」を入れるのが自然です。 -
①が“失敗”と判断できる根拠
・FW 受信側で 8080/TCP が拒否
表1「1-3」は「送信元アドレス a0.b0.c0.d0」「宛先ポート 8080/TCP」「動作 拒否」であり、C&C 側からの接続要求が FW で遮断されたことを示します。
・srv が待受状態だったポートを確認
表3「3-3」は「ローカルアドレス 0.0.0.0:8080」「状態 LISTEN」「PID 1275」、その親は表2「2-3」です。
したがって「2-3 によって起動した 3-3 のポートへの通信が 1-3 で拒否されている」ため、①は接続失敗と判断できます。 -
②が“成功”と判断できる根拠(参考)
表2「2-4」は「./srv -c --mode connect a0.b0.c0.d0:443」。
表3「3-4」は「192.168.0.1:54543 → a0.b0.c0.d0:443」「状態 ESTABLISHED」。
表1「1-4」も同ポートで「動作 許可」。
これらから connect モードでの再接続が成功したと分かります。
誤りやすいポイント
- 「2-3」に付く -c オプションを “connect” と早合点し、モードを誤る。実際には --mode bind が決定打です。
- FW ログ「1-3」の“拒否”を「送信元からの誤ポートスキャン」と勘違いし、C&C との通信失敗である点を見落とす。
- 「bind=待受、connect=能動接続」の対比を忘れ、①②を逆に解釈してしまう。
FAQ
Q: バインドモードとコネクトモードは何が違うのですか?
A: バインドモードは内部でポートを「LISTEN」し外部からの接続を待ちます。コネクトモードはマルウェア自身が外部(C&C)へ能動的に接続します。
A: バインドモードは内部でポートを「LISTEN」し外部からの接続を待ちます。コネクトモードはマルウェア自身が外部(C&C)へ能動的に接続します。
Q: なぜ FW が 8080/TCP を拒否していると C&C 接続失敗と断定できるのですか?
A: 表3「3-3」で待受状態の 8080/TCP へ、表1「1-3」で外部アドレスからの通信が“拒否”されています。待受には到達していないため接続は成立していません。
A: 表3「3-3」で待受状態の 8080/TCP へ、表1「1-3」で外部アドレスからの通信が“拒否”されています。待受には到達していないため接続は成立していません。
Q: -c という短縮オプションは何を意味しますか?
A: 本ツールでは -c は設定ファイル読込オプションに過ぎず、接続モードは --mode で明示的に指定されています。オプション名だけで判断しないよう注意が必要です。
A: 本ツールでは -c は設定ファイル読込オプションに過ぎず、接続モードは --mode で明示的に指定されています。オプション名だけで判断しないよう注意が必要です。
関連キーワード: C&C通信、ステートフルFW, ポートスキャン、バインドモード、辞書攻撃
設問2:受付サーバのプロセスとネットワーク接続の調査について答えよ。
(3)本文中のdに入れる適切な字句を、“バインド”又は“コネクト”から選び答えよ。また、下線②について、Mさんがそのように判断した理由を、表1中〜表3中の項番を各表から一つずつ示した上で、40字以内で答えよ。
模範解答
d:コネクト
下線②:2-4によって開始された3-4の通信が1-4で許可されているから
解説
解答の論理構成
- 表2の 2-3 に「./srv -c --mode bind 0.0.0.0:8080」とあり、srv は最初にバインドモードで待受けた。
- しかし表3の 3-3 は LISTEN 状態のみで、表1に 8080/TCP の許可ログが無い(1-3 が 8080/TCP 拒否)。このため C&C サーバとの接続は失敗したと判断できる。
- 次に表2の 2-4 に「./srv -c --mode connect a0.b0.c0.d0:443」とあり、srv はコネクトモードで外部へ接続を試行。
- 表3の 3-4 は 192.168.0.1:54543 → a0.b0.c0.d0:443 が ESTABLISHED、かつ表1の 1-4 で同一通信が FW により許可されている。したがって C&C サーバとの接続に成功したと分かる。
- 以上から d は「コネクト」。また下線②の判断根拠は「2-4 によって開始された 3-4 の通信が 1-4 で許可されているから」と整理できる。
誤りやすいポイント
- srv の起動オプションの読み違え
- bind と connect の両方に -c が付いているため、‐c をモード指定と誤解しやすい。実際は --mode の後ろが決定的。
- FW ログと netstat の対応付け不足
- 表3の ESTABLISHED だけを見て接続成功と判断し、FW ログで許可されたかを確認し忘れる。
- ポート番号方向の混同
- 送信元 54543/TCP がダイナミックポートであることを見落とし、誤って 443/TCP との内部待受けと解釈する。
FAQ
Q: バインドモードで接続が失敗したかどうかは、どの情報で確定できますか。
A: 表1の 8080/TCP が 1-3 で「拒否」と記録され、表3に ESTABLISHED が存在しないため失敗と判断できます。
A: 表1の 8080/TCP が 1-3 で「拒否」と記録され、表3に ESTABLISHED が存在しないため失敗と判断できます。
Q: 2-4 の末尾にある「2>&1」は解答に影響しますか。
A: いいえ。標準エラー出力を標準出力にリダイレクトするだけで、srv の動作モードや接続可否には関係ありません。
A: いいえ。標準エラー出力を標準出力にリダイレクトするだけで、srv の動作モードや接続可否には関係ありません。
Q: ESTABLISHED と LISTEN の違いは何ですか。
A: LISTEN はポートが待受け状態、ESTABLISHED は 3 ウェイハンドシェイクが完了し双方向通信が確立された状態です。
A: LISTEN はポートが待受け状態、ESTABLISHED は 3 ウェイハンドシェイクが完了し双方向通信が確立された状態です。
関連キーワード: ステートフルパケット、ポートスキャン、C&C サーバ、ESTABLISHED 状態、バインドモード
設問2:受付サーバのプロセスとネットワーク接続の調査について答えよ。
(4)本文中のeに入れる適切な数を、表2中から選び答えよ。
模範解答
3:1365
解説
解答の論理構成
-
攻撃ツールの仕様確認
- 問題文では「・C&C(Command and Control)サーバから指示を受け、子プロセスを起動してポートスキャンなど行う。」と記載されています。
- したがって“ポートスキャンを行う子プロセス”を探します。
-
C&C 接続に成功した親プロセスの特定
- 表2(2-4)には「./srv -c --mode connect a0.b0.c0.d0:443」が PID「1293」で実行中です。
- これは C&C サーバへ“接続する”コネクトモードなので、親プロセスと判断できます。
-
子プロセスの探索
- 同じ表2に PID「1365」で「./srv -s --range 192.168.0.1-192.168.255.254」が稼働しています。
- コマンドラインオプション「-s」は “scan” を示し、範囲「192.168.0.1-192.168.255.254」から DMZ→工場LAN に対してポートスキャンを実施していると読み取れます。
- さらに PPID が「1293」であり、上記親プロセスの子プロセスになっていることも確認できます。
-
以上より「ポートスキャンを実行したプロセスのPID」は表2 の「1365」であると結論付けられます。
誤りやすいポイント
- 「1275」の ./srv -c --mode bind 0.0.0.0:8080 は“外部からの接続待ち受け”でありスキャンではない点を見落としやすいです。
- PPID を確認せずコマンド名だけで判断すると、C&C 親(1293)とスキャン子(1365)を取り違える恐れがあります。
- netstat の「SYN_SENT」行(3-5)はスキャンの一部ですが PID を直接示さないため、ここだけを根拠にすると誤答になりがちです。
FAQ
Q: -s オプションが“scan”を示すと断定できる理由は?
A: 問題文に「ポートスキャンを実行して、結果をファイルに記録する」と明記されており、表2 で唯一 -s を付けたプロセスが PID「1365」だからです。
A: 問題文に「ポートスキャンを実行して、結果をファイルに記録する」と明記されており、表2 で唯一 -s を付けたプロセスが PID「1365」だからです。
Q: もし複数の -s プロセスがあった場合は?
A: PPID と開始時刻を突き合わせ、C&C 成功後に生成された子プロセスを選択します。今回は該当プロセスが一つしかないため迷いません。
A: PPID と開始時刻を突き合わせ、C&C 成功後に生成された子プロセスを選択します。今回は該当プロセスが一つしかないため迷いません。
Q: netstat の「192.168.0.1:64651 → 192.168.253.124:21 SYN_SENT」は何を示す?
A: スキャン結果で FTP ポートが開いていた先に対し、辞書攻撃を試みている途中の接続であり、PID「1365」が発生させた通信の一部と推測されます。
A: スキャン結果で FTP ポートが開いていた先に対し、辞書攻撃を試みている途中の接続であり、PID「1365」が発生させた通信の一部と推測されます。
関連キーワード: ポートスキャン、PID, C&Cサーバ、子プロセス、コマンドライン引数
設問3:受付サーバの設定変更の調査について答えよ。
(1)本文中の下線③について、Aレコードではこのような攻撃ができないが、TXTレコードではできる。TXTレコードではできる理由を、DNSプロトコルの仕様を踏まえて30字以内で答えよ。
模範解答
TXTレコードには任意の文字列を設定できるから
解説
解答の論理構成
- 問題文は、攻撃者が「DNSリクエストを発行して、ドメイン名△△△.comのDNSサーバからTXTレコードのリソースデータを取得し、リソースデータの内容をそのままコマンドとして実行する」と説明しています。
- DNSプロトコルにおいて
・Aレコードの RDATA は「IPv4 アドレス」固定
・TXTレコードの RDATA は「任意の文字列を格納できる」
という仕様差があります。 - よって TXT レコードならシェルコマンドを含む文字列をそのまま返却でき、スクリプトが実行してしまうため攻撃が成立します。
- 以上より解答は「TXTレコードには任意の文字列を設定できるから」となります。
誤りやすいポイント
- Aレコードでも文字列を書けると勘違いし、DNSパケット全体に注目してしまう。
- TXTレコードの用途を SPF など制御用データ限定と捉え、「任意性」の高さを見落とす。
- “コマンドが実行される理由”ではなく“なぜ DNS がそのデータを渡せるか”という論点を外す。
FAQ
Q: Aレコードでも Base64 文字列を IP アドレス風に分割すれば同じことが可能では?
A: IP アドレスは 32bit 固定長で値域が制限され、自由文字列として扱えません。
A: IP アドレスは 32bit 固定長で値域が制限され、自由文字列として扱えません。
Q: TXTレコードは長さ制限があるのでは?
A: 255 文字単位で複数文字列を連結できるため、実用上コマンドスクリプト程度なら十分格納可能です。
A: 255 文字単位で複数文字列を連結できるため、実用上コマンドスクリプト程度なら十分格納可能です。
Q: DNSSEC を使えば防げますか?
A: DNSSEC は改ざん検知には有効ですが、正規署名付きで悪意ある TXT を配布された場合は防げません。
A: DNSSEC は改ざん検知には有効ですが、正規署名付きで悪意ある TXT を配布された場合は防げません。
関連キーワード: DNSレコード種別、RDATA, コマンドインジェクション、C&C通信、TXTレコード
設問3:受付サーバの設定変更の調査について答えよ。
(2)本文中の下線④について、適切ではない理由を、30字以内で答えよ。
模範解答
稼働しているファイルと内容が異なる可能性があるから
解説
解答の論理構成
- 受付サーバ上では既に不審プロセス「logd」が稼働している。本文では
「Mさんが受付サーバを更に調査したところ、logdという名称の不審なプロセスが稼働していた。」
と記載されている。 - Mさんは解析用に「図2のURLからlogdのファイルをダウンロード」しようとしたが、U課長は下線部
「④ダウンロードしたファイルは解析対象として適切ではない」
と指摘した。 - 図2のリソースデータは DNS TXT レコードにより動的に提供されるワンライナーで、攻撃者が任意のタイミングで内容を更新できる。したがってダウンロード時点で取得できるファイルは、
・現在受付サーバで稼働し問題を引き起こしている logd
・侵入当初にダウンロードされた logd
と同一とは限らない。 - 解析対象とすべきは、侵害を受けた環境で実際に稼働している実物ファイルであり、外部サーバから改めて取得したファイルではない。そこで本文は
「Mさんは、調査対象とするlogdのファイルをfから取得して、マルウェア対策ソフトベンダーに解析を依頼した。」
と続く。 - 以上より、U課長の指摘は「ダウンロードしたファイルは稼働中のファイルと内容が異なる恐れがある」という趣旨となる。
誤りやすいポイント
- 「URLが同じ=同じファイル」と思い込み、動的ペイロードや版違いのリスクを失念しやすい。
- ハッシュ値確認を怠り、入手元の真正性・同一性を検証せずに解析対象を決定してしまう。
- DNS TXT 経由のコマンド実行に着目できず、攻撃者がファイルを随時差し替え可能である事実を見落とす。
FAQ
Q: ダウンロードせずに現物取得が推奨されるのはなぜですか?
A: 侵害環境で実際に動いているバイナリこそ正しく痕跡を保持しており、攻撃者が差し替えた別物を解析しても正確な挙動が得られないからです。
A: 侵害環境で実際に動いているバイナリこそ正しく痕跡を保持しており、攻撃者が差し替えた別物を解析しても正確な挙動が得られないからです。
Q: DNS TXT レコードを使う利点は何ですか?
A: HTTP 通信が直接発生しないため監視を回避しやすく、攻撃者がレコードを書き換えるだけでコマンドを更新できる点です。
A: HTTP 通信が直接発生しないため監視を回避しやすく、攻撃者がレコードを書き換えるだけでコマンドを更新できる点です。
Q: 解析前に最低限確認すべきことは?
A: ハッシュ値計算、タイムスタンプ確認、実行パス、権限(所有者・パーミッション)を取得し、不揮発性メディアへ保全します。
A: ハッシュ値計算、タイムスタンプ確認、実行パス、権限(所有者・パーミッション)を取得し、不揮発性メディアへ保全します。
関連キーワード: DNS TXT, ハッシュ値、マルウェア解析、コマンド&コントロール、ファイル同一性
設問3:受付サーバの設定変更の調査について答えよ。
(3)本文中のfに入れる適切なサーバ名を、10字以内で答えよ。
模範解答
f:受付サーバ
解説
解答の論理構成
- 【問題文】には「Mさんは、logdのファイルについてハッシュ値を調べたが、情報が見つからなかったので、マルウェア対策ソフトベンダーに解析を依頼する必要があるとU課長に伝えた」とあります。
- その後の手順として「Webブラウザで図2のURLからlogdのファイルをダウンロードし…と考えていたが、U課長から、④ダウンロードしたファイルは解析対象として適切ではないとの指摘を受けた」と記載されています。
- ダウンロード版が不適切と指摘された理由は、攻撃者が同一 URL で別の無害ファイルや改ざんファイルを供給する可能性があり、“稼働していた実物”と同一である保証がないからです。
- したがって「調査対象とするlogdのファイル」は“すでに感染しているホスト”から取得しなければ、攻撃時点の正確なバイナリを確保できません。
- 感染が確認されたホストは「受付サーバ」であり、【問題文】は「srvという名称の不審なプロセスが稼働」「logdという名称の不審なプロセスが稼働」といずれも受付サーバ上で起きていることを示しています。
- よって f に入るサーバ名は「受付サーバ」となります。
誤りやすいポイント
- URL から再ダウンロード=同一ファイルと早合点する
攻撃者が差し替える恐れを見落とすと失点します。 - 「ログ管理サーバ」や「DBサーバ」と推測する混同
logd が実際に稼働していたのは受付サーバだけです。 - “感染源=C&Cサーバ”と誤解し、外部サイト名を書いてしまう
問われているのは取得場所ではなく“どの自社サーバから採取するか”です。
FAQ
Q: なぜ実機から取得する必要があるのですか?
A: 攻撃発生時点のバイナリを保存しないと、ハッシュ値照合や挙動解析が正確に行えません。URL から再取得した場合、攻撃者が別物を配置していると証拠保全になりません。
A: 攻撃発生時点のバイナリを保存しないと、ハッシュ値照合や挙動解析が正確に行えません。URL から再取得した場合、攻撃者が別物を配置していると証拠保全になりません。
Q: 感染端末から直接ネットワーク越しに送付してもよいのでしょうか?
A: 事故調査の原則として、まずオフラインでイメージ取得またはメディアへコピーし、隔離環境でハッシュ化→暗号化したうえで送付するのが安全です。
A: 事故調査の原則として、まずオフラインでイメージ取得またはメディアへコピーし、隔離環境でハッシュ化→暗号化したうえで送付するのが安全です。
Q: logd が稼働していた証拠はどこにありますか?
A: 「Mさんが受付サーバを更に調査したところ、logdという名称の不審なプロセスが稼働していた」と【問題文】に明記されています。
A: 「Mさんが受付サーバを更に調査したところ、logdという名称の不審なプロセスが稼働していた」と【問題文】に明記されています。
関連キーワード: マルウェア解析、ハッシュ値、インシデント対応、サンプル採取、攻撃ツール


