パスワードはサイトごとに変えたり複雑にしたりしたほうがセキュリティ面では望ましいことは言うまでもありません。一方で、パスワードはユーザーが自発的に設定する文字列ですので、管理者側で完全にコントロールすることは困難です。
ここでは安全性を考慮したパスワード設定をしてもらいたい企業側としてどのような対策があるのか、パスワードクラックの種類と共に考察していきます。
目次
1.パスワードクラックとは
パスワードクラック(password crack)とは、データ解析により他人のパスワードを不正に探り当てることを指します。
具体的には、パスワードリスト攻撃、総当たり攻撃、辞書攻撃、類推攻撃などがあります。
2.インターネットユーザーのパスワード事情
IPA(独立行政法人情報処理推進機構)の調査によると、「管理しているID(アカウント)が2種類以上の回答者のうち、32.4%がサービス毎に異なるパスワードを設定している。」という結果が出ています。裏を返すと、ECサイトなど複数のインターネットサービスを利用している人の7割弱はサービス毎に異なるパスワードを設定していない(パスワードを使い回している)ということになります。
また、以下のように全体的にパスワードの設定に関するセキュリティ意識は低下傾向が見られます。
“パスワードは誕生日など推測されやすいものを避けて設定している”割合は年々減少し、3年前と比較し約10%減。
パソコン利用者のパスワード管理について、“パスワードは誕生日など推測されやすいものを避けて設定している”割合は2013年に57.4%あったものが、年々減少して47.0%まで下がっています。特に10代20代の若い世代では、その割合は4割にも達していません(10代36.6%、20代39.0%)(別紙図5)。10代、20代の若い世代で推測されやすいパスワードを避けて設定する事への意識が低い傾向が続いており、今後も同様の傾向が続くことが推測されます。(2016年度 情報セキュリティの脅威に対する意識調査,パソコン:P64参照)
3.パスワードクラックの種類
パスワードはどのようなリスクにさらされているのでしょうか。パスワードに関する攻撃を見ていきましょう。
3-1 パスワードリスト攻撃(アカウントリスト攻撃)
攻撃対象とは違うサービスから攻撃者が入手・流出(リスト化)したID(アカウント)とパスワードで、他のWEBサービスなどにアクセスをし、利用者のアカウントで不正ログインする攻撃です。攻撃者はフィッシングやSQLインジェクションなど不正な手段によってパスワードを入手したり、漏洩した情報から得たパスワード情報を使ってパスワードリスト攻撃を行います。
複数のサイトでログインID・パスワードの使いまわしをする傾向が強く、一度不正ログインをされてしまうと他のサイトで被害にあうケースがあります。
2.で見た複数サイトパスワードの使い回しをしている7割弱のユーザーには潜在的にパスワードリスト攻撃のリスクがあると言えます。
3-2 ブルートフォースアタック(総当たり攻撃)
ブルートフォースアタックとは、暗号やパスワードを解読するための方法の1つです。
英語でbrute-forceという単語であり、「~を力ずくで行う」という意味です。これが転じて、セキュリティ用語では「パスワードなどを力ずく(総当たり攻撃)で片っ端から試して見つけること」となります。
簡単なパスワード、単純なパスワードを設定していると総当たり攻撃のリスクが高くなります。
3-3 リバースブルートフォースアタック(逆総当たり攻撃)
パスワードはIDとセットでその役割を果たしますが、2-2のブルートフォースアタックが、IDを固定してパスワードを総当たりで解読していこうとするのに対して、リバースブルートフォースアタックは、パスワードを固定してIDを変更して解読していこうとする攻撃です。
攻撃者は標的のIDを定めていれば、ブルートフォースアタックを、IDリストなどを入手している場合は、リバースブルートフォースアタックで簡単なパスワードを固定してIDを変更して総当たりを仕掛けてくるかもしれません。
また、SplashData社が発表している危険なパスワード(Worst Passwords of 2016)になどもユーザーが使用しないように注意が必要です。
<Worst Passwords of 2016>
- 123456
- password
- 12345
- 12345678
- football
- qwerty
- 1234567890
- 1234567
- princess
- 1234
- login
- welcome
- solo
- abc123
- admin
- 121212
- flower
- passw0rd
- dragon
- sunshine
- master
- hottie
- loveme
- zaq1zaq1
- password1
3-4 辞書攻撃
辞書攻撃とは、辞書や人名リストなどに掲載されている単語や、それらを組み合わせて、パスワードなどを推測する方法の一つです。辞書攻撃では、膨大な単語のリストを使用し、受け入れられるパスワードが見つかるまで、それらをすべて試します。最初に、名前や名詞のような分かりやすい、または不十分な選択肢から開始します。次に、単語のリスト、単語の組み合わせ、単語の合成へと進みます。
2.の調査結果にあるような推測されやすい文字列を使っていると辞書攻撃で突破されやすくなります。
3-5 パスワード類推攻撃
ターゲットの個人情報などを手掛かりとして行われる攻撃で、攻撃者がターゲットの身辺情報などからパスワードに使いそうな文字列を類推して不正ログインを試みる攻撃です。
名字や誕生日、それらの組み合わせなど推測されやすいパスワードを設定していると数回の試行で成功してしまう(不正ログインされてしまう)リスクもあります。
4.事業者が講じたいパスワード対策10選
パスワード設定は、利便性と完全性のトレードオフの中で、ユーザーの手間を考えて利便性に配慮したほうが良いのか、セキュリティを優先して安全性を取ったほうが良いのか、事業者側でどこまでコントロールするか判断が難しい部分でもあります。
複数の対策を講じる、パスワードで使用する文字列に制限を加えるなどしてリスクを最小限にしていきましょう。
4-1 システム設計含めた検討が必要な対策
4-1-1 不審なアクセス元(IPアドレス)からのログインに制限を設ける
同じアクセス元からログイン試行・失敗が繰り返されている場合など不審な挙動しているIPアドレスからのアクセスを制限します。また、明らかにサービスのユーザーがいないような海外の地域からのアクセスなど攻撃の可能性があるアクセス元は排除するという対策も考えられます。大手のサイトでは、ログイン履歴を監視してユーザーが確認できるようにしたり、新しいデバイスからのログインがあった場合にユーザーに通知する機能などを提供しているケースもあります。
4-1-2 一定速度以上の施行を禁止する
システムからの入力(人間が意思を持って入力していない)を排除するため、短時間で複数回の施行ができないようにして、システムからの攻撃ができないようにします。
4-1-3 パスワードの入力回数に上限を設ける
総当たり攻撃などの場合、入力回数に制限をすることで検証の機会がなくなりますので、攻撃を無力化させることができます。
4-1-4 秘密の質問などの本人認証を入れる
初回登録時にそのユーザーしかわからない質問と回答(好きな色は?出生地は?など)を設定してもらい、普段と異なる利用状況があった場合に質問をして本人であることを認証する方法です。
4-2 ユーザーへの注意喚起を含めてしておきたい対策
リスクのあるパスワードは許可しないという設定も必要ですが、パスワードはユーザーの意思で決まるものですので、入力ルールを明確に示し、学習してもらうことも大切です。
4-2-1 利用者の情報に関連したパスワードを設定させない
氏名、誕生日、アカウントID、メールアドレスの文字列を利用したパスワードや地名など意味のある文字列を含んだパスワードを許容しないことにより類推攻撃や辞書攻撃の成功確率を下げることができます。
4-2-2 単純なパスワードは設定させない
パスワードには大文字小文字を含んだ英数字の組み合わせにするなど設定時に制限をします。総当たり攻撃はパスワードが複雑であるほど成功確率が下がります。
4-2-3 パスワードは変更時は過去に使用した文字列と異なる設定を促す
以前は、パスワード変更から一定期間経過した場合は、ユーザーに変更を促す、または一定期間経過した場合は使えない(ログインできない)ようにして強制的に変更してもらうことが安全性を高めると言われていました。
2017年に米国国立標準技術研究所(NIST)が発表した最新のガイドラインに準じる形で総務省はパスワードの定期変更は不要というガイドラインを出しています。(参考:国民のための情報セキュリティサイト)
頻繁なパスワード変更を義務付けることによって、前回のパスワードの最後の文字列だけ変更する(数字の1を更新のたびに2、3と増やしていく等)といった、逆に安易なパスワード設定を招くリスクも指摘されています。
単純なパスワードを受け付けないことを前提として、変更時も前々回と同じパスワードは受け付けない、前回と類似する文字列が入ったパスワードは受け付けないなど、許可する条件も決めておきます。
4-2-4 パスワード強度チェッカーを設置しておく
どのようなパスワードを設定するかは最終的にユーザーの自発性にゆだねる部分があります。そこで、パスワード設定画面でパスワード強度を表示することでリスクの低いパスワード設定を促します。現在多くのサイトでパスワード設定時にチェッカーが設置されています。
4-3 より強固な対策が必要な場合に導入を検討したい対策
4-3-1 二段階認証にする
一段階目でログインをしようとした後に、そのユーザーが事前に登録した携帯端末などにSMSでランダムな4桁の数字を送り、その数字で二段階目の認証をするというやり方が一般的です。一段階目を破られたとしても、ユーザーの端末を盗むなどしない限りは二段階目を破ることができません。
4-3-2 ワンタイムパスワードを導入する
OTP(OneTimePassword)は一度限り有効なパスワードのことを指します。一定時間ごとに自動的に新しいパスワードに変更されるため、マルウェア等にパスワードを不正搾取されたとしても、そのパスワードを使って不正ログインされるリスクが低くなります。
今後、生体認証などが一般的になっていけばパスワード攻撃の対策は変わってくるかもしれませんが、現状は文字列を使ったパスワード認証が主流です。ユーザーが簡易なパスワードを設定したことにより不正ログインをされてしまっても、攻撃を受けたサイトの運営者側のセキュリティ対策が問題視されていまします。上記で紹介した対策を複数講じることでパスワード攻撃のリスクを最小化していきましょう。
著者:マカフィー株式会社 マーケティング本部