平成25年春 情報セキュリティスペシャリスト試験(SC) 午後Ⅰ 問2 解説

問2

問題:2013h25h_sc_pm1_qs.pdf (ipa.go.jp)

解答:2013h25h_sc_pm1_ans.pdf (ipa.go.jp)

スイッチ

 

設問1

(1) a UDP b 3way c DNSSEC

TCPUDP
レイヤー3のIPプロトコルで通信相手までたどり着き、TCPUDPで利用するサービスを決定する。

  • TCP
    相手までフレームが届いたか確認しながら通信を行い、届いていない場合は再送するため、確実性がある。
    TCPは、接続(コネクション)を確立するため、通信開始時に決まった手順に従って送受信を行う。
    この手順が3ウェイハンドシェイク通信である。
    パケットに抜けがあっても再送によって回復出来る通信に向いている。
  • UDP
    相手までフレームが届いたかを確認しない。届いてない場合でも再送しない。UDPではTCPのように3ウェイハンドシェイクや接続(コネクション)管理も行わない。
    そのため、速くデータを送信でき、サーバー側の負荷も軽い。
    UDPDNSのようなサーバー側で大量の通信を受け付ける場合や、パケットが届かなくても問題ない通信(動画配信など)に向いている。

 

DNS(Domain Name System)サーバ
ドメイン(FQDN)とIPアドレスの対応関係を管理し、ドメイン名からIPアドレスを参照する。

  • 権威DNSサーバ
    ドメイン名とIPアドレスを対応付ける各種レコード(ゾーンファイル)を保持する。
    本問題では「B社のDNS-Bサーバ」に相当。
  • キャッシュDNSサーバ
    端末からの問い合わせに回答する。
    本問題では「A社のC-DNSサーバ」に相当。

 

DNSキャッシュポイズニング
キャッシュDNSサーバに不正な情報を送り込み、本来とは異なるWebサーバへ誘導させる攻撃。
 
DNSSEC(DNS Security Extentions)※Extentions:拡張機能
DNSのセキュリティを強化するための拡張仕様。
権威DNSサーバで保存しているDNSレコードに、ディジタル署名を施すことによって、真正性を証明する。

(2) 問い合わせPTの送信元ポート番号をランダムに変えること(27/30文字)

ソースポートランダマイゼーション(UDPポート番号のランダム化)

キャッシュDNSサーバでは、権威DNSサーバに問い合わせるたびに、ランダムなポート番号などを保持しておき、正しい応答かを判断している。
このとき、ポート番号が53固定にしていると、攻撃が成功しやすくなるので、ランダム化して推測し難くする。

本問題では、C-DNSサーバでランダム化設定がされており、外部からのCP攻撃を弾きやすくなっている。

代表的なプロトコルとポート番号
TCP 22:SSH
TCP 23:Telnet
TCP 25:SMTP
UDP 53:DNS
TCP 80:HTTP
TCP 443:HTTPS

(3) 送信元が外部メールサーバの場合、再帰的な名前解決を許可する必要があるから(36/40文字)

メールサーバ

  • 内部メールサーバ
    社外へのメール送信を、外部メールサーバへ中継する。
  • 外部メールサーバ
    内部メールサーバから中継されたメールを、社外のネットワークへ中継する。
    社外から受信したメールを、内部メールサーバへ中継する。

 「送信元が外部メールサーバで、宛先がC-DNSサーバで、FW-Aが通過を許可した問合せPT」が許可されている理由を答える。

A社がインターネット接続システム(Xシステム)を導入しているのは、電子メールの利用などのためである。

表1より、C-DNSサーバにはリゾルバ機能(DNSサーバに名前解決を依頼するプログラム)とDNSキャッシュ機能がある。

送信元が外部メールサーバの場合、インターネットへメールを中継する際に、リゾルバがキャッシュDNSサーバに再帰問合せを行ってドメインの名前解決をする必要がある。

(4) (d)、(e)、(f)

物理的にFW-AのIF-1へ届かない送信元を拒否しておく。

(d)DMZ1、(e)DMZ2、(f)内部ネットワークは物理的に届かないので拒否する。
元々の設定に、「(e)DMZ2」が不足していた。

(5) G社のドメイン名になりすましたメールを外部メールサーバへ送信すること(34/40文字)

TXTレコード
権威DNSサーバが保持するゾーンファイルのコメント行のこと。

コメントの使い方として「SPF(Sender Policy Framework)レコード」がある。
SPFレコードには送信元メールサーバの情報が書かれており、「メールアドレスに対応する送信元メールサーバ」が分かる。
よって、送信元メールサーバ以外から送信されてきた場合は不正と判断できる。

図2

  1. 攻撃者が送信元を外部メールサーバに偽装し、C-DNSサーバへ「G社ドメイン名のTXTレコード問合せPT」を送信、到達。
  2. 攻撃者が送信元をG社DNSサーバに偽装し、C-DNSサーバへ応答PTを100個送信、全て拒否。
    ・FW-Aがステートフルパケットフィルタリング型FWなので、「過去に通過したパケットの応答ではない」と判断し、通過拒否している。(ので、助かった!)
    ・C-DNSサーバでは、権威DNS-Bサーバへ問合せする際、ランダムなポート番号を割り当て、戻りポート番号が一致するかチェックしている。
     →偽装応答PTのポート番号が連番100個。もし、FW-Aが拒否していなければヒットする可能性がある!
    ・G社ドメイン名のTXTレコード内SPFレコード内のIPアドレスを不正書き換えしようとしている!

図2(2)の攻撃の後に行われる「TXTレコードを利用する機能への攻撃」を答える。
図2(3)より、キャッシュDNSサーバであるC-DNSサーバには、「G社ドメイン名のTXTレコード」が保存されている。
(2)の攻撃が成功した場合、G社ドメイン名のTXTレコード内SPFレコード内のIPアドレス(G社がメールを送信するサーバのIPアドレス)が書き換わる
SPFレコードは「メールアドレスに対応する送信元メールサーバ」を判断するために使用される。よって、「G社のメールサーバから送信されたメール」を偽装することができる。

そのため、A社が受ける攻撃としては「G社ドメイン名に成りすましたメールが、A社の外部メールサーバに送られること」になる。

 

設問2

(1) FW-1経由で届く支社プロキシサーバのからの正規の問合せPTと、詐称された問合せPTとを識別できないから(52/60文字)

FW-Aの装備

  • IPアドレス詐称対策機能
    IPアドレス詐称=IPスプーフィング(spoofing:なりすまし)
    FWで送信元IPアドレスをチェックし、本来送られてくるはずがないパケットは、偽装IPと見なして破棄する。
    例えば、攻撃者が外部から、発信元IPアドレスを内部アドレスに偽装して内部PCへ攻撃したとする。
    このとき、FWが「発信元IPアドレスが内部IPアドレスだから、内部PCがアクセスした」と判断して通信を許可すると、攻撃が成功してしまう。
    FWはここで「外部から内部へアクセスするのに、発信元が内部IPアドレスなのはおかしい」と気付く必要がある。
    そのため、FWは「外部から入るパケットの送信元IPアドレスが自ネットワークのものであればそのパケットを破棄する。」ようにする。
  • パケットフィルタリング機能
    パケットのヘッダ部分の情報(送信元/宛先IPアドレス、送信元/宛先ポート番号、通信の方向)を元に装置を通過するパケットを検査し、
    許可されたパケットのみを通過させる機能。

 

DNSサーバに対するセキュリティとして、「オープンリゾルバの禁止」がある。
オープンリゾルバ=インターネットからの再帰問合せに対して応答するキャッシュDNSサーバを禁止する。

権威DNSサーバ
外部からの問合せに回答しないといけないので、インターネットからのアクセスは許容する必要がある。
キャッシュ機能を持たせると攻撃対象になってしまうので、キャッシュ機能は持たない。あくまでもドメイン名とIPアドレスを対応付ける各種レコード(ゾーンファイル)を保持しているだけ。

キャッシュDNSサーバ
ゾーンファイルは持たず、キャッシュするだけ。
こっちはアクセスコントロールをしてインターネット等の外部からアクセスできないようにする。

支社プロキシサーバからの正規問合せPTは、B社サービスを経由してFW-AのIF-1に到達する。が、インターネットからの詐称問合せPTも同じくFW-AのIF-1に到達するため、両者の区別がつかない。

(2) リゾルバ機能およびDNSキャッシュ機能(16/20文字)

この機能追加によって、支社プロキシサーバとC-DNSサーバ間の通信が不要になる。
つまり、支社とDNS-Bサーバが直接やりとりする形になる。
ということは、C-DNSサーバと同じ機能を支社に持たせればよい。