この記事では、パスワードについて考えます。よく聞く「英数記号混在で8文字以上」で「定期的に変更しましょう」とよく言われています。これが本当かどうかを考えていきたいと思います。
使っては行けないパスワード
色々なサイトを参考にしながら使ってはいけないパスワードは、こちら
- キーボードの羅列系
- 12345678
- 111111
- abc123
- 1q2w3e4r
- zxcvbnm
- 分かりやすい意味を持つ系
- 生年月日
- qwerty
- lifehack
- password
覚えられないからといって、上記のようなものはいけません(笑)
パスワードは定期的に変更するべきか?
この問題に関しては、「徳丸浩のWebセキュリティ教室(日経BP Next ICT選書)」という本に興味深い記述があった。推測しにくいパスワードを設定していれば、パスワードは定期的に変更する必要が無いというもの。
理由は次の通り。
<利用者がパスワードを変えない場合>
- 最近は、Webサイトに高負荷を書けるとハッキングが直ぐにバレてしまうことが多く、パスワードをハッキングする際は、1秒間に1回総当りでログインを試すのが一般的らしい。10年間1秒に1回ログインしたとしても、攻撃施行回数は3億1600万回数となる。
- パスワードを英数字8文字(大文字小文字混在)とした場合、パスワードの総パターンは、218兆通り。
- パスワードの総パターン / 攻撃試行回数 = 0.0001445%
<利用者がパスワードを定期的に変えた場合>
同じロジックで算出した場合、0.0001436%となる。
この結果から、パスワードを定期的に変更する効果は殆どありません。むしろ、パスワードを盗み見されるリスクを抑えたほうがより、安全です。
但し、本当にパスワードを盗まれていたときは、それを検知できる仕組みを導入しましょう。
SEが考えるべきセキュリティ対策
一般的なことは、IPAのサイトでお勉強するのが良いです。久しぶりに見たら、資料が増えていますね。
最近、情報セキュリティに対して、一般常識となっている事項は、発注者責任を問われるようになっています。資料が増えているのは、SQLインジェクションが一般知識となったためでしょうか。次の攻撃については、事前に対策打つようにしましょう。
- SQLインジェクション
- クロスサイトスクリプティング(XSS)
- ディレクトリトラーバル
- OSコマンドインジェクション
- HTTPヘッダーインジェクション
- セッションハイジャック
- ファイルアップロード機能の脆弱性
- クッキーのセキュア属性の不備
- 認証機能(ログイン)の不備
コメント