情報セキュリティ過去問平成27年春午後Ⅰ問3の学習です。

情報セキュリティ過去問平成27年春午後Ⅰ問3

情報セキュリティ過去問平成27年春午後Ⅰ問3

今回は、パスワード攻撃について学習します。

パスワード攻撃

  1. 類推攻撃(誕生日、恋人やペットの名前などから推測)
  2. 辞書攻撃(辞書に載っている単語などから推測)
  3. 総当り攻撃(すべてのパスワードを試す。究極の攻撃。)

パスワードを平文でそのまま保存することはありません。一般的にハッシュ関数(MD5やSHA-1、SHA-2)によってハッシュ値として保存されます。今回はこのハッシュ値が漏えいした状況下での設問でした。

ハッシュ関数は入力値をある一定長のデータとして出力する関数です。例えばSHA-256を使えば、入力値に関係なく出力値は256ビット長になります。また、不可逆性なので、出力値から入力値を求めることはできません。

しかし、あらかじめパスワードなどの平文(入力値)からそれに対応するハッシュ値(出力値)を計算し、それらを対応表にして、ハッシュ値からパスワードを推測する攻撃、レインボーテーブルなるものが存在しています。販売もされているようです。

今回の設問ではこのレインボーテーブルによる攻撃を少しでも食い止めるためにソルト(salt)対策を活用していました。

《ソルト》

パスワードからハッシュ値を求めるとき、元のパスワードの前後に付加する、任意の文字列をソルト(salt)といいます。
単純にパスワードが長くなったみたいなものですね。

〔効果〕

  • パスワードの強化。
  • レインボーテーブルの探索を妨害。

攻撃者からするとソルトの数だけレインボーテーブルを作る必要があり、さらに、平文(ソルト付きのパスワード)がわかってもソルトの部分を判断して取り除く手間が加わりかなりの労力を要します。
パスワードやソルトが複雑であればあるほどパスワード攻撃は難しくなります。

〔弱点〕

総当り攻撃には効果がありません。

そこで、次のストレッチング対策が有効になります。今回の設問では触れられていませんでした。

《ストレッチング》

ハッシュ計算を何回も(1000回〜数万回)繰り返すこと。

〔効果〕

ハッシュ関数の低速化。

そもそもハッシュ関数は高速処理が売りなのですが、何回も計算させることでわざと計算処理を遅くして、攻撃の時間稼ぎをしているのです。

〔弱点〕

何回も計算させるので、サーバの負荷が増大します。つまり、認証ページなどパスワードを必要とする場所で、同時に多数アクセスされるとDoS攻撃に悪用されます。

《まとめ》

もし、6文字程度の貧弱パスワードのハッシュ値が漏えいしたことがわかったら、すぐにパスワードを変更すべきです。レインボーテーブルは簡単に作成できるからです。総当り攻撃も楽勝です。しかし、10文字(ソルト付き、またはソルト+ストレッチング付き)くらいのパスワードなら、レインボーテーブルの作成はほぼ不可能です。ハッシュ値が漏えいしても緊急事態とはいえません。たっぷりと対策を取る時間は稼げそうです。そうなると、パスワードを定期的に変える意味があまり感じられませんね。

そもそもハッシュ値が漏えいした時点で、おもらしパソコンにバックドアが仕込まれている可能性の方が大きいので、パスワードを変えても後の祭りです。システムを再構築しなければなりません。

もうひとつパスワード攻撃への対策として暗号化も十分効果がありますが、システムのroot権限が奪取された場合は暗号キー(プライ ベートキー)も攻撃側に渡るので安全ではありません。しかし、パスフレーズでプライベートキーを保護していればよいのではと私は考えます。それでも、漏え いしたとわかればキーは交換ですね。

パソコンを危険から守るには、言い尽くされていますが、ウィルス対策、複雑なパスワード設定とシステムのアップデートを豆にするということですね。もちろん、不審なファイルは開かないは常識です。

それ以前に業務用(顧客情報満載)のパソコンがパスワードフリーだったり、パスワードを付箋に書いて貼っていたり、サポートに行くと結構いらっしゃいますわ!(怖〜っ!)

もっと強者は、「ネットにつなげとらんけん、なーもせんでよか!」と豪語される経営者。もちろん、ウィルス定義ファイル更新もシステムのアップデートもしていません。でも、USBやCDメディアは普通に使っています。

大丈夫か中小企業のマイナンバー管理?絶対無理!
(個人的にはマイナンバー制度は気に入っているのですが、漏れるのを前提にシステムを構築しておいたほうが安全のような気がします。というかマイナンバーそのものが漏れてもすべての個人情報が漏れるわけではないような。ただ悪用する奴はどこにでもいるからなぁ。…上記設問内容とは無関係です。)