スマホを見ていたらなかなか面白そうな記事。パスワードが流出済みかを検索できるサイトがあるようだ。
このサイトらしい。Have I Been Pwned?(私って今まで流出したことある?)、略して HIBP というサイトだ。
上記記事の見出しが「流出済みパスワードが検索できる」とあるがこれは記事を書いた人の(わざとの?)間違いと思われる。
パスワードが検索できるのではなく、あくまでパスワードが漏れたことがあるかの履歴を検索できるのみのようだ。
記事の中でも「履歴が」と言ってるだけで、パスワードそのものが検索できるとは言っていない。見出しがミスリードな気はする。
とはいえ、非常に有用なサイトであることには変わりない。使い方は簡単で流出しているか調べたいアドレスをemail address欄に入れて「pwned?」ボタンを押すだけ。
Have I been pwned? Check if your email has been compromised in a data breach
早速やってみる。
ガッツリ流出していた。
英語表記だが内容はカンタン。要は dailymotion と Dropbox で流出していたよ、と言う結果が出ている。
まあ、使っていたのは捨てアドレスだったから問題ない。Webで使うサービスは、いつハッキングされても捨てられるダミーでやるのは当然だから。
HIBPの使い方はこのサイトが詳しい。
今回の結果をもう少し具体的に見てみる。
dailymotion
Eメールアドレス、パスワードユーザ名が流出した
Eメールアドレス、パスワード が流出した
と分かる。しかし、
no pastes となっているので、流出したデータはもう残っていないという結果になっている。
これが
のように、3 pastes (3件 pastsesに残っているよ)だとヤバい。流出したうえに、公開されてしまっているということだ。そんなIDやパスワードの場合は、もしかしたら「3 pastes」の文字のすぐ下くらいに表示されてしまうのかもしれないが、そんなIDは持っていないので今回は試しようがない。良識あるWebサイトはそんなことしないと思うけど。
<pastes について>
おそらくだけど「pastebin」のことを言っているのだろう。以前 Hotmail のアカウントをハッキングされかけたことがありネットを漁ったが、どうやら流出したアドレスは paste(貼付け)bin(バイナリ)という掲示板サービスに貼り付けられることが多いようだ。HIBPはこの pastebin の最新情報を見に行って流出しているかを調べているらしい。
なお、pastebin掲示板サービスは今でも(ググれば)普通に出てくるだろうが、知識がないまま行くとウイルスが仕込まれていたりするので興味本位では近づかないほうがいいと思う。今なら bitcoin のマイニングを仕込まれちゃうとか、充分ありそうだ。開発等の都合で訪れるとしても充分注意が必要だろう。念のため 仮想端末+捨て回線 を使うとか。
話が逸れたが、ここからが本題。
HIBPによると、流出したIDパスワードはHIBPのAPIを経由して読みだせるようだ。
しかも。このAPIを使った AndroidアプリやiOSアプリがすでに公開されている。
しかしだ。Androidアプリは全く信用できない。とくにセキュリティに関するものは。今回も「パスワードが流出したかを確認するアプリ」を装って「パスワードを入力させて盗み取る」アプリである可能性は否定できない。基本的に「ネットに転がっているアプリはオレオレ詐欺だ」と思っているので。ATMに誘導される老人のようにリンクを踏む気にはなれないのだ。
その点iOSアプリはまだ信用できる。OSの強固なセキュリティがあるし、さらにはAppleのアプリ開発ルール(必ず審査がある)によって、安全であることがほぼ担保されるからだ。
しかし今回は、アプリは使わない。なぜなら、Python スクリプトが公開されていたから。
使うならやはりPython。ソースから何をしているか(ある程度は)追うことができるし、自分で実装もできる。何より RaspberryPi の閉じた環境で実行させられるから、何かしらのウイルスであってもネットから切り離してしまえば対処できるからだ。
ということで、一つ目のリンクのPythonスクリプトを早速試してみる。
スクリプト作成者は「caseydunham」という人らしい。うーむ。見た目は怪しい気もするが。人のこと言えないか。
「clone or download」からソースを取得する。今回は zip でダウンロードした。
落としたzipをRaspberryPiに移動して解凍。pwnedcheck というフォルダができた。中にある README.rst を読んでみると、サンプルスクリプトが書いてある。
print文にカッコがないところからすると python2.7 で書かれているようだ。手元のRaspberryPiの環境は python3 になってしまっているので、pyenvを使って2.7環境に変える。
ダウンロードした PwnechCheck をpipからインストールする。なぜかsudoしないとうまくインストールできなかった。pyenvまわりの設定がおかしいんだろう。
$ sudo pip install PwnedCheck
サンプルのとおりのスクリプトを書いてみる。
$ vim myPwnedCheck.py
実行もsudoをつけてやる(そうでないと moduleなしエラーになってしまう)。
$ sudo python myPwnedCheck.py
上記 README.rst によると、戻り値が[]の場合は流出なしだ。流出はしたものの、pastebinに残っている情報は無いとのことで、安全と判断できる。
あとはテスト用にたくさん持っているダミーアドレスがのうち流出してるのはないかこのスクリプトに食わせて確認してみよう。来週でもやってみる。
追記)
調査の途中で面白そうなサイトも見つけた。
後で読む。