人気のクーポンサイトLivingSocialは先日、膨大な数の顧客に対し、同社のコンピューターシステムが悪意のあるハッカーの侵入を受け、LivingSocial会員の氏名、メールアドレス、誕生日、暗号化されたパスワードが盗まれたと発表しました。被害にあった顧客の数は明らかになっていません。
しかし、良いニュースもあります。LivingSocialは、ユーザーのパスワードにハッシュとソルトという処理を施していたと述べています。つまり、パスワードは暗号化された形式で保存されており、攻撃者がアクセスしたパスワードデータを意味のある形にするのは、不可能ではないにしても非常に難しいということです。同社はまた、顧客のクレジットカードやその他の支払い情報が格納された別のデータベースへの侵入はなかったとしています。
繰り返しになりますが、ハッシュされたパスワード(この記事の最後に説明があります)を破るのは難しいことではありますが、不可能ではありません。LivingSocialのアカウントを持っている人は、すぐにこのリンクにアクセスしてパスワードを変更してください。さらに重要なことですが、同じパスワードを他のサイトでも使用している場合は、それらのパスワードも変更しておきましょう。
現在は、攻撃者が支払い情報を悪用するか、ハッキングしたサーバー上で平文の(暗号化されていない)パスワードや、何か不名誉なものでも見つけない限り、誰も気にしないような状況になりつつあります。消費者や、顧客データを安全に保護すべき組織、そして一部のセキュリティ専門家でさえも、こうしたセキュリティ侵害について何も感じないようになってきました。以前はこのような状況ではありませんでした。最初はデータ漏えいの話をする人などまったくいませんでした。その後、データ漏えい問題をうやむやにするのが難しい状況になり、企業は漏えいの事実を公に認めざるを得なくなります。今では、データ漏えいが常態化していることを誰もが認識しており、毎日のように起きるデータ漏えいに対し、怒りを持続させることが難しくなったほどです。
しかし、他にも認識すべきことがあります。多くの人がスピアフィッシングについての記事を読んでいるからです。実際に、スピアフィッシングや、フィッシングとWater-Holing(水飲み場型攻撃)、その他のソーシャルエンジニアリング攻撃についての記事は、データ漏えいと同じくらい目にする機会が多いかもしれません。一般的なソーシャルエンジニアリング攻撃を実行するには、攻撃者は標的についての情報をある程度持っていなければなりません。ソーシャルエンジニアはフィッシング攻撃に使うメールアドレスをどこで見つけていると思いますか?水飲み場型攻撃を成功させるために、標的にしようとしているユーザーの関心事をどのようにして把握しているのでしょうか?なぜこうしたハッカーは、パスワードやパスワードリセットの質問をうまく推測できるのでしょう?
こうした情報の多くは、データ漏えいで突き止めた情報をかき集めたものです。公平を期すために言っておくと、その情報の多くは、ユーザーがソーシャルネットワーク上で過剰に公開した自分についての情報から得られたものでもあります。しかし、この話題については後日お話しすることにしましょう。多くの人が会社のメールアドレスをさまざまなオンラインサービスに差し出していますが、そのサービスのデータベースが侵入を受けると、攻撃者はメールという連絡手段を手に入れ、数多くの価値ある企業にフィッシングをしかけることが可能になります。また、誕生日も価値ある情報になり得ます。パスワードや、パスワードリセットの質問の一部には誕生日が使われることが多いからです。もちろん、クラッキングされてパスワードハッシュが解析されると、とにかくパスワードを使い回したいというユーザーは深刻な問題に直面することになるでしょう。
興味がある人は(セキュリティ関連の情報を提供するブログを読んでいるので、興味をお持ちかと思いますが)、LivingSocialのデータ漏えいに関する通知ページのFAQセッションを読んでみてください。一般に「ソルトとハッシュ」と呼ばれるものを非常に分かりやすく説明しています。
「LivingSocialのパスワードはSHA1でハッシュされており、ランダムな40バイトのソルトが使用されています。つまり、当社のシステムは顧客が入力したパスワードを取得し、一意のデータ列に変える(実質的には一意のデータフィンガープリントを作成する)アルゴリズムを使用しています。これが『ハッシュ』です。保護の層をさらに厚くするために、『ソルト』によってパスワードを長くして、より複雑なものにしています。当社はハッシュアルゴリズムをSHA1からbcryptに切り替えました」