Webサイトのフォームではhttpsにしないと大変なことになるよという話をする機会が連日続いたので、なぜ大変か?を実際に見てもらうことにした。
※httpsは暗号化して通信する仕組み。httpの通信は暗号化していない。
ちなみに今回の記事は
Ohmshaの基礎からわかるTCP/IP ネットワークコンピューティング入門を参考にしてる。
はじめにネットワークを監視するために
オープンソース・ソフトウェアのネットワークアナライザをインストールしておく。
話を始める前に念を込めて書いておくと、
今回の記事で使用するWiresharkはネットワークの構築やメンテナンスのための監視のために使用したり、ネットワークを勉強するために使用する教材みたいなソフトウェアで悪意のある者のためのソフトウェアではありません。
インストールが終わったら早速、Wiresharkを立ち上げてみる。
今回はインターネット内でどのように情報が流れるのか?を見てもらうために、
※わかりやすい様にアドレスバーにはhttpからはじまるようにしている
即席でログインフォームを作成してみた。
このページのURLはhttp://saitodev.co/formで、httpで始まる暗号化されていないページ。
※記事投稿後にこのフォームのページは削除した
※この写真はイメージです。
同じネットワーク内にパソコンを二台用意して、一台はログインのための情報を送信を行い、もう一台はWiresharkを立ち上げておく。
※わかりやすい様にアドレスバーにはhttpからはじまるようにしている
早速、このページで送信を押してみると、
ネットワーク内に流れるパケットが入ってきた。
情報量が半端ないので、HTTPの通信のみにフィルタリングしてみると、今回の送信の情報を得ることが出来た。
今回流れてきたパケットを確認してもらうと、
どのページから情報を送信したかわかり、更にパケットの値を確認してみると、
入力したIDとパスワードが記載されていた。
しかも、入力して送信した値と一致していた。
ということで、httpからはじまるフォームのページでは、特に不正なことをしなくても入力した情報を得ることができ、言ってみれば筒抜け状態であることもわかった。
総当り攻撃をする必要もなくなるわけだ。
一方、
httpsではじまるURLのフォームのページで、別のPCからIDとパスワードを入力して送信してもらうと、
何が書いてあるかよくわからない。
つまりは暗号化されていることになる。
例えば、ノマドとかでカフェでブログを更新している人がいる。
この人がカフェのフリーWiFiで
※わかりやすい様にアドレスバーにはhttpからはじまるようにしている
このページを開いてログインした。
この時点でどのサイトのログインフォームで、どんな値のIDとパスワードを入力したか?が速攻でわかる。
WordPressを乗っ取ってしまえば、素敵なことがたくさんできる様になるので危ないということ。
何が危ないのか?は下記の記事をご覧ください。
補足1
httpsで暗号化したからと言って、絶対に傍受されないという保証はないので過信してはいけません
補足2
httpからはじまるお問い合わせフォームのページなんて怖くて利用できない
補足3
httpsに対応しておくと、HTTP/2.0を利用でき、サイトを爆速化できるので、暗号化以外でも対応しておいた方がいい
補足4
メールの送受信の仕組みもほぼ変わらないので、暗号化していないメールを傍受して読むことができる
関連記事