ブルートフォース攻撃 ~ IDとパスワードだけのセキュリティはもうオワコン?

Share

ブルートフォース攻撃とは、不正アクセスを行うために、パスワードを総当たりで試すことです。今回は、辞書攻撃やパスワードスプレー攻撃など、さまざまなパスワードへの攻撃を紹介しながら、ユーザと管理者が行うべき対策、そして最新のWebアプリケーションの検証基準であるOWASP ASVS 4.0にも記載のある多要素認証やリスクベース認証を説明し、これからのアカウント保護について考えます。

ブルートフォース攻撃とは

ブルートフォース(Brute Force)とは「力任せ」という意味です。サイバーセキュリティの用語「ブルートフォース攻撃(Brute Force Attack)」とは、パスワードに対する攻撃のことを表し、たとえば数字四桁のパスワードなら「0000」からはじまり「0001」「0002」「0003」…と順に「9999」まで試すことで、いつかは正しいパスワードを確実に探し当てることができる、まさに力づくの攻撃手法です。

知識が不要で、誰でもできる難易度が低い攻撃です。ブルートフォース攻撃を行うためのツールが出回っている点も難易度を引き下げる要因となっています。

辞書、パスワードリスト、リバースブルートフォース、パスワードスプレー…、パスワードを破るサイバー攻撃の手法は多種多様

IDとパスワードだけでログインできるシステムの場合、そのふたつさえ明らかになれば不正アクセスが成立します。そのため、不正アクセスのためにパスワードを破る攻撃は多種多様な工夫が行われ、進化を遂げています。いくつか代表的なパスワード破りの攻撃を紹介しましょう。

・辞書攻撃
全く意味のない文字列を暗記するのは難しいため、多くの場合人間は意味のある言葉をパスワードに用います。辞書攻撃は、一般的な単語やあるいはよくパスワードに使われる言葉(「123456」「qweryty」「password」etc.)を試していく攻撃方法です。ブルートフォース攻撃よりも時間がかかりません。

・パスワードリスト攻撃
たとえば同一のメールアドレスで、A、B、C三つのWebサービスに登録しており、WebサービスAの情報漏えいによってIDとパスワードのリストが流出した場合、パスワードを使い回していた場合、サービスBとCにも不正アクセスされてしまう可能性があります。すべてのサービスでパスワードを別々に管理することが難しい点を突いた攻撃です。

・リバースブルートフォース攻撃
ブルートフォースと「逆(リバース)」の攻撃、つまり「123456」や「password」など、非常にしばしば用いられる文字列にパスワードの方を固定して、IDをさまざまなメールアドレス等に変えてログインを試みます。

・パスワードスプレー攻撃
パスワードスプレー攻撃はよく使われるパスワードを大量のアカウントへのログインに試す攻撃で、一種の辞書攻撃ともいえます。一般的にほとんどのWebサービスや各種の認証機構は現在、パスワード入力を何度か間違えるとロックされて一定時間操作ができなくなる、同一IPアドレスからの接続を遮断するというブルートフォース攻撃への対策が取られています。しかし、パスワードスプレー攻撃は、大量のアカウントに対してロックされない最大の回数のパスワード試行を、時間をおいて、ときには数ヶ月もの期間、「low-and-slow」ともいわれる方法でくりかえし行うことで、一般的なブルートフォース攻撃対策を潜り抜ける点に特徴があります。

診断会社がブルートフォース攻撃を業務として行うとき

SQAT.jpを運営する株式会社ブロードバンドセキュリティは、セキュリティ診断サービスを提供しており、お客様からのご希望に基づき、オプションとしてパスワードへの模擬攻撃を行うことがあります。たとえば、認証系の攻撃テストの項目のひとつに疑似ブルートフォース攻撃が含まれていたりします。

ブルートフォースや辞書攻撃はパスワード解析ツールなどを稼働させて診断を行いますが、PCの負荷が高くなるため、診断を行う技術者はその作業中、PCで別の作業がほとんどできなくなったりすることがあります。

なお、こうしたセキュリティ診断業務としてのブルートフォース攻撃等は、すべてお客様からの依頼に基づいて、事前にヒアリングを行い、書面で契約を締結して実施されます。一般の方が、ネットで見つけたパスワード解析ツールを企業のWebサイトなどに対して勝手に使用したりすると、即「不正アクセス行為の禁止等に関する法律」に抵触する犯罪となることをここに記載しておきます。

