前回のパケットは盗聴できるのか?では、実際にパケットが盗聴できることを示した。
今回は、『じゃぁ、パケットを改竄することはできるのか?』ということを試してみたいと思う。
ただ、改竄すると言っても、そのやり方は多岐に渡る。
よってここでは、前回の結果を活用した方法で、パケットの宛先を変えることで不正サイトに導く、ということをやってみる。
主な内容は以下の通り。
- トライアルの概要
- 三号機に不正なサイトを立ち上げる
- 二号機から一号機の Web サイトにアクセスする
- 二号機からのアクセスを三号機に引き寄せる
- 不正なサイトを表示させる
- 不正なサイトへの誘導対策
- まとめ
なお、ここでは攻撃の原理やその結果、及び対策について記載するが、
具体的な手順については記載しない
ということにご注意頂きたい。
■トライアルの概要
これを実現する方法は色々あるが、前回実施した、ARP spoofing を応用すると、結構簡単にできる。
よってまずはこのやり方について記載する。
■三号機に不正なサイトを立ち上げる
こちらは既に『トライアル環境の設定』で記載した通り、誘導先の擬似不正サイトとして、三号機に httpd を立ち上げておく。次に、サイトの内容を設定。今回は、/var/www/html/ に擬似不正サイト用のページを index.html として置いた。
■二号機から一号機の Web サイトにアクセスする
まず初めに、普通に二号機から一号機の Web サイトにアクセスさせてみる。すると、事前に一号機に設定しておいた、以下のような Web サイトが表示される。
ここまでは、なんのことはない、普通の Web アクセスである。
■二号機からのアクセスを三号機に引き寄せる
前回の『パケットは盗聴できるのか?』で記載したように、今回もまずは ARP spoofing によって http アクセスのためのパケットを三号機に引き寄せる。しかしながら、これだけでは擬似不正サイトに誘導することはできない。
というのも、パケット自体は三号機に到達するものの、受け取った三号機が、それを『自分の Web サーバー宛だ』とは解釈しないからである。
もう少しいうと、二号機から転送されてきたパケットは、物理アドレスである MAC address こそ三号機宛になっている(だから三号機が受け取っている)が、その IP address は依然として一号機(192.168.0.1)宛のままである。
このため、三号機に立ち上がっている Web サーバーは、これを自分宛の http アクセスだとは認識しないため、二号機に返事をしないのだと思われる。
■不正なサイトを表示させる
折角パケットを受け取っていても、擬似不正サイト自体が受け取れる形にしてやらないと、不正なサイトに誘導させることはできなくなる。これを解消するためには、三号機が受け取ったパケットを、iptable 等を用いて三号機の Web サーバー宛のパケットとして再転送してやればよい。
具体的な設定方法はここでは記載しないが、これにより、三号機に届いたパケットを不正なサイトに転送することができる。
実際、ARP spoof と三号機内でのパケット転送を行わない状態では、二号機のブラウザに以下のページが表示される。
その後、三号機内でのパケット転送設定を行った上で、ARP spoof によりパケットの引き寄せを実現した上で、二号機のブラウザにおいて再読み込みを実施すると、以下の状態となる。
URL 部分は一号機の IP address である 192.168.0.1 のままであるのに、表示されるのは 192.168.0.20 を IP address としてもつ三号機の擬似不正サイトとなっていることが分かる。
今回はあくまでトライアルであるため、ただ単に html file を表示させているだけだが、擬似不正サイトに不正なスクリプトなどを仕込んでおけば、不正行為が実行可能となってしまう。
■不正サイトへの誘導対策
前回同様、パケットを引き寄せる手段は、ARP spoof 以外にもいろいろな手段が考えられる。
*なお、別の方法として、DNS spoofing などが考えられる。これに関しては追って記載したいと思う。よって、パケットの宛先改竄に対しては、最終的な通信相手が正しい相手であることを確認する
ということが非常に有効となる。
具体的には、FTP ならば SFTP/FTPS を利用する、HTTP 通信は行わず、HTTPS 通信を行う、等である。
これらの対策は、前回 End-to-End での暗号化としてあげているが、暗号通信を開始する前に、公開鍵証明書を利用したサーバー認証を実施している。
このため、不正サイトへの誘導対策としても有効な対策となっている。
これらを実現するためのサーバー側の設定に関しては、追って記載していこうと思う。
■まとめ
自分自身、パケットを改竄するってどうやればよいのだろうか?と思っていたが、宛先を変える程度であれば、非常に簡単に実現できることが、今回よく分かった。実際の Web サイトにアクセスする際などには、サーバーの公開鍵証明書をしっかり確認する等、自衛手段を講じなければならない、と強く思う。この辺り、具体的な自衛の方法に関しては、別途セキュリティ対策集のような形でまとめていければと考えている。
まとめというより感想になってしまったが、今回のポイントを以下に記載しておく。
・ARP spoofing により、パケットの宛先を変えることができる。
・宛先を変えたパケットを再転送することで、不正サイトに誘導する事ができる。
・根本的な対策は、通信相手を認証することである。
Copyright (c) 2017 Webmaster of this site All Rights Reserved.