「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

パスワードスプレー攻撃

pointこの用語のポイント

pointIDとパスワードを盗むときの手法だよ

point「いくつかのIDに対してパスワードを1つ決めて片っ端から試す→ダメだったらパスワードを変えて試す(のを何回かやる)→それでもダメだったらIDの候補を変えて試す」やり方だよ

pointリバースブルートフォースアタックと同じだと言う人もいるし、違うと言う人もいるよ

スポンサーリンク

簡単に書くよ

パスワードスプレー攻撃(読:パスワードスプレーコウゲキ 英:password spraying)とは

IDとパスワードの組み合わせを盗み出すときの やり方のひとつ
であり

例えば、ID「1」と「2」と「3」にパスワード「p1」を試す、ダメだったらパスワードを変えてID「1」と「2」と「3」にパスワード「p2」を試す、ダメだったらIDを変えてID「4」と「5」と「6」にパスワード「p1」を試す、ダメだったらID「4」と「5」と「6」にパスワード「p2」を試す……のように、いくつかのIDに対して同じパスワードを試し、ダメだったらパスワードを変えて同じことをやり、何回か試してダメだったらIDの候補を変えて試す やり方
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「ブルートフォースアタック総当たり攻撃」と「リバースブルートフォースアタック逆総当たり攻撃」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ブルートフォースアタック総当たり攻撃は「総当たりで試していくぜ!」なパスワード暗号の解読方法です。
悪い人がパスワードとかを解析するときに(専用のソフトを使って)やります。
「オラオラオラオラ!」な心意気で片っ端から全部 試していく やり方です。

パスワードスプレー攻撃

例えば、そうですね。
4桁の暗証番号が付いている鍵が あったとしましょう。
それぞれ0から9までの数字が選べます。

パスワードスプレー攻撃2

暗証番号として設定される可能性があるのは「0000」から「9999」までの どれかです。
それ以外の可能性は ありません。

それなら「0000」「0001」「0002」……「9997」「9998」「9999」と地道に全部 試していけば、どこかで当たります。

パスワードスプレー攻撃3

それを実際にやるのがブルートフォースアタックです。
「力技、ここに極まれり!」って感じですね。

パスワードスプレー攻撃4

IDとパスワードの組み合わせであれば、IDを1つ決めて、可能性のあるパスワードを片っ端から試していきます。
例えば、ID「1」に対してパスワードを「0000」「0001」「0002」……「9997」「9998」「9999」と試すような やり方です。

パスワードスプレー攻撃5

リバースブルートフォースアタック逆総当たり攻撃は「ブルートフォースアタック(総当たり攻撃)の逆」です。

ブルートフォースアタックでは

1つの「ID」に対して、すべての「パスワード」を片っ端から試す

やり方をします。

パスワードスプレー攻撃6

それに対して、リバースブルートフォースアタックでは

1つの「パスワード」に対して、すべての「ID」を片っ端から試す

やり方をします。

パスワードスプレー攻撃7

例えば、パスワード「0000」に対してIDを「1」「2」「3」……と試すようなやり方がリバースブルートフォースアタックです。

パスワードスプレー攻撃8

リバースブルートフォースアタックのメリット……と書いて良いのか分かりませんが、ブルートフォースアタックより優れている点は「おまえ、何回も間違ったから使えなくするよ!」にやられないことです。

パスワードの入力に対しては「3回連続で間違ったら使えなくするよ。また使えるようにしてほしかったら直接 電話してこいよ」みたいな制約が付いていることも多々あります。
この場合、ブルートフォースアタックは使えません。
パスワードの全部の組み合わせを試す前に使えなくされてしまうからです。

リバースブルートフォースアタックでは、この制約を突破できてしまいます。
1つのIDに対するパスワードの入力は1回だからです。
試すのが1回なので「3回連続で間違ったら使えなくするよ」の制約に引っかかりません。

これがリバースブルートフォースアタックがブルートフォースアタックより優れている点です。

以上を踏まえて

1.IDをいくつか決めて、それぞれのIDに同じパスワードを試す
2.ダメだったらパスワードを変えて同じことをする
3.何回かやってダメだったらIDの候補を変えて同じことをする


パスワードの破り方が「パスワードスプレー攻撃」です。

……と、言葉で説明されても分かりにくいですよね。
実際の例を見てみましょう。

例えば、IDを「1」「2」「3」と決めたとします。

パスワードスプレー攻撃9

このID「1」「2」「3」に対して、パスワード「0000」を試します。

パスワードスプレー攻撃10

どれも一致しませんでした。
次は、ID「1」「2」「3」に対して、パスワード「0001」を試します。

パスワードスプレー攻撃11

どれも一致しませんでした。
次は、ID「1」「2」「3」に対して……ちょっと待ってください。
同じIDに対して3回間違えたら、使えなくなるかもしれません。
IDを変えましょう。

