叡智の三猿

~森羅万象を情報セキュリティで捉える~

パスワードリスト攻撃

IDとパスワードによる認証は、シンプルかつ安全な認証方式として、コンピュータシステムの黎明期からいまに至るまで主役でありつづけました。クラウドサービスが浸透すると、わたしたちは多数のアプリケーションを仕事で使うようになりました。そして、システムにログインするたびに、IDとパスワードを入力しつづけました。

総務省による「国民のための情報セキュリティサイト」には、安全なパスワード管理として、同じパスワードを複数のサービスで使いまわしをしないことを求めています。

パスワードはできる限り、複数のサービスで使い回さないようにしましょう。あるサービスから流出したアカウント情報を使って、他のサービスへの不正ログインを試す攻撃の手口が知られています。もし、重要情報を利用しているサービスで、他のサービスからの使い回しのパスワードを利用していた場合、他のサービスから何らかの原因でパスワードが漏洩してしまえば、第三者に重要情報にアクセスされてしまう可能性があります。
安全なパスワード管理|社員・職員全般の情報セキュリティ対策|企業・組織の対策|国民のための情報セキュリティサイト

外部に流出したIDとパスワードを用いて、その人が使っている別なサービスに同じパスワードでログインを試みる攻撃をパスワードリスト攻撃と呼びます。IDとパスワードによる認証方式でもっとも懸念されるのが、パスワードリスト攻撃による被害です。パスワードリスト攻撃への対策としては、同じパスワードを複数のシステムで使いまわしをしないことなのですが、多くのクラウドサービスを使っている利用者が、利用するアプリケーションによって異なるパスワードを設定するのは、なかなか厳しい話です。

パスワードリスト攻撃に備えた対策をクラウドサービスの事業者も行っています。

セキュリティに配慮したクラウドサービスであれば、データベースに格納するパスワードはハッシュ化しています。ハッシュ関数は、入力データを一定の手順で計算し、入力値のデータの長さに関わらず、決まった長さの文字列を出力する関数です。ハッシュ関数は一方向性というハッシュ値から、元のメッセージを逆算することはできない特徴があります。この特徴がパスワードを格納するのに優れています。現在、安全性が高いハッシュ関数としてSHA256の利用が推奨されています。

下記のようにパスワードの値が少しでも変化すると、全く違うハッシュ値が出力されることがわかります。

SHA256によるハッシュ化

但し、パスワードをハッシュ化しても、レインボー攻撃と呼ばれる方法で元のパスワードを見破られる可能性があります。攻撃者が予めレインボーテーブルを用意し、利用者情報を格納したデータベースから流出したハッシュ値と同じ値があれば、それに対応するメッセージがもとのパスワードであるとわかってしまいます。

レインボー攻撃

レインボー攻撃への対策として、パスワードに ソルト と呼ばれるランダムな値を付加して、そのハッシュをとる方法が採用されます。こうすると、同じパスワードでも、 全く異なるハッシュ値が保存されることになります。

ソルト付きハッシュ関数

クラウドサービスは巷に溢れていますが、セキュリティ対策のレベルはまちまちです。

会社がクラウドサービスを採用するうえで、そのクラウドサービスがどの程度のセキュリティ対策を実施しているかを知っておくことが大切です。ただ、ひとくちにセキュリティ対策といっても、対象範囲が広すぎて、何をクラウド事業者に聞けばいいのか分かりません。セキュリティ対策のためのガイドラインとしてよく知られているのが、経済産業省による「クラウドサービス利用のための 情報セキュリティマネジメントガイドライン」です。

https://www.meti.go.jp/policy/netsecurity/secdoc/contents/seccontents_000146.html

このガイドラインは、会社がクラウドサービスを利用する際における様々な懸念事項を払拭し、安全にサービスを利用するためにユーザが気をつけるべきこと、そしてクラウドサービスを提供する事業者はどのような情報を提供すべきなのかを記載されています。