平成31年度 春期試験 午後Ⅱ問題対策② ―問1【設問4~6】

2019年10月16日(水)
棚橋 英之

はじめに

いよいよ本連載も今回で最終回です。本連載では過去問題の解説を中心に、問題の傾向や解き方、関連する知識・技術について確認してきました。いくつかの過去問題を解答していると、似たようなキーワードや考え方がよく出てくることにお気づきではないでしょうか。基本的な知識・技術・考え方を確実にしておくことで、応用問題への対応力も養うことができるため、過去問題を中心に学習することの有用性を感じ取っていただきたいと思います。

今回は、前回に引き続き平成31年度 春期試験 午後Ⅱ 問1について解説します。

平成31年度 春期試験 午後Ⅱ問題 問1の解説

今回は、平成31年度 春期試験 午後Ⅱ 問1の設問4~6について解説します。設問1~3の解説は前回の記事で解説しています。

以下の解説では、問題文中のページ数を「Pxx」、図や表を「問題文中の図x、表x」と記します。

問題の概要と設問の対応

[インシデント発生] 設問1
[問合せ用PCの調査] 設問2
[感染経路の調査]
[無線LANの脆弱性] 設問3
[暗号モード] 設問4
[不審なW-APの発見と対策]
[L7FW機能の実効性の確認]
[未知マルウェア対策の改良] 設問5
[対策1と対策2の検討] 設問6

主な登場人物

R課長:N社のCSIRTリーダ。指示・検討を担う
P君:N社のCSIRTメンバ。本問の主人公
W主任:情報処理安全確保支援士(登録セキスペ)。P君を支援する
Bさん:N社総務部。利用者IDが不正に利用された

設問4

[暗号モード] についての設問です。

P6でCTRモードというキーワードが出てきたため、暗号モードについて調べてみるというストーリーです。文章中のヒントはほぼP7に集中しており、ECBモードCTRモードの基本的な特徴が問われています。

(1)
暗号の解読方法にはいろいろな手法がありますが、暗号化された値に繰り返し同じパターンが出てくると、平文や暗号のルールが推測しやすいことはイメージできるのではないでしょうか。本設問でも、繰り返し同じ値が出てくると暗号の解読が容易になる恐れがあるということを考察しています。

P7の下線部④について、TCP/IPパケットの特徴を考えます。TCP/IPプロトコルスタックでは、パケット単位で通信を行っており、パケットは送信制御に必要な情報としてヘッダ部を持ち、プロトコルごとに様々な制御情報を保持しています。IPヘッダ部では送信元IPアドレスや送信先IPアドレス、TCPヘッダ部では送信元ポート番号や送信先ポート番号などです。同一端末間のパケット内のヘッダ部には、送受信先が同一であるということから、異なるパケットであってもIPヘッダ部およびTCPヘッダ部において同一の制御情報(同一アドレス情報)が繰り返し現れるといえます。

従って、解答例は「IPヘッダ部及びTCPヘッダ部は、同一のバイト列であることが多いこと」です。

(2)
ECBモードは最も単純な暗号モードで、P7の図3より、とある平文ブロックに同じ暗号鍵を用いて暗号化した場合、同じ暗号ブロックが出力されるという特徴があります。

設問4(1)の解説より、TCP/IPのヘッダ部は同一の平文ブロックを持つことが多いため、ECBモードで暗号化した場合、同一の暗号ブロックが繰り返し現れることになります。

従って、【 c 】の解答例は「同一の暗号ブロック」です。

続いて、CTRモードについて考えてみましょう。P7の図3より、CTRモードは1ずつ増加していくカウンタを暗号化した値と平文ブロックのXOR(排他的論理和演算)で暗号ブロックを得る暗号モードです。

従って、【 d 】の解答例は「平文ブロック」、【 e 】の解答例は「カウンタ値を暗号化した値」です。

設問5

[未知マルウェア対策の改良] についての設問です。

(1)
P9の【 f 】に当てはまる字句を考えます。P9の6行目より、「特定のURLへの接続を禁止するブラックリスト機能の適用を検討した」と記述されており、この検討に対して、【 f 】に関して以下の通り記述されています。

  • P9の7行目では、HTTP通信の場合, プロキシサーバでは内容を【 f 】ことができる。
  • P9の8~11行目では、HTTPS通信の場合, ~社内PCとWebサーバの間でTLSセッションが成立して暗号通信路が確立した後は, プロキシサーバでは内容を【 f 】ことはできない。

