1passwordのWebSocket 不認証脆弱性について

さて、MacOS XとiOSのXARA脆弱性について[1]では、もと記事[2]で1passwordを作っているAgileBItsも対策はムズカシイと言っているということについて、「なんでかなー」と疑問を呈したわけですが、AgileBitsの説明[3]を読みに行ってわかりました。そりゃそうだ、ってなもんです。あと、論文の著者たちの書き方は、自分たちの業績を売り込むためなんでしょうが、ちょっと誤解を招くなと。

この論文の著者たちが指摘する1passwordの脆弱性というのは、1passwordブラウザ拡張から1password miniへの通信がマルウェアによって傍受される可能性があるというものでした。1pasword miniは6263番ポートでWebSocketを開けて待ち受けているはずなんですが、1password miniがこのポートを専有する前にマルウェアで専有してしまえば、1passwordブラウザ拡張が送ってくるパスワード他をかっぱらうことができるというものです。逆に言うと、ユーザが入力してかつ1passwordに新たに保存することに決めたたパスワードをかっぱらうことしかできませんです。1passwordに保存済みのパスワードが漏れてしまうわけではありません。

これに対して私はMacOS XとiOSのXARA脆弱性について[1]で「インストール時に1passwordアプリにキーペアを生成させて、公開鍵をブラウザ拡張に持たせて、ブラウザ拡張からポート6263への通信を全てその公開鍵で暗号化してしまうんですけどね。」と書きました。確かにそれはそうなんです。ただ、AgileBits的には、それじゃダメでしょうと。

なぜか。

そんな変なプログラムを仕込まれてしまう状況では、1passwordのブラウザ拡張から1password miniに送られるWebSocketの通信を横取りするよりも、ブラウザへのパスワード入力をそのまま引っこ抜くほうが楽で確実でしょうというわけですね。そりゃそうだ。1password miniが使うポートを乗っ取るのよりも、入力されたパスワードを全て引っこ抜く方がカバレージ全然広いし確実ですからね。

[1] http://www.sakimura.org/2015/06/3100/4/

[2] https://sites.google.com/site/xaraflaws/

[3] https://blog.agilebits.com/2015/06/17/1password-inter-process-communication-discussion/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください