セキュリティ・ベンダーのブログから、押さえておきたい話題を紹介する。今回は、なんといっても、オープンソースのSSL/TLS実装ライブラリー「OpenSSL」に見つかった情報漏えいの脆弱性「Heartbleed」関連だろう。4月7日に公表されて以降、メディアでも多数取り上げられている。セキュリティ・ブログにも関連の話題が多い。例えば米ウェブセンス、スロバキアのイーセット、トレンドマイクロなどだ。

 ウェブセンスは、Heartbleedを悪用する現実的なシナリオについてブログで考察している。

 Heartbleedを利用する攻撃は、他のいずれの組織的な攻撃とも同様に、脆弱なOpenSSLを実装しているサイトを探すことから始まる。すでにいくつものコンセプト実証(PoC)コードが広く出回っており、誰でも1行のコマンドラインとインターネット接続があればWebサーバーの探索を始められる。脆弱なWebサイトが見つかれば、脅威実行者は細工をしたハートビート(Heartbeat)パケットを送信し、脆弱性を突いて最大64Kバイトの追加情報を要求できる。脅威実行者は、返されたデータを精査し、興味深い情報がないか探す。

 機密情報やセッションIDなどがあれば、あとで当該サイトへの未承認アクセスを実行できる。公開鍵などが手に入れば、信用済みサイトや個人アカウントをハッキングしたり、なりすましを実行したりすることも可能だ。

 しかし特定のユーザーに狙いを絞ることは、現実には難しい。特により広く使われているサイトの場合、脅威実行者が、例えば「Alice」というユーザーのログイン情報をサイトから盗もうとするなら、Aliceの情報を含むデータが手に入るまで脆弱性に対する攻撃を継続しなければならない。サイトがより小規模であれば、Aliceの情報はより少ない攻撃で手に入る可能性がある。Aliceがいつどこでそのサイトにアクセスするか把握していれば、Aliceのデータを取り出す成功率は高まる。

 ウェブセンスが調べたところ、攻撃者がユーザー名、パスワード、セッションIDを取得することは現実に可能だ。詳しい技術的知識がなくても、痕跡を残さずに個人情報を手軽に盗み出すことができるという。一方、サーバーの公開鍵を盗むことは、理論上は可能だが、現実にはユーザー名やパスワードの取得より困難だ。

 ウェブセンスが研究環境で行った実証実験では、実に簡単に、サーバーを探索して脆弱性を確認し、Heartbleedを利用して、返されたメモリーのデータを見ることができた。個人情報を取得してユーザーアカウントにアクセスするのに1分もかからなかった。しかし上述したように、狙いを定めたユーザーの個人情報を取得するには、そのユーザーのデータがメモリー上に残っている最適なタイミングでアクセスしなければならない。

 またウェブセンスは実験において、パッチ未適用で脆弱な状態のWebサイトではパスワードを変更しても新パスワードが漏れる可能性や、ユーザーがログインしなくても閲覧するだけでクッキーを通じてパスワードが漏れるおそれがあることも確認した。

新パスワードの情報を含むコード