生主見聞録

リニューアルしました。好きなことを書きます。

パスクラック対策 <Raven>

2013.01.16 (Wed)
最近パスクラックツールが出回ってるらしく、SkypeやTwitter等を初めとしたアカウントが乗っ取られる被害が増加しておりますので今回はその対策をお教えします。
※本記事に出てくる"クラックと"いう用語はパスワードを解析するの意です


パスクラックの手法


パスクラックを防ぐ為にはパスクラックの手法から理解する必要があります。

仮にSkypeを対象に考えます。
Skypeにはパスワードを決めるに辺りいくつかのルールがあります
・6~20文字
・半角英数字
・英語と数字の両方を使用
※昔登録した人は4文字以上の半角英数字が条件です。

これに対し最も確実的にパスワードをクラックするにはa~z、A~Z、0~9を順に組み合わせて総当りで行います。
例)aaaaa0,aaaaa1,aaaaa2,aaaaa3・・・・aaaaa9,aaaab0・・・・・
この総当たり攻撃のことをブルートフォースアタックと言います。
しかし、ブルートフォースアタックを行ったとしてもパスワードが何桁かと限定されたりしてない限りは時間が掛かり過ぎてしまいそう簡単にクラックすることは出来ません。

そこで有力になってくるのが辞書アタックといわれる攻撃で、先程のように総当たり攻撃では無く、ネット辞書と呼ばれる単語集のような物を組み合わせることによりパターン数を減らした総当たり攻撃が出来ます。
6桁のa~zのアルファベットを総当たりした場合パターン数は26^6通りとなるが、例えばパスの中にravenの文字列が含まれてる事が既に決まっている場合はわずかパターン数は52通りしか無い。
※^は乗数

ネット辞書には常用語等の多くの単語が組まれており、統計的に使われている可能性の高いパターンにより辞書が組まれています。
ネット辞書自体はネットのそこら辺に落ちているので簡単に見つけてくることが出来ます。
また、攻撃したい対象の情報をそこに追記することも簡単にできます。
例)誕生日の19900101という文字列を組み込む。相手のTwitterIDを組み込む。相手のペットの名前を組み込む等。

ちなみにLINUXにあるcrunchというものを使えば簡単に条件に沿ったワードリストが作れるので興味が有る人は自分で作ってみてパターン数等を調べてみてね。
自分で実際に辞書攻撃してみるとどの位、時間が掛かるのかとかもわかり易いと思います。(2018年追記)


辞書アタックに対抗するには


パスクラックを避けたいのならパスワードはなるべく長くして単語として意味の通じない組み合わせを選びましょう。
また最近では多くのパスワードにて記号を用いることが出来るようになっています。
これも活用しましょう。
例)ik)1f%T./e2`r24-3jkL+\^

上記を守ればPC自体が乗っ取られたり、キーロガなどのウイルスを組み込まれたり、パスワードを管理してるサーバー側がクラックされない限りは恐らく乗っ取られることは無いです。

ちなみにTwitterではパスワードの文字数制限が無いらしく、
僕のTwitterパスワード数は200文字以上になっております。


追記(2018)


パスワードは定期的に変えようという話を多く見かけますが、最近ではあれはむしろ危ないから止めたほうが良いという意見が多くなってきました。
またPCに付箋等でパスワードを書いている人がいますがそれらもクラックされる要因の一つになり易いです。(通称:ソーシャルエンジニアリング)

この記事でも「パスワードを管理してるサーバー」について触れていますが、現実問題こういう企業から漏れたメールアドレスやパスワードが多く流出するケースは非常に多いです。
ので流出する可能性も考慮に入れて、サイトやサービスごとに違うメールアドレスとパスワードを使うように心がけましょう。

また、秘密の質問というセキュリティーシステムが流行っていますがあれはバカ正直に答えるものではありません。答えたら簡単にパスワードが再発行できてしまうのであれに関しては「あなたのお父さんの名前は?」「ヒポクラテスの三日月」というように自分にしかわからないような狂った回答にしましょう。

お勧めのパスワードの覚え方は「残酷な天使のテーゼ」という単語に合わせて「znkkntsntz」というように覚えやすいフレーズを利用すると良いですね。
出来ればこれだけではなく助詞の後には記号を入れる。記号の一番目は「)」二番目は「@」のような決まりを作ってもいいと思います。
他にもあえて一文字ずらすという手法もお勧めです。(「シーザー暗号」で検索してみてね)

コメント


管理者のみに表示

トラックバック