セキュリティ関連のブログから、参考になる情報を紹介する。今回まず取り上げるのは、誰にとっても身近で、かつ情報セキュリティの永遠のテーマである「パスワード」について。

 米マイクロソフトのソフトウエアアーキテクトであるトニー・ハント氏が、人々が使っているパスワードを調査した結果を自身のブログで公開しているが、米シマンテックはこの分析をヒントにセキュリティを強化する方法を考え、同社ブログで紹介した。

 シマンテックのブログの著者は、ハント氏の分析を読んで、人々がどのようなパスワードを作成するかを自分たちがどれほどよく知っていて、その知識をどれほど活用できていなかったかを、強く感じたという。破られにくいパスワードを作成することがいかに重要か、とうとうと説き、ブログに書いているが、これまでのところ大きな成果は出ていないとコメントしている。

 現在、どのWebサイトもパスワードについてそれぞれルールを設けている。例えば長さに決まりがあり、その決まりに従わないパスワードは作成できない。こうした長さや使用できる文字について、Webサイト運営者は、自社のルールがベストプラクティスに沿っていることを確認すべきである。ところが、必ずしもそれは実行されていない。ユーザーがパスワードを覚えやすいように、あるいはユーザーに面倒な思いをさせないためにという配慮から、パスワードを短めに設定するサイトがあるためである。

 そんな中で、ユーザーが少しでも強力なパスワードを設定するように仕向けるにはどうすべきか。シマンテックは一つの手段を考えた。アカウント作成の際に、攻撃者が持つような、ありふれたパスワードを集めたパスワード辞書と照合してはどうか、というアイデアだ。パスワードの長さや文字と数字の組み合わせが適正かチェックする仕組みがあるのだから、同時に攻撃者のデータベースと照合すればよいという発想である。

 例えばハント氏の分析結果に掲載された、最もよく使われている25種類のパスワードは次のようなものだった。

「seinfeld」「password」「winner」「123456」「purple」「sweeps」「contest」「princess」「maggie」「9452」「peanut」「shadow」「ginger」「michael」「buster」「sunshine」「tigger」「cookie」「george」「summer」「taylor」「bosco」「abc123」「ashley」「bailey」

 シマンテックは試しに2カ所のWebサイトにアクセスし、5番目の「purple」で新規アカウントを設定した。一方のサイトでは、弱いパスワードだと警告されたもののアカウントを登録できた。もう一方のサイトでは登録できなかったが、弱いからではなく短すぎるためだった。次にハント氏がパスワード辞書で見つけたという2種類のパスワード「1qazZAQ!」と「dallascowboys」を使ってみた。弱いパスワードだと警告されたが、文字数が規定に達していたのでいずれも登録が許可された。

 このようなパスワード辞書は手に入れにくいものではない。Webサイトはこれを活用して、ユーザーがありふれたパスワードを使わないようにチェックするべきだと、シマンテックは提案している。ユーザーに面倒をかけるとか利便性を制限するなどと考えずに、ユーザーを啓蒙するのだと考えればよい。もちろんそれは、ユーザーを保護することになる。

Java攻撃コードを直接埋め込むマルウエアの手口

 次に、米ウェブセンスのセキュリティ・ラボが紹介した新しい攻撃についてのブログを紹介しよう。

 ウェブセンスは最近になって、ウイルス対策ソフトを装った新たな攻撃を発見した。手口は、従来のように攻撃用に設定したサーバーにユーザーをリダイレクトするのではなく、ユーザーのシステムを直接攻撃するものだ。

 攻撃者は通常、Webページを乗っ取り、攻撃ツールキットをホスティングしているWebサーバーにトラフィックを誘導する。今回見つかった手法では、攻撃コードは合法的なWebページに直接埋め込まれている。

写真●Webページに埋め込まれたコードの画像

 このコードは、Oracle Javaの脆弱性(CVE-2010-4452)を攻撃する。Javaクラスローダーの設計の欠陥を突いて、ローカルユーザーの権限で未サインのアプレットを実行する。影響を受けるのはJava Runtime Environmentバージョン6 Update 23以前で、この脆弱性は米オラクルが2011年2月にリリースしたUpdate 24で解決している。