at posts/single.html

URL短縮サービス ow.ly は実URLが表示されずに危険 → グリモン書いた

最近、Twitterで ow.ly というドメインの URL 短縮サービスをよく見かけるようになった。 このサービス、 tinyurl のような従来型のサービスとは大きな違いがある。 これまでの URL 短縮サービスは、本当の URL (以下、実URLと呼ぶ) へリダイレクトするだけだった。 一方で ow.ly は、画面の上部に独自のツールバー (Ow.ly Social Bar 2.0) が表示される。 実URLは、 ow.ly ドメイン上のフレーム内に描画されている。

面白いサービスだと思うけど、この仕組みはセキュリティ的にはちょっと危険。 悪用されると、フィッシングの被害を受けてしまう恐れがある。

ow.ly では実URLのアドレスが表示されない

ow.ly のリンクをたどると、アドレスバーには実URLのアドレスではなく、 ow.ly のアドレスが表示される。 そのため、フレーム内に表示されているページが、本当に正しいページであることを確認できない。 例えば、以下の画面。一見するとはてなのログイン画面だけど、アドレスバーのドメインは ow.ly になっている。 偽の「はてなログイン画面」へ誘導されていたとしても、この状態からは見分けがつかない。

ow.ly

これに気がついたのは、 Twitter で勉強会の案内として ATND へのリンク (ow.lyの短縮URL) が貼られたいたから。 ATND にログインしようとして、アドレスバーのドメインが ow.ly のままだったので、慌てて ID とパスワードの入力を止めた(ATNDはOpenIDでログインするため、はてなのログイン画面が表示されていた)。 もし偽サイトだったら、簡単に ID とパスワードが盗まれていた所だった。

問題点

最大の問題は、フレーム内に別ドメインのページを表示していること。 このため、セキュリティの基本である「アドレスバーのドメインを確認する」ことができない。

ただ、これを否定すると ow.ly のサービス自体を否定することになっちゃう。 だからせめて、 ow.ly のソーシャルバー上に、実URLのドメインを表示するようにしてほしい。 (ただし、内側のフレーム内からソーシャルバー上のドメインを書き換えられる危険性があるので、完全な対策じゃない)

対策1: ow.ly のソーシャルバーを閉じる

ow.ly のソーシャルバーは、右上に「×」ボタンがある。 これをクリックするとソーシャルバーが消え、フレーム内の実URLが直接表示されるようになる。ログイン画面など、重要な情報を入力する画面では、必ずソーシャルバーを閉じてアドレスを確認するほうがいい。

ソーシャルバーなんて表示されなくていい!という人(僕)のために、自動的にソーシャルバーを閉じる GreaseMonkey スクリプトを書いた。

Hide Ow.ly Social Bar

このグリモンをインストールすると、 ow.ly の短縮URLにアクセスしたときに、自動的に実URLへとリダイレクトするようになる。

対策2: ソーシャルバー上に実URLを表示する

ow.ly のソーシャルバーは使いたいという人向けに、ソーシャルバー上に実URLを表示するグリモンを書いた。

Show URL on Ow.ly Social Bar

このグリモンをインストールすると、 Ow.ly のソーシャルバー上に、フレーム内の実URLが表示される。 ただし、さっき完全な対策じゃないと書いたように、フレーム内からソーシャルバーの文字を上書きできる危険性もあるので、あくまでも参考までに使うこと。 本当に重要な情報を入力するときには、右上の「×」ボタンでソーシャルバーを閉じてからの方がいい。

まとめ

フレームを使ったサイトはフィッシングの危険があるとは、かなり前から言われていること。 それでも、いまだにこういうサービスが受け入れられているのは少し驚きだった。 フレームを否定する気はなくて、使いたいなら危険性を理解しながら注意して使えばいいと思う。 このページがそのためのお手伝いになれば幸い。