パスワードの黄昏、IDとパスワードのみの認証はもうオワコン?

これまでのセキュリティに関する記事や読み物ならば、このあたりで、ユーザ向けなら「強いパスワードを作る方法」「サービス毎の別々のパスワード管理」等を紹介し、システム管理者向けなら「パスワードを流出させない対策」「万が一事故が起こったときのためのパスワードのハッシュ化とソルトによる不可逆暗号化」などを提案して終わりにしたことだと思います。

しかし本稿執筆の2020年の今、それだけで十分ではないのでは?とわたしたちは考えます。

どんなに強いパスワードを設定していても、ハッシュ値で保護していても、「レインボーテーブル」と呼ばれるハッシュ化されたパスワードの解析ツールを用いてしまえばパスワードが解析されてしまいます。もちろんパスワードのハッシュ化に加えてソルトやストレッチといった方法でさらに保護することも必要ですが、ソルト、ストレッチが複雑化・多重化されていなければハッシュ同様に解析されてしまう可能性も否定できません。

さらに、パスワードリスト攻撃に使われるIDとパスワードのセットは、大手サービスの情報漏えいなどで流出したデータ等が用いられますが、これらはアンダーグラウンド市場などで、数億件のIDとパスワードのセットを低価格で購入することができますし、一定の方法で検索するとネットに落ちていることすらあります。

パスワードだけで認証する時代はもう終わったと捉えるべき時期に来ています。パスワードの適切な管理の重要性は今後もまったく変わりませんが、それだけでなんとかなった時代にはもう戻れないのです。

認証のセキュリティ対策に求められる要件は?Webセキュリティの国際検証基準「OWASP ASVS 4.0」

Webアプリケーションセキュリティに関する国際的コミュニティOWASP(Open Web Application Security Project)は、アプリケーションの設計や開発、脆弱性診断などにおいて必要となるセキュリティ要件の検証基準としてASVS(Application Security Verification Standard)を公開しています。最新版のOWASP ASVS v4.0 では、従来に比べて認証に関する記載がいっそう細かくなっています。

いわく「パスワードの長さを12文字以上にしなさい」「将来パスフレーズに利用できるようUnicodeを受け入れなさい」「ブルートフォースのような認証系攻撃のためにレート制限などの対策をしなさい」等々。そのなかでも目を引くのは、多要素認証とリスクベース認証の推奨です。

多要素認証とリスクベース認証~ひとつの方法でアカウントを守る時代の終わり

多要素認証とは、ワンタイムパスワードなどに代表されるトークンや、指紋や虹彩等の生体認証など、IDとパスワードに代表される「あなたが知っているもの」以外の複数の要素(「あなたが持っているもの」「あなた自身の何か」)を用いて行う認証方法のことで、オンラインバンキングや、LINEやGmail等のサービスで使ったことがある読者もいるかもしれません。

リスクベース認証は、ログインを試みようとしている時刻やIPアドレス、ブラウザなどの情報を元に、そのユーザの通常の行動と照らし合わせて、いつもと異なっていたら、追加の要素による認証を求め確実な本人確認を行う方法です。新しいパソコンを購入した直後に、いつもはIDとパスワードだけでログインできていたサービスが、ショートメッセージでスマホに送られたパスコードの入力を求めるといった事象に遭遇したことがあると思いますが、それがリスクベースの認証の一例になります。

くり返しますが、これからは、ひとつの手段でアカウントを守るのではなく、複数の手段でアカウントを守ることが普通になります。

まとめ

  • ブルートフォース攻撃とは総当たりでパスワードを破ろうとするサイバー攻撃で、難易度が低く攻撃ツールも出回っています。
  • 不正アクセスのためにパスワードリスト攻撃やリバースブルートフォース攻撃など、パスワードを破る攻撃は多様な進化を遂げてきました。
  • 強いパスワードの設定、パスワードのハッシュ化とソルトによる不可逆暗号化などはとても大事ですが、それだけでアカウントを守ることは難しい時代になっています。
  • OWASP ASVSの最新版であるv4.0は、多要素認証とリスクベース認証を推奨しています。
  • 多要素認証やリスクベース認証など、これからは複数の手段でアカウントを守ることが普通になります。

年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Share