情報処理安全確保支援士(SC、登録セキスペ)の科目B(旧・午後問題)で、旧形式の頃に多く出ていたのがインシデント対応・ログ解析です。新形式になってからは主題として出る回数が減りましたが、令和6年秋期 問1はまるごとログ解析の問題でした。Web系やクラウド系の問題でも「インシデントが起きた」という設定はよく出てくるので、ログの読み方はどの分野でも使えます。
この記事では、令和6年秋期 問1と令和5年春期 午後I 問2を使って、「なぜその答えになるのか」「ログのどの行に着目すれば答えが出るのか」を解説します。答えはIPAの解答例、つまずきやすい設問はIPAの採点講評で確認しています。分析にはAI(Claude)も使っています。
科目B全体の出題傾向は、科目Bの出題傾向を10回分分析した記事にまとめています。この記事は、その分野別シリーズの6本目です。1本目はWeb問題(XSS・CSP・CSRF)、5本目は脆弱性管理・資産管理問題(CVSS・EPSS・KEV)です。
結論:ログ解析の問題は「3つの着眼点」で解ける
2問を読み比べると、答えの根拠になる行の探し方はほぼ同じでした。
- ログを時系列のストーリーに並べ直す。侵入(不審なURLへの接続)→実行(スクリプトやプロセスの起動)→探索・拡大(ポートスキャン、RDPの試行)→持出し(アーカイブの作成と送信)→C&Cとの通信、という順番に当てはめると、空欄に入るホスト名やモードが決まる
- 1つの事象を、2つ以上のログで裏付ける。プロセスの起動(ps)、待ち受けているポート(netstat)、FWの許可・拒否を項番で突き合わせる。採点講評でも「複数の情報を組み合わせて調査すること」が強調されている
- 調査や検知の答えは「どのログで、何を見るか」まで書く。マルウェアの解析結果(何をするプログラムか)を1行ずつ読み、その動作がどのログに残るかを逆算する。令和6年秋期では、ログの名前を書かなかった解答が多かったと指摘されている
知識の量より、表の行と行を時刻・ポート番号・プロセスIDでつなげられるかが点数を分けています。
この記事で使う過去問2問
| 回 | 題材 | 出てくる技術・考え方 | 採点講評で触れられた設問 |
|---|---|---|---|
| 令和6年秋期 問1 | ソフトウェア開発会社の仮想PCのマルウェア感染 | PowerShellスクリプト、タスクスケジューラ、RDPによる感染拡大、URLフィルタリング、C&C(コネクトバック通信)、DLP | 設問1(3)は高い、設問1(8)は平均的、設問2fはやや低い |
| 令和5年春期 午後I 問2 | 製造業のDMZにある受付サーバへの不正アクセス | FTPのアクティブ/パッシブモード、攻撃ツールのバインド/コネクトモード、SNMPv2c、DNSのTXTレコード、証拠の保全 | 設問1が低い、設問2(3)(4)は高い、設問3(2)は平均的 |
令和6年秋期はWindowsの仮想PC、令和5年春期はLinuxのサーバと、題材は違います。それでも「侵入された入口」「中で広がった経路」「外に出ていった通信」の3つを、ログの行で特定するという流れは共通しています。
令和6年秋期 問1(問題PDF):仮想PCから始まったマルウェア感染を追う
従業員100名のソフトウェア開発会社L社で、プロキシサービスから「PC-Aがマルウェア感染のカテゴリのURLにアクセスしようとして拒否された」というアラートが届き、情シス部がログを調べる問題です。情シス部は、インシデント対応用に証拠データを集めるFツールを作っていて、その出力(表3の時系列ログ、表4のプロセスごとの送受信量)と、プロキシの通信ログ(表5)が与えられます。
まず表3を「ストーリー」に並べ直す
表3(PC-Aのtime.csv)は、ファイル・サービス・認証・プロキシ通信のログを時刻順に並べたものです。そのまま読むと長いので、段階ごとにまとめるとこうなります。
| 時刻(12月4日) | 起きたこと | 段階 |
|---|---|---|
| 22:20 | https://△△△.com/ に接続(表5ではi.ps1を取得) | 侵入 |
| 22:32〜22:33 | i.ps1が作成され、PowerShellで実行。タスク「install」が登録・実行される | 実行・永続化 |
| 22:33 | https://△△△.com/ に接続(表5ではq.ps1を取得) | 実行 |
| 22:34 | マルウェア対策ソフトのサービス(VSCAN_SVC)が停止 | 防御の無効化 |
| 22:38〜22:42 | Dドライブと \\filesv のファイルを参照 | 情報収集 |
| 22:59〜23:10 | s.rarを作成→ https://△△△.com/ に接続(表5では511.0Mバイトの送信)→s.rarを削除 | 持出し |
| 23:31〜23:37 | ドメインサーバ、PC-B〜PC-GにRDP接続を試行。PC-Cにだけ、ローカルのadministratorで許可 | 感染拡大 |
| 23:34以降 | 1時間おきに https://○○○.com/ へ接続。12月6日2:34に拒否され、以降は https://□□□.com/ へ | C&Cとの通信 |
表4の送受信量も、この流れを裏付けています。12月4日23:05:40までの1時間に、powershell.exeが810.0Mバイトを送受信していて、s.rarの送信と時刻が重なります。その後は1時間に0.1Mバイトずつで、定期的なC&C通信の量です。
設問1(1)〜(4):感染が広がったホストと、止めるべきアカウント
着目する行: 表3の「12/04 23:32:51 PC-AからPC-Cに,.¥administratorで,RDP接続が許可された。」と、表3注記1の「domainhostが”.”の場合は,userNNNは仮想PCのローカルユーザーであることを示す」。
- a:PC-C(RDPに成功した唯一のホスト)
- b:filesv(
\\filesvのファイルが参照されている) - c:ad01¥user019(PC-Aの利用者のドメインアカウント)
- d:無効化(ドメインサーバでアカウントcを無効化する)
bとcは、文章の形を確認すると迷いません。本文は「PC-A及びaの上のファイルのほか,bの上のファイルのうち,アカウントcでアクセス可能なファイル」が送信されたおそれがある、という書き方です。ファイルサーバの利用には「ドメインサーバでの認証が必要」(表1)なので、PC-Aからファイルサーバに入れたのは、PC-Aにログオンしていたドメインユーザー、つまり ad01¥user019 の権限です。
ここで注意したいのは、PC-Cへの侵入に使われたのは ad01¥user019 ではなく、ローカルの administrator だったことです。表1には、従業員は「仮想PC上のローカルアドミニストレーター権限をもっている」とあります。図4(C社の解析結果)の(g)「パスワード又はパスワードハッシュをPCのメモリ上から窃取する」で手に入れたローカル管理者の認証情報が、ほかの仮想PCでも通ってしまった、と読めます。
採点講評では、設問1(3)の正答率は高く、「被害の可能性を複数のログから適切に読み取ることができていた」とされています。
設問1(5):プロキシサービスで、どのURLを止めるか
着目する行: 表1のURLフィルタリングの説明(管理者許可リスト→管理者拒否リスト→ベンダー拒否リストの順に適用、「ドメインユーザーごとに指定」)と、表5で拒否されたのが12月6日2:34の https://○○○.com/ だけだったこと。
解答例は「全てのドメインユーザーに対して,https://△△△.com/,https://□□□.com/ 及び https://○○○.com/ を管理者拒否リストに登録する」です。
表5を見ると、ベンダー拒否リストで止まったのは https://○○○.com/ だけで、それも12月6日になってからです。ファイルの送信先だった https://△△△.com/ と、切替え先の https://□□□.com/ は、ずっと「許可」のままです。ベンダーのリストを待たずに、自分たちで管理者拒否リストに3つとも入れる必要があります。
「全てのドメインユーザー」にするのは、URLフィルタリングがドメインユーザーごとに設定する仕組みだからです。PC-Cのように、user019以外の利用者の仮想PCにも感染が広がっている可能性があるので、user019だけに設定しても足りません。
設問1(6)(7):プロキシのログだけでは見つからないホスト
着目する行: 図4のi.ps1の動作「タスク実行のトリガー:ログオン時に実行される」と、(h)(i)「RDP接続に成功すると,接続先でi.ps1の実行を試みる」。
(6)は、プロキシサービスのログで「https://○○○.com/、https://△△△.com/ 又は https://□□□.com/ に通信したL社内ホストがないか調査する」です。3つのURLのどれかと通信していれば、感染しています。
(7)が、この問題でいちばん考えさせる設問です。Yさんは、追加調査の1と2(PC-Cの調査、プロキシのログの調査)では、「マルウェアが,今後,活動する可能性があるL社内ホストを見逃したおそれがある」と考えました。
理由は、i.ps1が登録するタスクのトリガーがログオン時だからです。RDPでi.ps1が実行されてタスクが登録されても、そのホストに誰もログオンしていなければ、まだ外部と通信していません。プロキシのログには何も残らないので、追加調査2では見つかりません。そこで解答例は「タスク名がinstallであるタスクが登録されているL社内ホストがないか調査する」です。
通信のログに出てこない感染を、マルウェアの動作(何を登録して、いつ動き出すか)から逆算して探す、という発想です。
設問1(8):マルウェアの活動を自動的に検出する仕組み
着目する行: 図4の(c)「マルウェア対策ソフトを停止する」と(h)「pingコマンドを使ってホストを探索し,RDP接続を試みる」。
解答例は、次の2つです(順不同)。
- マルウェア対策サービスのログから、マルウェア対策ソフトが停止したL社内ホストを検出する
- ドメインサーバのログから、RDP接続をくり返しているL社内ホストを検出する
採点講評では、正答率は平均的で、「どのログを確認するかの記述がない解答が多かった」とされています。「マルウェア対策ソフトの停止を検知する」だけでは足りず、「マルウェア対策サービスのログから」まで書く必要があります。表1に、マルウェア対策サービスは「マルウェア対策ソフトの稼働状況の確認」ができると書かれているので、ここが根拠です。
図4の(c)〜(i)を上から順に読み、「この動作はどの機器のログに残るか」を表1と照らし合わせると、答えの候補が出てきます。
設問2:同じ攻撃を、どこで止めるか
着目する文: 表6「攻撃者による目的実行までの活動を阻止するための技術的対策」と、表1の仮想PCの説明「従業員がシンクライアントPCからRDPで接続して利用する」。
- e(PC-Aからマルウェア感染を広げた):仮想PCへのRDP接続に対して,IPアドレスによる接続元制限を行う
- f(q.ps1がファイルを不正に持ち出した):L社内にDLPを導入し,ファイルの持出しを制限する
eは、正規の利用者がRDPで仮想PCにつなぐのはシンクライアントPCからだけ、という点がヒントです。仮想PCから仮想PCへのRDPは業務で必要ないので、接続元を制限すれば、今回の横展開は止まります。
fは、採点講評で正答率がやや低く、「ファイルサーバのアクセス権を最小限にするといった解答が散見されたが,マルウェアは,特別な権限なしにファイルを持ち出している」とあります。user019は業務上アクセスできるファイルを読まれただけなので、アクセス権を絞っても防げません。今回起きた「持出し」そのものを止める対策を選ぶ必要があります。
令和5年春期 午後I 問2(問題PDF):FWのログとps・netstatを突き合わせる
精密機器の部品を作るR社で、DMZの受付サーバから、DBサーバとメールサーバへのSSHのログイン失敗が続いてアラートが出た、という問題です。FWのログ(表1)、受付サーバのpsコマンドの結果(表2)、netstatコマンドの結果(表3)を突き合わせて、何が起きたかを特定します。
前提として、FWはインターネットから受付サーバへは443/TCPだけ、受付サーバからインターネットへも443/TCPだけを許可しています。この一文が、後半の設問の根拠になります。
設問1:FTPのデータコネクションの向き
着目する行: 表1の項番1-233(DBサーバ→製造管理サーバの21/TCP、許可)と1-234(DBサーバ→製造管理サーバの60453/TCP、許可)。
- a:パッシブ
FTPは、制御用の21/TCPとは別に、ファイルを送るためのデータコネクションを張ります。
| モード | データコネクションを張る向き | FWのログに残る形 |
|---|---|---|
| アクティブ | サーバ(20/TCP)→クライアント | 製造管理サーバからDBサーバへの通信 |
| パッシブ | クライアント→サーバの任意のポート | DBサーバから製造管理サーバの大きい番号のポートへの通信 |
1-234は、クライアント(DBサーバ)からサーバ(製造管理サーバ)の60453番ポートへの通信なので、パッシブモードです。採点講評では、設問1の正答率は低く、アクティブ/パッシブそれぞれのデータコネクションが「FWのログにどのように記録されるか」を理解してほしい、とされています。
設問2(2)(3):バインドモードとコネクトモードを見分ける
着目する行: 表2の項番2-3(./srv -c -mode bind 0.0.0.0:8080、15:01起動)と2-4(./srv -c -mode connect a0.b0.c0.d0:443、15:08起動)、表3の3-3と3-4、表1の1-3と1-4。
攻撃ツールsrvには、外部からの接続を待ち受ける「バインドモード」と、外部に自分から接続する「コネクトモード」があります。3つの表を時刻とポート番号でつなぐと、こうなります。
| 時刻 | ps(表2) | netstat(表3) | FW(表1) |
|---|---|---|---|
| 15:01〜15:03 | 2-3:バインドモードで8080番を待ち受け | 3-3:8080番がLISTEN | 1-3:外部→受付サーバの8080/TCPが拒否 |
| 15:08 | 2-4:コネクトモードで外部の443番へ | 3-4:外部の443番とESTABLISHED | 1-4:受付サーバ→外部の443/TCPが許可 |
- c:バインド。理由は「2-3によって起動した3-3のポートへの通信が1-3で拒否されているから」
- d:コネクト。理由は「2-4によって開始された3-4の通信が1-4で許可されているから」
攻撃者は、最初にバインドモードで待ち受けましたが、FWがインターネットからの8080/TCPを通さなかったので失敗しました。そこで、FWが許可している「受付サーバからインターネットへの443/TCP」を使うコネクトモードに切り替えて、C&Cサーバとの接続に成功しています。
設問は「表1中〜表3中の項番を各表から一つずつ示した上で」答えさせています。1つの事象を3つのログで裏付けることそのものが問われている設問です。採点講評でも、正答率は高かったうえで、「プロセスの起動,ポートの利用,FWの通信記録など複数の情報の関連性を正しく把握する必要がある」とされています。
設問2(1)(4):SNMPのコミュニティ名と、ポートスキャンのプロセス
- b:コミュニティ(SNMPv2cの「public」は、コミュニティ名の初期値としてよく使われるもの)
- e:1365
eは、表2の2-5(./srv -s -range 192.168.0.1-192.168.255.254)がポートスキャンのプロセスです。親プロセスID(PPID)が1293、つまりコネクトモードのsrv(2-4)から起動されています。「C&Cサーバとの接続に成功した後,ポートスキャンを実行した」という本文と、PPIDの親子関係が一致します。表3の3-5(192.168.253.124の21番へSYN_SENT)も、PID 1365のスキャンの途中の様子です。
設問3:DNSのTXTレコードと、証拠として取得するファイル
着目する文: 「機器の起動時にDNSリクエストを発行して,ドメイン名△△△.comのDNSサーバからTXTレコードのリソースデータを取得し,リソースデータの内容をそのままコマンドとして実行するcronエントリー」と、図2のリソースデータ(wgetでlogdをダウンロードして実行するコマンド)。
- (1):TXTレコードには任意の文字列を設定できるから。AレコードにはIPアドレスしか入らないので、コマンドを仕込めません
- (2):稼働しているファイルと内容が異なる可能性があるから
- (3):f=受付サーバ
(2)は、Mさんが図2のURLからlogdをダウンロードして解析に出そうとしたところ、U課長に止められた場面です。攻撃者のサーバ上のファイルは、時間がたてば差し替えられているかもしれません。解析すべきなのは、実際に受付サーバで動いていたファイルなので、受付サーバから取得します。採点講評では、正答率は平均的で、「時間の経過とともにURL上のファイルが変わっている可能性があることを認識し,証拠保全や不審ファイルの取扱方法について理解を深めてほしい」とされています。
2問に共通する「問題文のここを見る」チェックリスト
| 問題文に出てきたら | 何に使うか | 出てきた問題 |
|---|---|---|
| 時刻順に並んだログ(time.csvなど) | 侵入→実行→探索→持出し→C&Cの段階に分けて読む | 令和6年秋 問1 |
| 「許可」の中に1行だけ混ざる「許可された」「拒否」 | 感染が広がったホスト、攻撃が失敗した手段の特定 | 令和6年秋 問1、令和5年春 午後I 問2 |
| アカウント名の表記ルール(「.」はローカルユーザー) | ドメインアカウントとローカルアカウントを区別する | 令和6年秋 問1 |
| 一定間隔の少ない通信量、宛先の切替え | C&C(コネクトバック)通信 | 令和6年秋 問1 |
| マルウェアの解析結果(箇条書きの動作) | 1行ずつ「どのログに残るか」に変換すると、調査・検知の答えになる | 令和6年秋 問1 |
| 「トリガー:ログオン時」のような実行条件 | まだ通信していない感染ホストがある=通信ログだけでは見逃す | 令和6年秋 問1 |
| FWの許可ルール(「〇〇/TCPだけを許可」) | どの通信が成功し、どれが失敗したかの根拠 | 令和5年春 午後I 問2 |
| ps・netstatの結果(PID、PPID、ポート、状態) | FWのログと時刻・ポート番号でつなげる | 令和5年春 午後I 問2 |
| 「URLからダウンロードした」「攻撃者のサーバから取得した」 | 証拠は、実際に動いていた機器から保全する | 令和5年春 午後I 問2 |
CBT方式の科目Bでは、問題文にマーカーを引けます。ログの表では、ほかと違う1行(「許可された」「拒否」「ESTABLISHED」など)に最初に色を付けておくと、設問を読んだときに戻る場所がすぐ分かります。
最低限おさえる知識はこれだけ
インシデント対応・ログ解析の問題で、問題文に説明がないまま前提にされていた知識は、次のくらいでした。
| 知識 | 押さえるポイント |
|---|---|
| FTPのアクティブ/パッシブモード | 制御は21/TCP。データコネクションは、アクティブならサーバ→クライアント、パッシブならクライアント→サーバの任意のポート |
| バインド(待ち受け)とコネクト(接続しにいく) | 外からの接続はFWで止まりやすい。内から外への許可された通信(443/TCPなど)が悪用される |
| ps・netstatの読み方 | PIDとPPIDで親子関係、LISTEN・ESTABLISHED・SYN_SENTで接続の状態が分かる |
| SNMPv2cのコミュニティ名 | パスワードの代わりになる文字列。初期値の「public」のまま使われていると、情報を取られる |
| DNSのレコード | Aレコードは IPv4アドレス、TXTレコードは任意の文字列。TXTは攻撃者の命令の受け渡しにも使われる |
| C&Cサーバ・コネクトバック通信 | 感染した端末から外に定期的に接続して、攻撃者の指示を受け取る |
| ローカルアカウントとドメインアカウント | ローカル管理者のパスワードが端末間で同じだと、1台の窃取で横展開される |
| DLP(Data Loss Prevention) | 機密情報の外部への送信・持出しを検知して止める仕組み |
| 証拠保全 | 解析するのは実際に動いていたファイル。外部から取り直したファイルは同じとは限らない |
ネットワークやFWの基本は3本目のネットワーク問題の記事、委託先やクラウドでのインシデントは4本目のサプライチェーン・クラウド問題の記事にまとめています。
過去問の解説動画を見るなら
過去問の解説動画には、Udemyの講座を使っています。科目Bの過去問解説(令和7年秋・令和7年春・令和6年秋)が入っていて、この記事で扱った令和6年秋の問1を動画で見直せます。令和5年春の午後I 問2は入っていないので、IPAの解答例と採点講評で確認してください。
令和8年度対応|参考書の著者が教える 情報処理安全確保支援士 科目A・科目B対策(Udemy)
講座の内容を見る
まとめ
- ログ解析の問題は、まず時系列のストーリーに並べ直す。侵入→実行→探索・拡大→持出し→C&Cの段階に当てはめると、空欄のホスト名やモードが決まる
- 1つの事象を2つ以上のログで裏付ける。令和5年春 午後I 問2では、ps・netstat・FWの項番を各表から1つずつ示させる設問が出た
- 調査や検知の答えは、どのログで何を見るかまで書く。令和6年秋 問1では、ログの名前を書かなかった解答が多かった
- マルウェアの解析結果は、1行ずつ「どのログに残るか」「いつ動き出すか」に変換する。ログオン時に動くタスクは、まだ通信していない感染ホストを残す
- 対策は、今回のインシデントで実際に起きたことを止められるものを選ぶ。特別な権限なしに持ち出されたファイルは、アクセス権を絞っても防げない
この分野は、題材が毎回違うように見えますが、問われているのはログの行と行をつなぐ力です。解き直すときは、答えを覚えるのではなく、根拠になった行が、どの表の何番目にあったかを確認すると、初めて見るログでも同じ探し方ができるようになります。
この分野の攻撃と基本の対策の組み合わせは、聞き流し用の一問一答動画(攻撃と対策・42問・YouTube)でも耳で復習できます。
関連記事
- 情報処理安全確保支援士 科目B(午後)の出題傾向を分析|出やすい分野ランキングと過去問リンク集
- 支援士 科目B(午後)のWeb問題の解き方|XSS・CSP・CSRF
- 支援士 科目B(午後)のネットワーク・リモートワーク問題の解き方|VPN・DDoS・無線LAN
- 支援士 科目B(午後)のサプライチェーン・クラウド問題の解き方|委託先・SBOM・CI/CD
- 支援士 科目B(午後)の脆弱性管理・資産管理問題の解き方|CVSS・EPSS・KEV・ASM
- 支援士 科目B(午後)のコード問題を全部解説|「書く」はJava・SQL・正規表現の定番だけ
参考にした情報
- IPA 過去問題(令和6年度秋期 午後 問1、令和5年度春期 午後I 問2の問題・解答例・採点講評)
この記事で引用した問題文・解答例は、IPAが公開している過去問題からの抜粋です。一部を省略・要約し、表の形に整理しています。
よくある質問(FAQ)
Q1. 支援士の科目Bで、インシデント対応・ログ解析の問題は出ていますか?
新形式になった令和5年秋期から令和7年秋期の5回では、主題として出たのは令和6年秋期 問1の1問です。旧形式の午後I・午後IIでは多く出ていました。ただし、Web系やクラウド系の問題でも「インシデントが起きた」という設定でログを読ませる設問はよく出てくるので、ログの読み方はどの分野でも使えます。
Q2. ログ解析の問題は、何から読めばいいですか?
まず時刻順のログを、侵入、実行、探索・拡大、持出し、C&Cとの通信の段階に分けて並べ直すのがおすすめです。そのうえで、ほかの行と違う1行(「許可された」「拒否」など)を探し、別の表の行と時刻やポート番号でつなげます。令和5年春期 午後I 問2では、ps・netstat・FWのログの項番を各表から1つずつ示す設問が出ました。
Q3. 「検知する仕組み」を答える設問では、何を書けばいいですか?
どの機器やサービスのログで、何を検出するかまで書きます。令和6年秋期 問1の解答例は「マルウェア対策サービスのログから,マルウェア対策ソフトが停止したL社内ホストを検出する」のような形でした。採点講評では、どのログを確認するかの記述がない解答が多かったとされています。マルウェアの解析結果を1行ずつ読み、その動作がどのログに残るかを考えると答えが出ます。
Q4. FTPのアクティブモードとパッシブモードは、ログでどう見分けますか?
データコネクションの向きで見分けます。アクティブモードはサーバからクライアントへ、パッシブモードはクライアントからサーバの任意のポートへ接続します。令和5年春期 午後I 問2では、DBサーバから製造管理サーバの60453番ポートへの通信がFWで許可されていたことから、パッシブモードと判断します。採点講評では、この設問の正答率は低かったとされています。