解答速報というか。自分なりの解答例。
※ 2021/6/25 追記
合格だった。
※ IPAの解答はこれ
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2021r03_1/2021r03h_sc_pm2_ans.pdf
※ 2021/7/10 採点講評が掲載された
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2021r03_1/2021r03h_sc_pm2_cmnt.pdf
自分の答え(赤は明らかな間違い)(青が正しいと思われる)
全体として「具体的に述べよ」とあるところは必ず文中の言葉を使い、文中にある機器名に対して「何を」「どうするか」を明確になるよう回答した。
青色(正しそう)と感じた根拠は5chにある(他の人の)答えによる。
以下、自分が回答に際して考えた内容。
「パスワードリスト攻撃」というくらいだから、既に漏洩したパスワード(正確にはIDとパスワードの組み合わせ)が攻撃者の手元にあって、それを使っているのだろう。
(1)の問題文は「一般にどのような攻撃か」なん聞き方だから、文中の単語を使って答える必要なない問題で、自分の言葉を使っても減点はあまり無いだろうと感じた。
「一般に」ということは、仮にそれが新聞記事になったとしても(一般の人に)正確に意味が伝わるようにしなければいけない。なので、内容としては「総当たり」であること、「不正」なログインであること、「試行」であることを盛り込むべきと考えて回答した。
(2)は「パスワードの安全な設定方法とは何か。35字以内で具体的に述べよ」と言っているから、答えは必ず「○○な方法」となるべき。設問をオウム返しで語尾につけるのが正しいお作法のハズ。
あとは些細なことだが「ID又はパスワード」にするか「ID及びパスワード」にするかで数分悩んでしまった(前者にした)。
(3)も「ログインが普段と異なる環境から行われたことを判定する技術的手法を、45字以内で具体的に述べよ」と聞いているから、 答えは必ず「○○な手法」となるべき。
解答の主旨としては「IPアドレスとcookieの組み合わせ等によって判別する」ことが答えられればいいはずだけど、ここはあえてcookie一本に絞って回答してみた。
ポイントとしては
「cookieがクライアント側(のブラウザ)に保存されること」(サーバではない)
「cookieを持っていない環境からのアクセス場合に、普段と違うと判定する」こと
の2点だろうと思う。
IPアドレスの記載がないので減点される気もするが、実務ではcookieメインでチェックしてるみたいだし…これでいいかなと。
(4)「タイムゾーン」は思いつかなかった。アタリマエすぎて言葉が出なかった。
(5)日本とイギリス(グリニッジ天文台)との時差は9時間。だからJSTとUTCの時差も9時間。これはほとんと地理の問題だ。イギリス旅行しといて良かった。
これも問題文が「社内LANから店舗PCを経由せずにどのようにマルウェアが侵入すると想定されるか。侵入方法を50字以内で具体的に述べよ」と聞いているから、 答えは必ず「○○な方法」となるべき。
読み取るべき情報としては
・問題にされているのは「店舗管理サーバにマルウェアが侵入するリスク」である(P6の表1)
・N社の関係部門は、管理用PCを操作して店舗管理サーバを利用する(P3の注記2)
・店舗管理システムと社内LANとの間でデータの受渡しが必要な場合はUSBメモリを用いる(P3の注記2)
なので、店舗管理サーバにマルウェアが侵入するためには「USBメモリを介して管理用PCが感染し、そこから(IP-VPNを通じた)ネットワーク経由でサーバに感染する」とも読み取れる。
しかし他方で、USBメモリを直接店舗管理サーバに挿してデータの受渡しをする可能性も否定されていない(店舗管理サーバは店舗管理システムの一部なわけだから)。
ので、解答としては「USBメモリを介して感染する」ことを主眼としつつ、極力問題文(P3の注記2)にある言葉をそのまま利用して文章にした。
(1)情報セキュリティ委員会 が正しいと思う。
問題となっている組織(P7の表2 N-CSIRTの構成部門) を、N社の組織図(P2)と比べてみる限りは「情報セキュリティ委員会」なんて組織は存在しないのだが、P7の図6の中に「情報セキュリティ委員会の承認」とあるから、インシデント発生時にはこの組織が立ちあがるのだろう。
(2)d 検知 e 分析 f 根絶
このあたりは常識の範囲で答えても正解してしまいそうな気がする。
(1)は今回の試験の中では一番の難問だったのではないかと思う(5chを見ていても、誰も正解を言っていない)。
大事なポイントは各セグメントの末尾にあるスラッシュ(/28 と /30)。これによってサブネットマスクの大きさが決まるのでIPアドレスの範囲が定まる。
N社は
x1.y1.z1.0/28 だから(クラスCで16個のIPアドレスを持つわけで)
x1.y1.z1.0から x1.y1.z1.15までがN社内のIPアドレスであって
★x1.y1.z1.16より後ろのアドレスからの通信は不正アクセス
と分かる。
で、FW2のログ(P9の図9)と見比べてみると
x1.y1.z1.で始まるものは4個ある。
これらのうち
★x1.y1.z1.16より後ろのアドレスからの通信は不正アクセス
なものを探せばよい。
そうすると
x1.y1.z1.100
x1.y1.z1.240
が不正とわかる。
さらに問題文=設問4(P12)をよく読むと「…のうち不正ログインを行なったと推測される接続元IPアドレスは幾つか。個数を答えよ」と聞いているから、これら4個のうちSSH接続を行なったものだけを拾えばよい。
そうするとやはり
x1.y1.z1.100
x1.y1.z1.240
の2つなわけで、結局N社(x1.y1.z1.0/28)からではない不正なアクセスは2個あった。
同様に、V社(x2.y2.z2.128)を見てみると
V社は
x2.y2.z2.128/30 だから(クラスCで4個のIPアドレスを持つわけで)
x2.y2.z2.128から x2.y2.z2.131までがV社内のIPアドレスであって
★x2.y2.z2.127より前 or x2.y2.z2.132より後ろのアドレスからの通信は不正アクセス
と分かる。
で、x2.y2.x2が接続元かつSSHの接続を見てみると
4つあって
x2.y2.z2.130
x2.y2.z2.129
x2.y2.z2.60
x2.y2.z2.58
これらのうち
★x2.y2.z2.127より前 or x2.y2.z2.132より後ろのアドレスからの通信は不正アクセス
なんだから
x2.y2.z2.60
x2.y2.z2.58
こいつら2つが不正アクセスと分かる。
あとはa2.b2.c2.d2からのSSHは明らかに不正アクセスだから、まとめると
x1.y1.z1.100
x1.y1.z1.240
x2.y2.z2.60
x2.y2.z2.58
a2.b2.c2.d2
の5個が不正アクセスであると分かる。
5chを見ていると、「7個だ」「いや9個だ」「いやいや1個だ」と、さまざまな意見があるが、こうしてみると5個なんじゃないか?と考えざるをえない。
(2)はLinuxを使っていれば余裕で分かる問題だが、問題文が「”/etc/shadow/”ファイルの性質を含めて70字以内で述べよ」 と言っている以上、その性質(管理者のみがアクセスできる)には必ず触れる必要があると思われる。
自分の解答としては(試験中に焦って時間がなかったせいもあるが)shadowをshadowsと誤記してしまったし、一般権限でも/etcフォルダの参照だけならできるのに、できないような書き方をしてしまって、かなり減点されてしまいそう。
ただし、問題文が「…脆弱性Mだけを悪用しても…参照できない理由を…述べよ」と言っているから、解答としては「脆弱性Mに触れる」「…だからと答える」べきで、そこは満たせたから、部分点は取れそうな気もする。
ここも問題文は 「攻撃者が行なった設定変更の内容を、45字以内で具体的に述べよ」と指示しているから、答えとしては「…な変更」となるべき。
「R1サーバにSSH接続するのに、どこでブロックされているかな?」という視点で問題文を読み返してみると、P4の(3)R1サーバへの接続制御 で、/etc/hosts.allow ファイルの設定で接続元を(N社とV社のみに)限定しているのが分かるから、ここに書き加える変更をしたと答えればよい。
(4)は、問題文にヒントがあって、「…F2ファイルには…考えられるか。図9中の値及び図10中の値を用いて求めよ」とあるわけだからそこに答えがある。
図9をみると320kバイトのファイルをアップロードしている(これがF1)なんだから
その直前にある960kバイトは、その3倍の大きさと分かる。
320kバイトの固定長のF1に8個のアドレス
が書かれていた(図10の(3))とあるから、その3倍の
960kバイトのファイルには24個のアドレス
が書かれていたはず、と分かる。
(5)は、問題文が「SSH接続及びHTTP接続を使った攻撃から開発用システムを保護するための措置 を75字以内で具体的に述べよ」とあるから、SSHとHTTPそれぞれの接続元を限定すべき記載をするのが正しいのだろうが、SSHしか書かなかった。減点されてしまう。
ただし、接続元を何で制限するかというと、そこは/etc/hosts.allowとするのは間違いで、FW2で制限するのが正しいと思う。P4の(1)には「インターネットからのインバウンド通信は、FW2において…遮断している」とあるし、/etc/hosts.allowで制限したとしても、脆弱性がある限り突破されてしまうからだ(実際今回もN社とV社に制限していたのに突破されてしまっている)。
問題文でさらに気になるのは「SSH接続及びHTTP接続を使った攻撃から開発用システムを保護するための措置 を75字以内で具体的に述べよ」と言っているところで、開発用サーバ(R2)に限定していないので、P3の図にある「開発用システム」の枠内にあるサーバは全て保護しなければいけないのだろう。
そうするとやはりR2サーバの/etc/hosts.allowに書くだけでは足りない。ガチガチにやるとすれば
R1サーバの/etc/hosts.allow N社とV社だけに限定する
Webサーバの/etc/hosts.allow R1サーバだけに限定する
アプリサーバとデータベースも同じ
かつ
FW2で、SSHとHTTPの接続元をN社とV社のみに限定する
が必要になると思う。
午後1はこちら。