Proxyを使った中間者攻撃について - HTTPS

様々なサイトで提供されているProxyリスト。そこでProxyを見つけ使用した場合、暗号化されていないデータがProxyサーバ設置者に筒抜けなのは周知の事だが、ここではProxyサーバ設置者側の視点からHTTPSでやりとりされているデータの取得を考えてみようと思う。

HTTPSを使用させない。

利用者がHTTPで取得したページにHTTPSのリンクがある場合、それらを全てHTTPのリンクに置き換え、Proxyサーバが実際のサイトとの橋渡しをする。そうすればHTTPSで暗号化されていないので通信を傍受できる。ただHTTPでの通信となるので、HTTPSで通信されていないことを不審に思った利用者が通信の傍受に気づいてしまうかも知れない。

自分の保持しているドメインで通信を行うようにする。

利用者がHTTPで取得したページにHTTPSのリンクがある場合、それらのリンクを自分が所持しているドメインに置き換える。そしてそのドメインを使って実際のサイトとの橋渡しをする。この場合だと前の方法の欠点であるHTTPSでの通信をクリアすることが出来る。ただ、この方法であると実際のサイトのドメインが使えないので、URLをチェックされた場合気づかれてしまう可能性がある。

Proxy利用者の防衛対策

勿論この文章は通信を傍受する事が目的ではなく、防衛対策のための文章なので最後にProxy利用者の防衛対策を挙げる。
上記二つの攻撃を防ぐにはURLとHTTPSであることを確認することだ。それ以前に出元不明のProxyを使わないことが一番だが。

攻撃場所の想定

まず一つめに、サイバーシンドロームなどのProxyを利用者が追加できるProxyリストに、攻撃に使うProxyを追加すること。日本国内の物で情報を吐きにくく速度が早い物は貴重なので、すぐに接続があるだろう。けれど、情報の質としては悪い物、悪意のある書き込みなどがログに残る可能性が高いと思われる。悪意のある攻撃者が手に入れたアカウントでアクセスするために、Proxyを使っている可能性もあるが。
二つめは公共のパソコンなど多数の人が触れるパソコンにそのProxyを設定すること。大部分の人はProxyのチェックはしないだろうし、少し気をつけている人もキーロガーのチェックだけで済ませてしまうのではないだろうか。公共のパソコンではアカウントを使ったログインなどはしない人も多いとは思うが。初めてこのような視点を持てたので、この様な例があるかはチェックできていないが。
これから考えると、外でネットをするときは自分のパソコンでSoftEtherを使うのが安全ではないだろうか。

おまけ - 取得したデータの重要事項抽出とHTTPS

さて、様々な手段で取得したトラフィック、それらから目的の情報を抜き出すにはそれなりの手間がかかる。けれど、HTTPSのデータが含まれるなら、真っ先にHTTPSのやりとりが始まるその先頭のデータを中心に抽出すれば良い。
残念なことにHTTPSとHTTP、暗号化されているプロトコルと暗号化されていないプロトコルが使われていることによって、そのやりとりの重要度を明確に示してしまっている。仲間はずれがあるために。
全ての通信が暗号化される時代が待ち遠しい。