情報処理安全確保支援士の令和4年度 秋季試験 午後Ⅱ 問1の解説を行っていきます。
出題テーマ:マルウェアの動作解析・攻撃手法への対策
出題テーマは『マルウェアの動作解析・攻撃手法への対策』でした。
問題前半ではマルウェアの動作解析や解析環境について出題され、後半ではARPスプーフィング攻撃を中心に攻撃手法およびその対策について出題されました。
一部知識が必要な問題も出題されましたが、基本的には文章中のヒントから解答することができる国語の問題だったかと思います。
設問1 (1)
こちらは知識の問題となります。
下線①としては、『ディスクには展開されずメモリ内だけに展開される。』とあります。
解答としては、『エ:ファイルレスマルウェア』となります。
ファイルレスマルウェアは下線①にもあったようにディスク上には展開されずメモリ上に展開されるものを指します。
代表例としては、悪名高いEmotetが挙げられます。
オフィスファイルなどが添付されたメールが送られてきて、そのオフィスファイルを開くとマクロ実行を促されます。
マクロ自体が様々なソフトウェアをインストールするダウンローダーとなっており、これを実行してしまうと悪意のあるソフトウェアなどがインストールされるといった流れとなります。
設問1 (2)
下線②としては、『今日確認した検体αの挙動が、検体αを週明けに再実行した時には、攻撃者による変更によって再現できなくなる。』とあります。
重要な部分として、『定期的にC&Cサーバに送信するキーロガー機能をもつ。』とあります。
C&Cサーバとの疎通ができなくなった場合に、C&Cサーバへの送信が行われなくなると考えることができます。
ということで、解答例としては、『C&CサーバのIPやFQDN(14文字)』と考えることができます。
攻撃対象に展開されたファイルレスマルウェア自体を変更することはできませんので、攻撃者が変更できるものとしては、これぐらいしかないというのも正直なところです。
設問1 (3)
下線③として、『検体γは現在の解析環境ではこれ以上解析できないので、別の環境を構築して解析することが決定した。』とあります。
重要な部分として、『Tさんは、3種類の検体を解析環境で実行し、挙動を確認するようY主任から指示を受けた。』とあります。
解析環境は『サンドボックス用の複数の仮想マシンで構成されている。』とあります。
そして検体γとしては、『自身が仮想マシン上で動作していることを検知すると、システムコールを使用して自身のプログラムコード中の攻撃コードを削除した後、終了する。』とあります。
解析環境は仮想マシン上となり、検体γは自身が仮想マシン上で動作していることを検知すると終了してしまいますので、今の解析環境ではこれ以上解析することができません。
仮想マシンがダメなのであれば、実機上で確認するしかありません。
ということで解答例としては、『仮想マシン上ではなく実機上で確認すること(20文字)』と考えることができます。
設問2
先に構成について触れますが、現状としてはOF機器のログ・ファイルを直接ファイルシェアサーバに格納していましたが、仮にこのファイルにマルウェアが含まれていて、自発的に感染を広げる場合はファイルシェアサーバ自体が感染、そしてファイルシェアサーバは他のOF環境とも接続性がありますので、他のOF環境へ影響を与えかねません。
そこで検疫PCを用意することで、まずは検疫PCにログを集めて、マルウェアなどに感染していないことを確認した上で、ファイルシェアサーバへ転送するという流れになります。
【a】から考えていきます。
『検疫PCには、パーソナルファイアウォールの設定によって、検疫PCと管理Webサーバとの間の通信だけを許可しておき、解析ファイルの転送に必要な通信を転送時にだけ許可する。』とあります。
現状としては検疫PCは管理Webサーバとしか通信ができない状態のため、OF機器との通信ができず、ログや解析ファイルの転送が行えません。
なので、まずはパーソナルファイアウォールの設定を変更して、その上で解析ファイルをOF機器から検疫PCに転送すると考えることができますので、『a:ア』となります。
【b】について考えていきます。
図4に、『4.解析ファイルをファイルシェアサーバに転送する。』、『5.使用したOF環境内のOF環境機器をシャットダウンする。』とあります。
現状の手順としては解析ファイルを抜き出した後はOF環境の機器のシャットダウンを行っています。
なぜシャットダウンを行う必要があるかというと、これから検疫PCからファイルシェアサーバへの通信が行いますが、OF環境内のルータを内部モードに変更して通信許可を行います。
その際に感染が疑われるOF機器が稼働している状態ですと、ファイルシェアサーバなどに通信可能な状態となってしまいますので、感染拡大を防止する観点でシャットダウンをする必要があると考えることができます。
この手順は新しい手順でも踏襲すべきと考えられ、『b:ウ』となります。
【c】について考えていきます。
ここまでの手順として、手順3(a)で解析ファイルをOF機器から検疫PCに移し、手順4(b)でOF環境の機器をシャットダウンし、手順5で検疫PC上の解析ファイルがマルウェアに感染していないことを確認しました。
次の手順としては解析ファイルを検疫PCからファイルシェアサーバへ移していくと考えることができますが、その前に行うべきことがあります。
OF環境内のルータは現在公開モードとなっており、『検疫PCは表3の通信制御ルールについては、OF機器として扱う。』とあるように、表3を確認するとルータが公開モードではOF機器からファイルシェアサーバ宛の通信は禁止されています。
OF環境内のルータを内部モードに変更することで、OF機器からファイルシェアサーバ宛の通信が許可されます。
ということで『c:エ』となります。
最後、【d】について考えていきます。
検疫PCのパーソナルファイアウォールとしては、ファイルシェアサーバとの通信が許可されていませんので、この通信を許可して、解析ファイルをファイルシェアサーバに転送すると考えることができます。
ということで、残った『d:イ』となります。
設問3 (1)
【e】の部分として、『ネットワーク内の機器の情報を得たいと考え、表5中の項番【e】の機能を実行した。』とあります。
ネットワーク内の機器の情報、MACアドレスやIPアドレスを得られるものとして、『プローブ機能:OS標準の機能を用いて同一セグメント内にARP要求を出し、応答を記録する。』とあり、解答は『e:1』となります。
設問3 (2)
まずは【f】と【g】について考えていきます。
X-PC上のARPテーブルに関してとなっていますが、X-PCは攻撃をしかける側ですので、正しいMACアドレスのままとなります。
ということで、192.168.15.51は標的PCのIPアドレスなので、『f:ア』、192.168.15.98はDNSサーバのIPアドレスなので、『g:イ』となります。
次に【h】について考えていきます。
192.168.15.50のIPアドレスはX-PCですので、そのまま『h:ウ』となります。
最後に【i】について考えていきます。
ARPスプーフィングの内容としては、『標的の機器のIPアドレスを指定して実行すると、標的の機器がARP要求を出した際に、正規のARP応答が戻ってくる前に、自身のMACアドレスを含んだ不正なARP応答を送る。』とあります。
今回は『ARPスプーフィング機能について、標的PCのIPアドレスを指定して実行した後、DNSサーバのIPアドレスを指定して実行し』とあり、ARPスプーフィングを標的PCおよびDNSサーバに対して実行しています。
192.168.15.98はDNSサーバのIPアドレスであり、標的PCが192.168.15.98に対してARP要求を行った際に、X-PCが自身のMACアドレスを含んだ不正なARP要求を送ることで、標的PCはDNSサーバのIPアドレス192.168.15.98に対応するMACアドレスはX-PCのMACアドレスとARPテーブルに登録してしまいます。
ということで、『i:ウ』となります。
設問3 (3)
先程の問題で解答しましたが、ARPスプーフィングを標的PCおよびDNSサーバに対して実行していますので、標的PCのARPテーブル上としてはDNSサーバのIPアドレスに対応するMACアドレスがX-PCのMACアドレスとなっています。
そして、こちらも先程の問題で解答しましたが、X-PCとしては標的PCやDNSサーバの正しいMACアドレスがARPテーブルに登録されている状態です。
DNSサーバのARPテーブル上としては、標的PCのIPアドレスに対応するMACアドレスがX-PCのMACアドレスとなっています。
これらの前提をもとに【j】、【k】について考えていきます。
送信元IPアドレス:192.168.15.51は標的PCのもので、宛先IPアドレス:192.168.15.98はDNSサーバとなっていますので、標的PCからDNSサーバに対する通信であると考えることができます。
送信元MACアドレスは標的PC自分自身のMACアドレスが入りますので、『j:ア』となります。
宛先MACアドレスとしてはDNSサーバのMACアドレスが入りますが、標的PC上のARPテーブルとしてはDNSサーバのIPアドレスに対応するMACアドレスはX-PCのMACアドレスで登録されていますので、『k:ウ』となります。
同一セグメントの場合はIPによるルーティングではなく、MACアドレスによるスイッチングにて通信が行われますので、この通信は宛先MACアドレスのX-PCに到着します。
【l】、【m】について考えていきます。
X-PCは送信元MACアドレスを自身のものに変更してDNSサーバへ転送します。
なので、送信元MACアドレスにはX-PCのMACアドレスが入りますので『l:ウ』、宛先MACアドレスにはDNSサーバのMACアドレスが入りますので、『m:イ』となります。
DNSサーバとしては標的PCのIPアドレス:192.168.15.51に対応するMACアドレスはX-PCのものとARPテーブルに登録されていますので正常な通信と認識してしまいます。
次に、送信元IPアドレス:192.168.15.98、宛先IPアドレス:192.168.15.51の、DNSサーバから標的PCへの返答が行われています。
送信元MACアドレスはDNSサーバのMACアドレスで、宛先MACアドレスはX-PCのMACアドレスとなっています。
同じようにスイッチングによりこの通信はX-PCに到着します。
【n】、【o】について考えていきます。
X-PCは送信元MACアドレスを自身のものに変更して標的PCへ転送します。
なので、送信元MACアドレスにはX-PCのMACアドレスが入りますので『n:ウ』、宛先MACアドレスには標的PCのMACアドレスが入りますので『o:ア』となります。
同じように標的PCとしてはDNSサーバのIPアドレス:192.168.15.98に対応するMACアドレスはX-PCのものとARPテーブルに登録されていますので正常な通信と認識してしまいます。
このように標的PCやDNSサーバはあたかも正常に通信を行っているように思いますが、実際としてはX-PCによって通信を盗み見られている状態となっています。
設問4 (1)
こちらは知識が必要な問題となります。
ストレッチングとはハッシュ値の計算を繰り返し行うことです。
計算量を増やすことで、元のパスワードなどの解読にかかく時間を増加させる目的で行われます。
ということで解答例としては、『ハッシュ値の計算を繰り返し行う処理(17文字)』となります。
設問4 (2)
下線⑤として、『ブルートフォース攻撃に対抗する機能』とあります。
ブルートフォース攻撃とは別名総当たり攻撃のことです。
例えば、自転車の鍵やロッカーの鍵によくあるような0~9の数字4桁でパスワードを決める場合に、0000~9999の全てを入力すれば、どこかで正解にたどり着くことができます。
というように想定される全ての組み合わせを入力して、力技でパスワードを導き出す攻撃手法となります。
この攻撃に対抗する機能としては、『利用者IDをに対してログイン失敗が5回連続した場合は、当該利用者IDによるログインを10分間ロックする。』とあります。
この点をうまくまとめてあげれば、解答例としては『ログイン失敗が5回連続した場合に、当該利用者IDによるログインをロックする機能(39文字)』となります。
設問4 (3)
こちらは知識の問題となります。
【p】の部分として、『文字列Zに含まれるハッシュ値から平文を得るために、【p】攻撃を行う。』とあります。
このように、ハッシュ値から平文を得やすくするための手法の1つとして、『エ:レインボーテーブル』攻撃が挙げられます。
設問4 (4)
下線⑥として、『システム管理者のパスワードとしてn番目の候補となる文字列』とあります。
重要な部分として、『システム管理者のパスワードは、いつずれも”Admin[数字5桁]”であり、[数字5桁]にはサーバごとに異なる数字が設定されていた。』とあります。
よって解答例としては、『Adminの後ろにn番目の候補となる数字5桁を追加した文字列(30文字)』と考えることができます。
設問5 (1)
下線⑦として、『重要なPCや狙われやすいサーバについて、ARPスプーフィングが実行されていないか常時監視する方法である。例えば、各PC及びサーバのARPテーブルを常時監視して、ARPテーブルの不審な状態を確認した場合には、』とあります。
ARPスプーフィングを受けた標的PCのARPテーブルを思い返してみましょう。
標的PCとDNSサーバに対してARPスプーフィングが行われ、標的PCのARPテーブル上ではDNSサーバのIPアドレスに対応するMACアドレスがX-PCのMACアドレスとなっています。
そして、当然ですがX-PCのIPアドレスに対応するMACアドレスはX-PCのものとなりますので、ARPテーブル上にX-PCのMACアドレスが2つ存在する状態となります。
基本的には同じMACアドレスが複数ARPテーブルに存在することはありえませんので、この状態が不審な状態であると考えることができます。
ということで解答例としては、『ARPテーブル上に同じMACアドレスが複数存在すること(27文字)』となります。
設問5 (2)
【q】はログの観点における改善となります。
重要な部分として、『デバッグログには、ログインした利用者IDごとの、セッション情報、H文字列を含む認証情報、プログラムコードで用いられていると思われる関数名や変数の値などが出力されていた。』とあります。
H文字列とは、『利用者が設定したパスワードは、Blowfish暗号を用いた、ソルトあり、ストレッチングありのハッシュ関数を用いて出力した文字列(以下、H文字列という)の形式で保存される。』とあります。
デバッグログ上にパスワードのハッシュ値が出力されている状態ですので、レインボーテーブル攻撃などによって平文解析される可能性があると考えられます。
ということで解答例としては、『デバッグログに認証情報を出力させないようにすること(25文字)』となります。
公式解答例との比較
私の解答と公式解答を比較してみました。
満点ではないにせよ、少なくとも7割~8割程度は取れているかと思いますので合格ラインには達していると思います。
予想配点はあくまで予想ですので参考程度でお願いします。
出題テーマは『マルウェアの動作解析・攻撃手法への対策』でした。
前半はマルウェアの動作解析について出題されました。
ファイルレスマルウェアなどの知識が必要となる問題もありましたが、基本的には文章中のヒントから解答することができる国語の問題でした。
後半は攻撃手法への対策として、主にARPスプーフィングについて出題されました。
ARPスプーフィング自体は文章中に解説がのっていましたので、ARPスプーフィングを知らない場合でも解答することができたかと思います。
ストレッチングやレインボーテーブルのように知識が必要となる問題もありましたが、こちらも基本的には文章中のヒントから解答することができる国語の問題でした。
総じて、難易度としてはやや簡単~普通かと思います。
配点 |
|||
設問1 (1) | エ | エ | |
設問1 (2) | C&CサーバのIPやFQDN(14文字) | C&CサーバのIPアドレス | |
設問1 (3) | 仮想マシン上ではなく実機上で確認すること(20文字) | 仮想マシンではない実機環境を使う。 | |
設問2 | a:ア b:ウ c:エ e:イ |
a:ア b:ウ c:エ e:イ |
|
設問3 (1) | 1 | 1 | |
設問3 (2) | f:ア g:イ h:ウ i:ウ |
f:ア g:イ h:ウ i:ウ |
|
設問3 (3) | j:ア k:ウ l:ウ m:イ n:ウ o:ア |
j:ア k:ウ l:ウ m:イ n:ウ o:ア |
|
設問4 (1) | ハッシュ値の計算を繰り返し行う処理(17文字) | ハッシュ化を繰り返す処理 | |
設問4 (2) | ログイン失敗が5回連続した場合に、当該利用者IDによるログインをロックする機能(39文字) | ログイン失敗が5回連続した場合に当該利用者IDをロックする機能 | |
設問4 (3) | エ | エ | |
設問4 (4) | Adminの後ろにn番目の候補となる数字5桁を追加した文字列(30文字) | 変数nの値を5桁の文字列に変換して”Admin”に結合した文字列 | |
設問5 (1) | ARPテーブル上に同じMACアドレスが複数存在すること(27文字) | 同一のMACアドレスのエントリが複数存在する状態 | |
設問5 (2) | デバッグログに認証情報を出力させないようにすること(25文字) | デバッグログに認証情報を出力しないこと |
引用元
問題および解答例に関しては、独立行政法人 情報処理推進機構(IPA)より引用しています。
YouTube解説動画
鋭意編集中につき少々お待ちください。
情報処理安全確保支援士の問題解説
その他の年度、問題解説は以下のページにまとめております。