マルウェアの多層防御、FWルールの見直し、ファイル改ざん検知【情報処理安全確保支援士試験 令和元年度 秋期 午後2 問1 設問2】

情報処理安全確保支援士試験 令和元年度 秋期 午後2 問1 設問2

問1 ソフトウェア開発におけるセキュリティ対策に関する次の記述を読んで、設問1〜4に答えよ。

(略)

f:id:aolaniengineer:20200607131316p:plain

(略)

f:id:aolaniengineer:20200607131848p:plain

(略)

f:id:aolaniengineer:20200607132522p:plain

f:id:aolaniengineer:20200607132617p:plain

(略)

【今後のマルウェア対策

 今回はマルウェアの被害が限定的であった。しかし、今後、より大きな被害をもたらすマルウェア感染が起こり得るので、B氏は、サーバAでのマルウェア対策として、表2の対策を提案した。

f:id:aolaniengineer:20200607134946p:plain

表2の対策1〜4は、図2中の3の(ア)〜(オ)のどの機能への対策となるか。それぞれ該当する機能を全て選び、記号で答えよ。:

対策1:(イ)

対策2:(イ)

対策3:(ア)、(エ)

対策4:(ウ)、(エ)、(オ)

図2(マルウェアXの目的、侵入方法及び機能) の3(マルウェアの機能)の各項目について、通信方法や権限などで整理して、各対策と照らし合わせると以下のようになります。

(ア)暗号資産の採掘用プログラムをダウンロードし、実行する機能

:サーバAからダウンロード用サーバへのアクセス

→サーバAから外部へのアクセス禁止としている対策3が有効です。

ダウンロード用のプロトコルについては記載がありませんが、図3(マルウェアXの活動(抜粋))の2では、curlコマンドでHTTPSを利用してスクリプトファイルをダウンロードしていることなどから、同様に、採掘用プログラムもHTTPSを利用していると思われます。

ダウンロードの権限については、curlコマンドによるHTTPSなどは一般ユーザ権限で実行できるので、対策4は有効ではありません。

(イ)ほかのサーバ上で稼働するDBMS-Rに侵入を試みる機能

:サーバAへのアクセス、及び、サーバAからほかのサーバへのアクセス

→サーバAへのアクセスを制限している対策1、2が有効です。

送信元IPアドレスの限定はもちろん、マルウェアXが利用するポート6379/tcpを変更することも有効です。

(ウ)サーバのFWルールを変更する機能

:サーバA上でのiptablesコマンド実行

→サーバA上でiptablesコマンド実行を制限する対策4が有効です。

iptablesコマンドについては、この後の問題文になりますが、「今回、(b:iptables)コマンドによって、図2の(ウ)が実行されました。DBMS-Rを必要最小限の権限にして稼働させることによって、この実行を防ぎます。」とあり、管理者権限が必要と考えられます。

(エ)ルートキットYをダウンロードし、インストールする機能

:サーバAからダウンロード用サーバへのアクセス、サーバA上でのインストール

→サーバAから外部へのアクセス禁止としている対策3、サーバA上でインストールを制限する対策4が有効です。

(ア)と同様に対策3が有効なのは明らかです。

インストールについては通常、管理者権限が必要ですので、対策4が有効です。

(オ)活動の痕跡が含まれるログファイルを削除する機能

:サーバA上でのrmコマンド実行

→サーバA上でrmコマンドを制限する対策4が有効です。

ログファイルの削除については通常、管理者権限が必要ですので、対策4が有効です。

 S社では、表2の対策案について検討した。次は、開発チームのリーダRさん及びメンバのPさんの会話である。

Rさん:対策1、対策2及び対策3は、具体的にどのようにするのかな。

Pさん:対策1については、サーバAのポート(あ:22/tcp)及び(い:6379/tcp)へのアクセスは、S社の開発用LANだけからなので、表1において、送信元を(う:a2.b2.c2.d2)に限定すべきでした。対策2については、攻撃に使用されたDBMS-Rのポート番号からS社で独自に定めたポート番号、例えば、8783に変更する方法もありますが、マルウェアXの攻撃を受けるリスクを低減する方法としては、対策1で十分です。対策2は行わず、対策1を行い、今回は送信元をルータSのグローバルIPアドレスに限定するのでDBMS-Rのポートは(い:6379/tcp)のままとします。対策3については、マルウェアXはサーバAに侵入の際及び感染後に、(a:curl)コマンドによってファイルをダウンロードしたことを考えると、サーバAから80/tcp及び443/tcpを含め、外部へのアクセスは禁止すべきでした。具体的には、FWルールを表3のように変更します。

f:id:aolaniengineer:20200607135831p:plain

あ:22/tcpい:6379/tcpう:a2.b2.c2.d2

表1(サーバAのFWルール) と表3(変更後のサーバAのFWルール)を比較して、項番3、4に相当する送信元、ポート(22/tcp、6379/tcpのどちらか)を考えます。

送信元については、「S社の開発用LANだけからなので」から、ルータSのアドレスが該当します。

ポートについては、「今回は送信元をルータSのグローバルIPアドレスに限定するのでDBMS-Rのポートは(い)のままとします」とあるので、(い)が6379/tcpとなり、残りの(あ)が22/tcpとなります。

a:curl

マルウェアXがファイルをダウンロードする際に用いるコマンドは、curlコマンドでした。

Rさん:対策4についても確認させてもらえるかな。

Pさん:今回、(b:iptables)コマンドによって、図2の(ウ)が実行されました。DBMS-Rを必要最小限の権限にして稼働させることによって、この実行を防ぎます。

b:iptables

マルウェアXがFWルールを変更する際に用いてコマンドは、iptablesコマンドでした。

Rさん:なるほど。ところで、サーバAでライブラリのファイルの改ざん検知を行うのはどうだろうか。保護対象ファイルの(え:ハッシュ値)を計算して、保護された場所に保存しておき、定期的に、保護対象ファイルの(え:ハッシュ値)を計算し直した値と保存しておいた値とを(お;比較)することによって、保護対象ファイルの(か:変更)又は改ざんが検知できる。Webコンテンツも保護対象にするとよさそうだ。

Pさん:Sシステムでは、Webコンテンツについては、頻繁に(か:変更)するので、頻繁に(え:ハッシュ値)を計算し直し保存する必要があり、運用が難しそうです。ライブラリのファイルの改ざん検知については、導入を検討します。

【出典:情報処理安全確保支援士試験 令和元年度 秋期 午後2問1】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_sc_pm2_qs.pdf

え:ハッシュ値

お:比較

か:変更

ファイルの改ざん検知には、ハッシュ値の比較やディジタル署名の検証などが代表的なものですが、「保護対象ファイルの(え)を計算して」とあるので、ハッシュ値が該当しそうです。

ハッシュ値の比較により、改ざん検知、または意図的な変更も検知されます。