誰がなんと言おうと私は頑張ってると思います。
土日はもっと出来ただろと反省してますが。
2019(R1) 秋 午後Ⅱ 問2
問題はこちらから(IPA 令和元年度秋期試験 問題冊子・解答例・採点講評・配点割合)。
ネットワークのセキュリティ対策に関する問題。記述を考えるのにFWが必要な問題ではスルーし、FW関係ない問題ではFWに着目するというミスマッチ。あとステートフルインスペクションに固執しすぎていたなあと反省。それと支援士で見たことない用語が結構あるんだなあと。SYNフラッド攻撃の対策とか。
設問1
穴埋め。
a. 該当部は「(a)スキャンとポートスキャンには対応できている」。
ポートスキャンしか出てこなかった……。
ポートスキャンを行う前に、そもそもポートスキャンの対象のホストを探す必要があります。ホストもといホストのIPアドレスを知るためには、pingコマンド(ICMP echo)を投げ、応答があるかを確認します。この攻撃を、ホストスキャン、あるいはアドレススキャンと言います。よって解答はホストまたはアドレス。
b. 該当部は「クローズのポート宛てにUDPパケットを送ると、RFC792で規定された(b)パケットが送信元IPアドレスに返送される(以下略)」です。
RFC792で定義しているのは、ICMPです。よって解答はICMP。
正確には、クローズのポート宛てにUDPパケットを送信すると、ICMP port unreachable(コード3)が返されます。午前Ⅱのポートスキャンの問題にもありました。
e. 外部DNSサーバがフルサービスリゾルバとして要求に応じる機器を答えます。FPサーバの方はあっていたのですが(d)。
本文中に「メール中継サーバは、社外のメールサーバ及び社内メールサーバとの間で、電子メールの転送を行う」とあることから、社外のメールサーバのIPアドレスを知るためにメール中継サーバは名前解決の要求を外部DNSサーバへ送信します。よって解答はメール中継サーバ。
メール中継サーバが解答になるのはわかるのですが、内部DNSサーバはなくていいのかしっくりきてないです。転送と直接要求では違うということなのか?
設問3 (1)
フィルタリングの内容を答える問題。
uRPF(Unicast Reverse Path Forwading)とは、ルーティングテーブルの仕組みを利用したパケットフィルタリング技術のことです。
ルータのインタフェースに送信されたパケットの送信元IPアドレスを確認し、その送信元IPアドレスが割り当てられていない(ルーティングテーブルに存在していない)場合に破棄するというもの。
よって解答は「ルータが受信したパケットの送信元IPアドレスが、ルーティングテーブルに送信しない場合、受信したパケットを破棄する」です。
知識がなくて解答できなかったパターン。送信元を偽装した通知の防御方法の一つだそうなので、覚えておきたいですね。
設問4 (1) ウ
穴埋め。
TCPのヘッダには、シーケンス番号と確認応答番号というフィールドがあります。
シーケンス番号はパケットの順序を意味する番号で、確認応答番号は次に受信すべきデータのシーケンス番号です。
この二つの番号の関係は、前のパケットで受信したシーケンス番号に+1した値が次に送信するパケットの確認応答番号になり、受信したパケット中の確認応答番号は、次に送信するシーケンス番号の値になります。
具体的な数値を出すと、SYN/ACKで受信したシーケンス番号が20000、確認応答番号が10001だった場合、ACKで送信するシーケンス番号は10001、確認応答番号は20001になります。
よって解答は「確認応答」番号でした。
TCPヘッダといえばシーケンス番号はすぐ出てきたけど、確認応答番号は忘れてました。ちゃんと覚える。
設問4 (3)
FWの設定によってFPサーバが踏み台にされない理由を答える問題。
FPサーバはDMZに設置されており、IPアドレスは α.β.γ.4 です。
表1のFWのルールを見ると、インターネット→DMZで許可されている通信のうち、宛先IPアドレスがα.β.γ.4のものはありません。
よって解答は「FPサーバには、インターネットからのコネクションが確立できない」です。
ステートフルインスペクションで送信元と宛先が違うから弾かれるのだと思ったのですが、そもそもパケットが届かないことに気づきませんでした。節穴かな?
設問5 (2)
大量の偽パケットが送信するが、パケットごとに異なる内容が設定される項目名を全て答えます。
宛先ポート番号は固定ではないので、当たりを引くために様々な値にする必要があります。
識別子も任意の値が設定されるため、パケットごとに違う値にする必要があります。
自分が間違えたのが送信元IPアドレスなのですが、仮に複数の機器からパケットを送っていたとしても正当な応答パケットとして受信してもらうためには、フルサービスリゾルバが問い合わせを送ったコンテンツサーバのIPアドレスが送信元IPアドレスでなくてはなりません。そのため、パケットに設定されている値はどのパケットでも共通になるため、正解ではないのでした。
設問5 (3)
外部DNSサーバの構成変更によって、インターネットからDNSサーバ2へのキャッシュポイズニング攻撃が防げると判断した根拠を答える問題。
構成変更というのは、外部DNSサーバ(α.β.γ.1)をコンテンツサーバであるDNSサーバ1(α.β.γ.1)と、フルサービスリゾルバであるDNSサーバ2(α.β.γ.6)へ分割することです。表1の通信を許可するFWのルールを見てみると、インターネット→DMZの通信で、DNSサーバ1への通信は許可されますが、DNSサーバ2への通信は許可されていません。
よって解答は「攻撃者が送信する、キャッシュポイズニング攻撃のための名前解決要求パケットはFWで破棄される」です。
FWで破棄されること自体はあっていたけど、名前解決要求パケット自体届かない部分を書く必要があったかなあと思いました。
設問6 (2)
DNSサーバ2がキャッシュしたDNSレコードが消去されるまでの時間(分)を答えます。
問題文下線部直後の「マルウェアが、一定間隔でfast-flux.example.comへアクセスを行えば」から、fast-flux.example.comにアクセスする場合のDNSレコードキャッシュです。
レコードで言えば、IPb1~IPbzのAレコードが該当し、180とあるので、3分が正解です。
86400の方と間違えた……。それはns.example.comにアクセスする場合のキャッシュだ。
設問6 (3)
C&Cサーバを効果的に隠ぺいするための、マルウェアによるC&Cサーバへのアクセス方法を答える問題。
Fast Fluxは「特定のドメインに対するDNSレコードを短時間に変化させることによって、サーバの追跡を困難にさせる手法」、Domain Fluxは「ドメインワイルドカードを用いて、あらゆるホスト名に対して同一のIPアドレスを応答する手法」と本文中に記載があります。
具体的なホスト名を示して確認します。
Domain Fluxを使用すると、a1.example.com、b2.example.com、c3.example.com……といったような異なるホスト名に対して同一のIPアドレスを応答できます。
またFast Fluxを使用すると、同一のホスト名に対して IPb1、IPb2、……、IPbzと異なるIPアドレスを返すことができます。
これらを組み合わせると、a1.example.comと問い合わせるとIPb1が返ってきて、その後にb2.example.comと問い合わせるとIPb2が返ってくる……となります。ばらばらのホスト名に対してばらばらのIPアドレスを返すことで追跡を困難にしているのです。
よって正解は「アクセス先のホスト名をランダムにする」です。
Fast FluxとDomain Fluxがうまくかみ砕けなかったけど、具体的なホスト名を出してみれば分かったかも。
設問6 (4)
FPサーバのログに記録される、マルウェアの活動が疑われる異常な通信内容を答える問題。
解答の根拠となる部分が本文中にあります(問題文p.22)。
・「現行のFPサーバをHTTPS通信の複合機能をもつ機種に交換し、プロキシ認証を併せて行うことにした。」
・「FPサーバでのプロキシ認証のセキュリティを高めるために、社内のNPCのWebブラウザで、オートコンプリート機能を無効にし、ID、パスワードのキャッシュを残さないようにすることにした。」
プロキシ認証が有効な場合、認証に成功しないと通信ができません。また、オートコンプリート機能を無効にしているため、マルウェアは認証情報を得ることができず、認証に失敗します。何度も何度も。
よって解答は「FPサーバでの認証エラーが短時間に繰り返されている」です。
解答解説を見て「あっ」ってなりました。見たことあるぞこれ。
設問6 (5)
FPサーバを経由せずにC&CサーバのFQDN宛てにアクセスを試みた場合に、マルウェアとC&Cサーバとの通信が失敗する理由を答えます。
この問題のポイントは、「C&CサーバのFQDN宛てにアクセスを試みた」場合です。C&Cサーバと通信を試みた場合ではありません。FQDNにアクセスを試みた場合、まず名前解決でC&CサーバのIPアドレスを知る必要があります。
FPサーバを経由しない場合、マルウェアは内部DNSサーバへ問い合わせを行いますが、内部DNSサーバからDNSサーバ2(フルサービスリゾルバ)への通信は許可されていません。そのためC&CサーバのIPアドレスを取得することができないのです。
よって解答は「C&CサーバのIPアドレスが取得できないので、宛先が設定できない」です。
通信できないのはFWで弾かれるからだろうと思ったのですが、問題文のFQDN宛ての記述でなるほどとなりました。
2022(R4) 春 午後Ⅱ 問1
問題はこちらから(IPA 令和4年度春期試験 問題冊子・解答例・採点講評・配点割合)。
がっつりセキュリティって感じ。支援士の方にそっくりそのまま出せそう。そしてお前は相変わらずほんとに受かったのか
設問1
恒例の穴埋め。表記ブレ……。
ア.
メッセージ認証と改ざん検知で迷ったけど、改ざん検知が正解でした。セキュリティ機能であれば改ざん検知の方が妥当かなあ。
イ.
L2フォワーディング。これが正式名称だろうし、レイヤ2じゃバツかなあ……。
ウ.
ポート。番号はいらなかった。
カ.
TLS1.3で規定されている鍵交換方式で、3種類のうち、ECDHE、PSKともう一つを答えます。DHになにか文字が付いたものってところまでは覚えていたけど。支援士の過去問にもいつぞや選択問題として出てましたね。ECDHじゃなかった、というかECDHEって書いてあるじゃん。
TLS1.3の暗号スイートについて整理します。
まず鍵交換の方式について、PFSの確保に問題があった以下のアルゴリズムを廃止。
・RSA
・ECDSA(Elliptic Curve Digital Signature Algorithm)
・DH(Diffie-Helman)
・ECDH(Elliptic Curve DH)
鍵交換アルゴリズムとして利用できるのは以下の2つです。最後についてるEはEphemeral(一時的な)という意味で、これは鍵交換に使用するパラメータを一定期間だけ使用する(ずっと同じパラメータを使い続けない)ことからです。
・DHE(Diffie-Helman Ephemeral)
・ECDHE(Elliptic Curve DH Ephemeral)
ちなみに問題文にでてるPSKはPre Shread Key(事前共有鍵)のことなのでアルゴリズムではないです。
よって解答はDHEでした。
他と違ってEphemeralのEって後ろに付くのに注意しないと。
設問2 (1)
TLS1.3におけるAEAD暗号利用モードでの、セキュリティに関する二つの処理を答える問題。
AEAD(Authenticated Encryption with Associated Data)暗号利用モードとは、認証付きの暗号利用モードで、TLS1.3の共通鍵にはAEADの暗号アルゴリズムのみしか使用できません。暗号化と認証を同時に実現しています。
よって解答は暗号化とメッセージ認証です。
共通鍵のモードなので鍵交換は関係なかったですね。
参考元および詳細。
設問2 (2)
電子証明書において、識別用情報を示すフィールドを答える問題。
subjectだかcommonだかなんだったっけ?となった奴。
証明書のフォーマットについて振り返ります。
まずはX.509フォーマット。
パラメータ | 説明 | |
---|---|---|
1 | バージョン | X.509 証明書のバージョン |
2 | シリアル番号 | CAが付与するユニークな番号 |
3 | 署名アルゴリズム | CAが証明書に署名する際に使用するアルゴリズム |
4 | 発行者 | 証明書に署名して発行した認証局の名称 |
5 | 有効期限 | デジタル証明書の有効期限(開始日、終了日) |
6 | サブジェクト | 主体(証明書の所有者)の名称 |
7 | 公開鍵アルゴリズム | 公開鍵アルゴリズム |
8 | 公開鍵 | 公開鍵 |
9 | 拡張領域 | オプションによって使用する領域 |
10 | 署名アルゴリズム | 3番と同じもの |
11 | 認証局のデジタル署名 | 1~9の値に対し、10のアルゴリズムを用いて計算 |
あとは以下のようなものがあります。
・PKCS#7:複数の証明書を含めることができるフォーマット
・PKCS#12:秘密鍵も格納できるフォーマット
証明書のうち対象を識別するフィールドはサブジェクト(Subject)、よって正解はSubjectです。
ちなみにcommonはcommonName(CN)でした。これはsubjectに記載されているFQDNのことで、アクセス先のサーバが証明書に記載されたものと同じか検証する際に使用します。subjectAltName(SAN)に記載されているFQDN、あるいはCNがアクセスしてるFQDNと合っているか確認します。
設問3 (1)
クライアント証明書で送信元の身元を一意に特定できる理由を、秘密鍵をいう用語を用いて答えます。
クライアント証明書は、鍵ペアを作成した後に申請をすることで、この公開鍵はその人のものだと証明してくれるものです。
公開鍵に対する秘密鍵は本人しか知らず、また他人に知られてはいけません。
解答は「クライアント証明書の公開鍵に対応する秘密鍵は本人しか所有していない」です。
秘密鍵を本人しか所有していないことだけでよかったんだなあ。
デジタル(クライアント)証明書に関するちゃんとした話は以降の(2)、(5)で。
設問3 (2)
クライアント証明書の検証のために、あらかじめSSL-VPN装置にインストールしておくべき情報を答えます。
デジタル証明書の検証では、以下の項目について確認がされます。
①デジタル署名を検証
デジタル署名は、送信側がメッセージに対しハッシュ関数を使用して求めたハッシュ値(メッセージダイジェスト)を、秘密鍵で暗号化して作成されるものです。
受信側は受け取ったメッセージに送信側と同じハッシュ関数を使用してメッセージダイジェストを取得し、その値とデジタル署名を公開鍵で復号したものが一致するかを確認します。
②有効期限の検証
デジタル証明書に記載されている有効期限内であるかを確認します。
③失効情報の検証
有効期限中であっても、失効していないかを確認。
CRLやOCSPなどによって確認します。
④ルート認証局、ルート証明書の検証
デジタル証明書は、公開鍵にCAの秘密鍵でデジタル署名を行ったものです。その検証にはCAの公開鍵を使用するわけですが、CAの公開鍵の証明には更に上位のCAの署名(公開鍵)が必要……と、CAは階層構造になっています。最上位のCAをルートCAといい、デジタル証明書の正当性を確認するにはこのCAのルート証明書を信用できる証明書として事前に登録しておく必要があります。
よって解答は「CAのルート証明書」です。
公開鍵かと思いましたが、デジタル証明書に公開鍵の情報って含まれてるんでしたね……。
設問3 (5)
合ってたけどCAとかCSRの流れとか、デジタル証明書の復習。
・デジタル証明書を発行してもらうまでの流れ
①鍵ペア(秘密鍵と公開鍵のセット)の生成
本人(利用者)が作成することもあれば、管理責任者が一括生成したり、CAが作成することもあります。
②CSRを作成し、CAまたはRAに申請
公開鍵と登録申請書に必要事項を記入してCSR(証明書署名要求)を作成し、CAまたはRA(登録局)に申請します。
③申請内容を審査し、問題なければデジタル証明書を作成する
申請内容が問題なければ、デジタル証明書を作成し、CAの秘密鍵で署名してリポジトリに登録します。
CAまたはIA(発行局)へ要求を出すと、デジタル証明書を発行してもらうことができます。
振り返り
セキュリティまわりで忘れていることとか、分からなくなっている部分がありダメだなあと思うと同時に、出会った時に何度も何度も覚えるしかないよね!と復習に精を出しています。
重点対策ももうすぐ一周終わるので、軽く見直ししたり、解いてない午後Ⅱとかやりたいんですが、時間あるといいなあ……。
コメント