今回は以下のニュースを見かけて、多少に気になったので記事にしていきます。
・パスワードスプレー攻撃が大量発生中 – ウェブメールなど標的に
なお、内容については個人的な見解も入りますので認識に相違がある可能性がございますので、予めご了承ください。
ニュースの概要
同センターによると、オーストラリア国内の組織に対する大規模なパスワードスプレー攻撃が展開されているという。外部へ公開されている「ウェブメール」や「リモートデスクトップアクセス」「Active Directoryフェデレーションサービス(ADFS)」などが標的となっていた。
同国外に対する攻撃状況については言及していないが、国をまたがって攻撃が展開されている可能性もあり、注意が必要だ。
さて、今回「パスワードスプレー攻撃」という単語が出てきましたね。
こちらは「ブルートフォース攻撃」の一種とのことです。
ちなみにこういった攻撃手法はIPA試験の午前1や午前2で出題されやすいものですので、ちゃんと覚えておくと資格試験にも役に立つかも!
ちなみに「総当たり」や「辞書」、「リスト型」といったものもあります。
簡単にそれぞれ解説しますので、覚えておくと助かる時がくるかもしれません。
それぞれの攻撃手法の解説
総当たり攻撃
文字の長さが増えれば増えるほど指数的(比例じゃないですよ!)に増えていくので、文字列が長いほどクラッキングに物凄い時間がかかる。
一つのIDに対して膨大な量の試行を行う。
少し古い情報ですがIPAより以下の表が出ていました。
ちなみにWebアプリケーション等ではあまり見かけない攻撃手法ですね。
ZIPファイルなどの暗号化されたファイルを複合化するのには用いられると思いますが、実際のサーバに対してはアクセス数が物凄く増えますので見つかりやすいです。
辞書攻撃
使用する辞書によるが一つのIDに対してかなりの試行を行う。
ペネトレーションテストなどを行う際に実際にやったりする手法ですね。
もちろん攻撃者も同じように攻撃してくる可能性がありますので注意してください。
自分の管理するサーバが心配な方はKaliLinuxだとhydra等で試してみることができますね。(今度記事にしてみようかなと)
リスト型攻撃
パスワードを使いまわしていた場合、いくら長いパスワードを設定していても攻撃者に取得されてしまっていたら認証を突破できてしまう。
一つのIDに対しての試行は多くない。
この攻撃は非常によく聞く攻撃です。7Payもこの攻撃でやられたとか・・・(これだけじゃないと思うが)
・7pay不正アクセスの原因は「リスト型攻撃の可能性が高い」 7iDパスワードを一斉リセット
他にもたくさんあります。
・クロネコメンバーズで不正ログイン被害 リスト型攻撃で3467件の個人情報流出か
・ユニクロ・GUの通販サイトにリスト型攻撃、不正ログイン46万件 氏名や住所、身体のサイズなど流出
IPAに分かり易い図がありまたので紹介します。(流石IPA、感謝!)
攻撃で使用するリストは他サーバ取得したものや販売されているもの等、色々なパターンがあります。
強度の高いパスワード設定していても使い回しをしているとダメな場合もあるので、このブログでも何度か載せてますが、パスワードの使い回しはやめましょう!
パスワードスプレー攻撃
内容については以下を読んだうえで記載しています。(Google翻訳を駆使!)
・Trustwave:Simplifying Password Spraying
パスワードスプレー攻撃については特定のよく使用されるパスワード(例だと「Password1」や「Summer2017」)を使用しているユーザを特定する手法。よって値の変更はパスワードではなくIDを変更して試行する。一通りIDを確認し終わったら次のパスワードの値で試行といった具合に試行していく。
また、アカウントロック等の回避も想定されており、時間間隔を数分から数十分に設定してゆっくりと攻撃を行ったりすることから「low-and-slow攻撃」とも言われる。
時間は非常にかかりますが、攻撃者は複数のサービスに対して同時(並列)に攻撃を行うため、時間当たりだとそれなりの数の試行をすることができるみたいですね。
また、この攻撃手法だと管理者側も攻撃に気付かない可能性も多いとのことです。
サイトではGitも公開されているみたいなので、今度使用してみようかなと。(悪さをするわけではないですよ。)
パスワードスプレー攻撃の対策
ユーザ側での対策としては以下の二点が重要です。
・パスワードの使い回しはしない
・簡単なパスワード「passw0rd」等ではなく、ランダムなパスワードを使用する
パスワードスプレー攻撃にだけではなく、どこでも言われている内容かと思いますが効果的な対策ですね。
サイト側については色々ありますが、効果的なのは「多要素認証」ではないでしょうか。
パスワードの他に「Google Authenticator」のような物を使用するなどすることで、パスワードが突破されてしまった場合の最後の砦として活用できる可能性があります。(追加で実装する場合は大変そうですが・・・)
また、攻撃手法の研究を行い、検知パターンの改良を行うことも重要かと思います。(一定期間にどんな振る舞いをしているかをチェックし、攻撃か否かを判断する等。)
守る側としては非常に大変だとは思いますが、攻撃側が常に狙っているということを意識してやっていかないといけないですね。
不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。
コメント