これらから、HTTP/HTTPSの違いでプロキシサーバは内容に対して何ができるかを考える必要があります。暗号通信路の確立の有無による影響は、内容を「読み取れる」かどうかと考えられます。

従って、解答は「読み取る」です。

プロキシサーバとは代理サーバとも呼ばれるサーバで、通常、クライアントとWebサーバの間に入って通信制御(クライアントの通信をプロキシサーバが受け取り、クライアントの代わりにWebサーバと通信する)を行いますが、TLSセッション成立時の暗号化通信が確立した後はプロキシサーバでも中身を見ることはできないため、このような通信制御はできません。

(2)
P9の【 g 】【 h 】に当てはまる字句を考えます。P9の6行目より、「特定のURLへの接続を禁止するブラックリスト機能の適用を検討した」に対する結論として、P9の8~15行目に「HTTPS通信の場合,~効果が期待できないとの結論になった」と記述されています。記述のポイントを以下にまとめます。

  • HTTPS通信の場合、CONNECTメソッドを使用する
  • 接続要求を送る時点では、平文でWebサーバの【 g 】名とポート番号が渡される
  • 暗号通信路確立後はプロキシサーバで内容が読み取れない
  • ブラックリストに登録できるのはURLの【 g 】部とポート番号部のみ
  • 【 h 】部は指定できない

ブラックリストに登録するためには、登録すべきURL情報が必要です。しかし、上記のポイントからHTTPS通信ではURL情報が部分的にしか取得できないことが読み取れます。なぜ、このようなことが起きるのでしょうか。

HTTP通信とHTTPS通信の違いを図1、2にまとめました。HTTP通信で、クライアントがGETメソッドをHTTPリクエストとしてプロキシサーバに送信した場合を考えます。プロキシサーバはHTTPデータ内からパス名を取り出して、Webサーバへ代理でHTTPリクエストを送信します(図1)。

図1:プロキシサーバを介した通信1 (HTTP通信の場合)

HTTPS(HTTP over TLS)通信の場合、プロキシサーバへはCONNECTメソッドを使用します。TLSは、通信を行う送受信端末以外には通信内容がわからないようにする目的で使用するものですが、プロキシサーバも例外ではないため、HTTP通信のような転送ができません。CONNECTメソッドは、クライアントからプロキシサーバにWebサーバとHTTPS通信を行うコネクションの確立を要求します。プロキシサーバがこの要求を許可することで、クライアントとWebサーバ間でのHTTPS通信が確立されます。HTTPS通信によりクライアントとWebサーバ間で暗号化通信が行われるため、プロキシサーバでも通信内容は把握できません。このように、ある通信を別の通信経路で覆い隠してそのまま中継することをトンネリングと呼びます(図2)。

図2:プロキシサーバを介した通信2 (HTTPS通信の場合)

図2より、HTTPS通信の場合に指定可能なのは、ホスト部とポート番号部のみです。パス部は暗号化されたデータ内に含まれるため指定できません。

従って、解答は【 g 】:カ(ホスト)、【 h 】:オ(パス)です。

(3)
P10の下線部⑤の記述に対して、マルウェアが窃取した情報を社外に送信する方法を2つ挙げる設問です。制約条件が特にないため、色々な解答が考えられそうです。

まずは、FW1を経由せずに社外へ情報を送信する方法を考えてみましょう。社外、すなわちインターネットへつながる経路を用意し、その経路を活用すればどんな手段でも構わないといえます。経路自体は、スマートフォンのテザリングやポータブルWi-Fi、無線LANのAP、リモートアクセスサーバ、USBメモリに情報格納して物理的に持ち出しなどが考えられます。これらの経路を現実的に活用する手法を解答すれば良いでしょう。

例えば、無線LANのAPを攻撃者が用意し、そこにアクセスさせれば、社外に情報を送信することができます。無線LANのAPのなりすましは比較的容易にできるため、常に対策したい攻撃手法です。

続いて、FW1を経由する正規のルートを通して情報を送信する手法を考えてみます。P3の表1より、社外へ情報を送信する経路には、以下の3つが考えられます。