次はID「4」「5」「6」に対して、パスワード「0000」を試します。

パスワードスプレー攻撃12

どれも一致しませんでした。
次は、ID「4」「5」「6」に対して、パスワード「0001」を試します。

パスワードスプレー攻撃13

どれも一致しませんでした。
次は、ID「4」「5」「6」に対して……ちょっと待ってください。
同じIDに対して3回間違えたら、使えなくなるかもしれません。
IDを変えましょう。

次はID「7」「8」「9」に対して、パスワード「0000」を試します。

パスワードスプレー攻撃14

……というのを繰り返していく やり方がパスワードスプレー攻撃です。

パスワードスプレー攻撃15

よく分からない人はIDが並んだキャンバスにパスワードをプシューとスプレーしていくイメージを持つと良いと思います。

パスワードスプレー攻撃16

まずは、ID「1」「2」「3」のあたりにパスワード「0000」をプシューとスプレーします。

パスワードスプレー攻撃17

次に、ID「1」「2」「3」のあたりにパスワード「0001」をプシューとスプレーします。

パスワードスプレー攻撃18

次に、ID「4」「5」「6」のあたりにパスワード「0000」をプシューとスプレーします。

パスワードスプレー攻撃19

次に、ID「4」「5」「6」のあたりにパスワード「0001」をプシューとスプレーします。

パスワードスプレー攻撃20

そんな感じのイメージです。

取り上げておいて なんですが、パスワードスプレー攻撃の定義は結構あいまいです。
人によっては「リバースブルートフォースアタックと同じだよ」と説明しています。

確かに「複数のIDに対して同じパスワードを試す」という点に着目すれば、パスワードスプレー攻撃とリバースブルートフォースアタックは同じように見えます。

パスワードスプレー攻撃の説明で

1.ID「1」「2」「3」にパスワード「0000」を試す
2.ID「1」「2」「3」にパスワード「0001」を試す
3.ID「4」「5」「6」にパスワード「0000」を試す
4.ID「4」「5」「6」にパスワード「0001」を試す
5.ID「7」「8」「9」にパスワード「0000」を試す
6.ID「7」「8」「9」にパスワード「0001」を試す


のような例を挙げました。

パスワードスプレー攻撃21

これは、見方によっては

リバースブルートフォースアタックを6回やっているだけ

と解釈できます。

パスワードスプレー攻撃22

一方で、単純にリバースブルートフォースアタックをやるのであれば

1.ID「1」「2」「3」「4」「5」「6」「7」「8」「9」にパスワード「0000」を試す
2.ID「1」「2」「3」「4」「5」「6」「7」「8」「9」にパスワード「0001」を試す


と試す方が効率的です。
わざわざチマチマ分ける必要が ありません。

パスワードスプレー攻撃23

この「チマチマ分ける」がポイントだと考える人もいるでしょう。

チマチマ分けることで、攻撃間隔を空けたり、攻撃元を変えるのが(リバースブルートフォースアタックと違う)パスワードスプレー攻撃の醍醐味だ!

という解釈です。

パスワードスプレー攻撃24

あるいは

リバースブルートフォースアタックを(パスワードを変えて)複数回やるのがパスワードスプレー攻撃

と解釈する人もいるようです。

パスワードスプレー攻撃25

あるいは、そうですね。

私は最初パスワードスプレー攻撃について調べたとき

ブルートフォースアタックとリバースブルートフォースアタックの複合技

っぽい印象を受けました。
パスワードスプレー攻撃でやっていることは

複数のIDに複数のパスワードを試す(のをIDの候補を変えて何回もやる)

です。

パスワードスプレー攻撃26

これは「複数のIDに1つのパスワードを試す」リバースブルートフォースアタックっぽい攻撃です。

パスワードスプレー攻撃27

一方で「1つのIDに複数のパスワードを試す」ブルートフォースアタックっぽい攻撃でもあります。

パスワードスプレー攻撃28

そんな感じで、どこに注目するかによって、定義付けが変わったり、説明の内容が変わったりする用語です。
混乱しないように頑張ってください。


image piyo2

一言でまとめるよ

まぁ「パスワードスプレー攻撃」って単語が出てきたら「いくつかのIDに対して同じパスワードを試し、ダメだったらパスワードを変えて試し、ダメだったら候補のIDを変えて試す、パスワードの破り方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像076
書籍画像008

おまけ

■訳してみるよ

「password(パスワード)」は「pass(パス)」+「word(ワード)」です。
「pass(パス)」の意味は「通る」とか「通過する」とか「合格する」とかです。
「word(ワード)」の意味は「語」とか「単語」とかです。
「spray(スプレー)」の意味は「噴霧」とか「噴出」とか「スプレー」とかです。
「攻撃」は日本語ですね。
何となく くっつけると

通るための単語を噴出する攻撃

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
あたえる人があたえられる
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け