ARPポイズニングによる盗聴【平成29年度 春期 情報処理安全確保支援士試験 午後1 問1 設問1】

平成29年度 春期 情報処理安全確保支援士試験 午後1 問1 設問1

問1 社内で発生したセキュリティインシデントに関する次の記述を読んで、設問1〜3に答えよ。

 D社は、従業員数100名のシステム開発会社である。D社のネットワーク構成を図1に示す。

f:id:aolaniengineer:20200209083918p:plain

ネットワーク構成図が記載されている場合には、特徴をイメージするようにしましょう。その後に続く問題文でその特徴と関連するような記述が出てきたときに、徐々に関連付けて考える癖がついてくるようになると思います。

このネットワーク構成の特徴は、以下のようなイメージです。

  • セグメントは、インターネットとD社内のサーバ/PCの二つ
  • サーバセグメントの登場者はLDAPサーバとCRMサーバ
  • PCセグメントの登場者は管理用PCと複数のPC
  • セグメント間は、FWを介して通信する
  • LDAP(Lightweight Directory Access Protocol)は、利用者や機器及び各種リソースに関する情報を一元管理するディレクトリサービスにアクセスするための通信プロトコル

 D社のネットワークでは静的にIPアドレスが付与され、各セグメント間の通信はステートフルパケットインスペクション型のFWで制限されている。FWのフィルタリングルールを表1に示す。

f:id:aolaniengineer:20200209084213p:plain

FWのフィルタリングルールが記載されている場合には、同じように、特徴をイメージするようにしましょう。

このFWのフィルタリングルールの特徴は、以下のようなイメージです。

  • PCセグメントから直接インターネットへのHTTP、HTTPS通信を許可
  • サーバセグメントへのSSH通信は管理用PCのみ許可、それ以外は拒否

 従業員には、個人ごとにPCと利用者IDが割り当てられており、自身のPC上では、自身の利用者IDに対して管理者権限が付与されている。利用者IDは、LDAPサーバで一元管理されており、PCにログインする際、LDAPサーバで利用者認証が行われる。D社の顧客情報は全てCRMサーバに保管されており、営業業務に携わる従業員は、PCからWebブラウザでCRMサーバにアクセスして、顧客情報の登録・参照と行っている。

 サーバ及びFWは、入退室管理されたサーバルーム内に設置されている。利用者ID作成などのサーバの運用は、サーバ管理者が、事前申請をした上で、管理用PCからSSHでサーバにログインして行っている。SSHでログインする際もPCにログインする際と同様に、LDAPサーバで利用者認証が行われる。

 D社では、事前申請なしでCRMサーバへのSSHによるログインがあった場合、そのことを日次のバッチ処理によって顧客情報管理責任者であるN部長に電子メールで通知する仕組みを導入している。通知にはログイン時刻、SSHの接続元IPアドレス及び利用者IDが記載される。

〔セキュリティインシデントの発生〕

 ある日、サーバ管理者のY主任の利用者IDで、管理用PCからCRMサーバにログインしたことを示す通知がN部長に届いた。N部長が、Y主任に確認したところ、その時間帯にはログインしていないとのことであった。

 Y主任がCRMサーバのSSH認証ログを確認すると、身に覚えがない自分のログイン(以下、不審ログインという)の記録が残っていた。Y主任の報告を受けて、N部長は、不正侵入のセキュリティインシデント(以下、インシデントという)が発生したと判断し、インターネット接続を遮断した上で、セキュリティ専門業者Z社に調査を依頼した。

 Z社のW氏が、サーバへの不正侵入の有無、侵入手口及び顧客情報窃取の有無に関する調査を進めることになった。

〔サーバへの侵入手口の調査〕

 W氏は、まずサーバへの不正侵入の有無及び侵入手口の調査を行った。その調査結果を図2に示す。調査結果から、W氏は図3に示す手順でサーバへの不正侵入が行われていたと推測した。

f:id:aolaniengineer:20200209090229p:plainf:id:aolaniengineer:20200209090254p:plain

図2の調査結果から、図3のサーバへの不正侵入手順をどうやって推測できるかを考えましょう。

  • 「AさんのPCに、ARPポイズニングが使われるツールが削除された形跡があった」という調査結果から、攻撃者はARPポイズニングを用いて通信を盗聴したと考えられる。
  • 「不審ログインがあった5分前に、LDAPサーバのSSH認証ログにY主任の利用者IDによるログインの記録があった」との調査結果から、攻撃者はY主任の通信を盗聴し、利用者IDとパスワードを入手したと考えられる。
  • 「不審ログインからログアウトまでの時間帯に、管理用PCにログイン中の利用者はいなかった」、「LDAPサーバ及びCRMサーバのSSH認証ログに記録された接続元IPアドレスは、全て管理用PCのIPアドレスであった」との調査結果から、攻撃者は管理用PCのIPアドレスをAさんのPCに設定して、サーバへ不正侵入を試みたと考えられる。

 図3の2の通信が盗聴されている時点では、FW、管理用PC及びAさんのPCのARPテーブルが、それぞれ表2〜4に示すようになっていたとW氏は推測した。f:id:aolaniengineer:20200209090641p:plainf:id:aolaniengineer:20200209090706p:plainf:id:aolaniengineer:20200209090729p:plain