項番 送信元(サービス) 情報送信の経路
項番3 外部DNSサーバ(DNS) DNSサービスでは情報を送信できないため除外
項番4 外部メールサーバ(SMTP、SMTPS) 表1の項番6より、内部メールサーバから外部メールサーバへのSMTP通信が許可されている。また、表2の項番3と項番8より、内部IPから内部メールサーバへのSMTP通信と内部メールサーバから外部メールサーバへのSMTP通信が許可されている。そのため、SMTP通信、すなわちメールを送信することで社外に情報を送信できる
項番8 プロキシサーバ(HTTP、HTTPS、FTP) HTTP/HTTPSは設問の通り。FTPが許可されており、表2の項番2より、内部IPからプロキシサーバへは代替HTTPが許可されているため、プロキシサーバ経由でFTPを用いて社外に情報を送信できる

以上から、2つ挙げてみましょう。解答例は、以下の通りです。

理由① 攻撃者が用意したW-APに接続し、情報を送信する
理由② 内部メールサーバを利用して攻撃者にメールを送信する

設問6

[対策1と対策2の検討] についての設問です。対策2は本問題では特に設問がないため、対策1の検討に関する設問といえます。

(1)
P10の図5(1)より、【 i 】に入れる適切な字句を20文字以内で解答します。P10の図5(1)では、「FW1が発行した自己署名証明書を【 i 】として全ての社内PCに登録する」と記述されています。自己署名証明書とは、自分の公開鍵を証明するために、自分が保持する秘密鍵に対応する公開鍵へ電子署名して発行したディジタル証明書です。P10の図4、5より、社内PCとFW1間でTLSセッションを確立するために、FW1は秘密鍵と公開鍵のペアを作成します。この公開鍵が社内PCに搭載されれば暗号通信を確立できますが、公開鍵の改ざんや第三者による公開鍵のなりすましの恐れがあります。そこで、FW1が発行するディジタル証明書(自己署名証明書)を「信頼するルートCAのディジタル証明書」として全ての社内PCに登録することで、暗号化通信に使用された公開鍵がFW1の公開鍵であることを確認できます。

従って、解答例は「信頼するCAのディジタル証明書」です。

(2)
P11の表5の項番1において、該当する通信の種類を40字以内で解答します。項番1の制約の原因として、「FW1は, 社内PCがもっているクライアント証明書に対応した秘密鍵を利用することができない」と記述されています。

この記述から、外部Webサーバにクライアント証明書を用いたクライアント認証を行うことが推測できます。FW1はクライアント証明書に対応した秘密鍵を利用できないため、このような通信が制約されます。

従って、解答例は「クライアント証明書の提示が必要な外部Webサーバにアクセスする」です。

(3)
P11の表5の項番3において、該当する通信の種類を65字以内で解答します。項番3の制約の原因として、「FW1には, FW1の製造元によって安全性が確認されたCAのディジタル証明書だけが, 信頼されたルートCAのディジタル証明書としてインストールされている」と記述されています。

この記述から、安全性が確認されていないCAのディジタル証明書がFW1にインストールされていないと推測できます。この場合、ディジタル証明書がインストールされていない外部Webサーバに接続しようとすると、仮に信頼できるサーバでもブラウザ上で警告が表示されます。

従って、解答例は「FW1の製造元によって安全性が確認されていないCAが発行したサーバ証明書を使用した外部Webサーバにアクセスする」です。

おわりに

今回は平成31年度春期試験の午後Ⅱ問題(設問4~6)を解説しました。本問題は、マルウェア感染から対策に至るまでの一連の流れについて問われています。攻撃手法、認証技術、無線LAN技術、暗号技術それぞれで詳細な知識が要求されるなど、総合力が試される問題といえるでしょう。

本問で問われた各技術知識は過去の問題でもよく出題されているため、過去問題を通じて試験の性質を理解するだけでなく、過去に出題された知識・技術に関して理解を深めていくことが重要です。

10月20日(日)の本番まで間もなくです。幅広くかつ正確な知識が1つでも多ければ、試験対策として大変有効です。過去問題や参考書、技術書の確認などを中心に、試験当日まで試験対策を進めましょう。

皆様の試験合格を、心よりお祈り申し上げます。

NECマネジメントパートナー株式会社 人材開発サービス事業部
2009年日本電気株式会社入社。人材開発事業部門に所属し、Linuxシステム、Webプログラミング、セキュリティの教育を担当。近年では、官公庁や重要インフラ事業者へのCSIRT要員に対して、インシデント対応の演習を展開している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています