セキュリティ(ログイン機構への攻撃)について調べた事
最近、機会があって調べたWebアプリケーションのログイン機構に対する攻撃手法とその対策について 備忘録として残しておこう。 いかに記載した対策は調べて分かった部分と自分で考えた部分がごっちゃになっているので 今後、実際にシステムに取り入れる際には根拠と効果について考察する必要がある。
基本的にな考え方
- 攻撃者は最小限のコストで最大の成果を得たい(by 徳丸さん)
- それを阻害するようなシステム上の仕組みが望ましい
- コスト度外視の攻撃を防ぐのは非常に困難。
上記をふまえて以下に見て行く。
ブルートフォースアタック
特徴
- ログイン試行を繰り返す
- アカウントを固定しパスワードの辞書攻撃
- 辞書を試行仕切ったら次のアカウント(アカウントもランダムもしくは辞書)
対策
- ログイン試行回数によるアカウントロック
- ロック解除の機構が大事
- 攻撃頻度が高いと多くのアカウントがロックされ閉めだされてしまう
リバースブルートフォースアタック
ブルートフォースアタックとの違いを理解しておいた方が良く、かつセットで覚えると覚えやすいと思う。
特徴
- パスワードに設定されやすいパスワードを固定でユーザーアカウントを変えながら攻撃する
- アカウントロック機構が役に立たない。
- 一種の辞書攻撃
対策
- パスワードの複雑さをシステムの制約として仕込む
- IP によるログイン試行カウントでのロック機構
- プロキシ等の制約あり
他にも攻撃手法があるかも。 とりあえず調べた範囲のみ記載。