図3の2「AさんのPC上でARPポイズニングを用いて、通信を盗聴する」の状態では、ARPポイズニングにより、AさんのPCが所属するPCセグメントのARPテーブルが意図的に書き換えられています。

具体的には、ある機器が通信に先立ち、通信先のMACアドレスを入手するために送信するARP要求メッセージ(ブロードキャスト)に対し、虚偽の応答をすることでARPテーブルを汚染させます。(正規の機器も応答しますが、後からの応答メッセージで上書きさせます)

この目的は、本来の通信のルートを変えて、攻撃者の操作可能なPCを経由させることです。これにより、通信を盗聴することが可能となります。

まず、表2のFWのARPテーブルを確認します。「192.168.0.1」は本来、管理用PCですが、MACアドレスが「xx:xx:xx:aa:aa:02」とあり、AさんのPCになっています。

同じく、「192.168.0.200」は本来、その他のPCですが、MACアドレスが「xx:xx:xx:aa:aa:02」とあり、こちらもAさんのPCになっています。

a:xx:xx:xx:aa:aa:02

表3の管理用PCのARPテーブルもFWと同様に、ARPポイズニングで書き換えらます。「192.168.0.254」は本来、FWのPCセグメント側ですが、AさんのPCである「xx:xx:xx:aa:aa:02」になります。

これにより、管理用PCがFW経由でサーバセグメントへ通信する場合、AさんのPC経由になってしまうことになります。

b:xx:xx:xx:aa:aa:01

表4のAさんのPCのARPテーブルでは、AさんのPCからのARP要求メッセージに対し、正規の機器から応答した内容になります。したがって、「192.168.0.1」は管理用PCである「xx:xx:xx:aa:aa:01」となります。

c:yy:yy:yy:aa:aa:fe

同様に 「192.168.0.254」はFWである「yy:yy:yy:aa:aa:fe」となります。

 図3の6の特定方法としては、管理用PCのIPアドレスを総当たりで推測することも考えられるが、そのような方法が採られた場合にFWのフィルタリングルール(d:5)によって記録されるはずのログが残っていなかった。このことから、①通信の盗聴によって管理用PCのIPアドレスが特定されたとW氏は推測した。

【出典:情報処理安全確保支援士試験 平成29年度春期午後1問1(一部、加工あり)】

d:

図3の6「AさんのPC上で通信を盗聴して、管理用PCのIPアドレスを特定する」にあるように通信の盗聴ではなく、総当たりで推測するとはどういうことでしょうか。

この一つ前の手順である図3の5では、「AさんのPCからLDAPサーバ及びCRMサーバのSSHポートへのアクセスを試みるが、アクセスに失敗する」とあります。アクセス失敗の原因としては、アクセス元の機器のIPアドレスとログインID/パスワードが異なることが挙げられますが、攻撃者にとっては、まず、アクセス可能なIPアドレスを特定する必要があります。

AさんのPCのIPアドレスではアクセスできないため、PCセグメントの全てのIPアドレスを順番に試してみること、つまり総当たりで推測することが考えられます。

この方式で試した場合、FWでは検知可能でしょうか。表1のFWのフィルタリングルールを見ていくと、項番5で送信元がPCセグメント、宛先がサーバセグメントへの全ての通信が拒否され、ログに記録されることになります。

①について、攻撃者が管理用PCのIPアドレスを特定するために盗聴したのはどのような通信か。

・送信元:管理用PC

・宛先:LDAPサーバ

・サービス:SSH

管理用PCのIPアドレスを特定するには、管理用PCから送信される通信を盗聴する必要があります。表1のFWのフィルタリングルールで送信元が管理用PCであるのは、サーバセグメントを宛先とするSSH通信が該当します。

ここでサーバセグメントにはLDAPサーバとCRMサーバがありますが、どちらが妥当でしょうか。

問題文を見ると「SSHでログインする際もPCにログインする際と同様に、LDAPサーバで利用者認証が行われる」とあるように、管理用PCはSSHを利用するときには、毎回、LDAPサーバにアクセスしていると思われます。

Follow me!