攻撃側の視点からできるだけまとめる
弱点が全くないシステムをつくるのは大変です。指摘を受けて、あるいは攻撃を受けて初めて気づくことは普通にあることです。だから、この記事の内容がすべて真実なら mixi の対応は「え、まじですか?」と思う次第です。
mixiの脆弱性報告制度について - Shira's blog - http://goo.gl/9IpTC4
こうげき
いろんな攻撃を受けますが、サービス継続するにあたって致命的なのは 顧客情報の流出 だと思います。とにかく、顧客情報を適当に扱ってはいけません。運用ルールでも徹底的にやって、余裕があれば定期的に監査して特に人的な穴をつぶすべきです(メンテや調査のためにDBからダンプしたファイルをその辺に放置する輩はマジ死ね。)
大切にすべき情報
- 名前
- 連絡先関係(住所、電話番号)
- メールアドレス
- クレジットカード情報
会社やサービスに対してダメージを与えようとしたら、DOS攻撃よりも、顧客情報の流出の方が効果があると攻撃者は考えます。DOS攻撃は攻撃側のリソースもかかるので。顧客情報の一発流出を狙います。
DOS攻撃
いやがらせです。いたずら程度の気持ちで、負荷テストツール等で誰でも簡単にできちゃうのが面倒です。最近は若者の間でSkype相手に嫌がらせするためにDOS攻撃をしあうこともあるそうです。怖い世の中になったものです。
オープンなウェブ系のサービスを運用してたら狙われたらどうしようもない攻撃です。ガチ系の人たちにまじで狙われたらしばらくお手上げです。よほどの恨みを買っていない限り、しばらくすれば沈静化するのでIPやら何やらで手前で落とすようにして様子を見ます。
システム自体に負荷がかかるリクエストがある場合(検索等)は、できるだけのことはしておきます。GETは受け付けないとか。TOKEN使ってリクエストを制限するとか。GETを受け付けると、どこかのサイトで タグを自由にコメントに使えるとか、そんなのがあると、それを経由して攻撃を受ける可能性があって超面倒です。
辞書攻撃系(適当な名前がわからん)
個別のユーザー情報を調べるために、パスワードやらメールアドレスやらを
- ログイン画面
- パスワード忘れ画面
を経由して知ろうとします。パスワード忘れ画面で、メールアドレスを入力させて云々の機能がある場合は、そのアドレスが登録されていてもされていなくても同じメッセージを表示するようにするのがまともな実装でしょう。
XSS 的な(XSRFとか)
有名なので何とか対策してください。
ミドルウェアの脆弱性をついた攻撃とか
自分でつくっていない部分に脆弱性がある場合、バージョンアップを忘れていたり、パッチをあてていなかったり、サポート期限が切れていたり、この前のStrutsみたいなことだったりと。システム自体が遅くなるとか落ちるとかならましな方で、任意のコマンドが外部から実行できて、バックドアを設置されるようなことがあると後々面倒です。
気をつけましょう。
バックドアを設置されると終わります。アップデート情報の確認とアップデートはきちんとやりましょう。ゼロデイ攻撃はどうしようもないよなーとは思います。
データベースを狙う話
会社やサービスに致命的なダメージを与えるために、データベースが狙われます。ごっそりデータが取れるので個人情報を個別に抜き出そうとするユーザーアカウントに対するパスワードを辞書攻撃よりも優先されます。データベースに外から直接接続できるようになっていないと思うので、データベースに接続可能なシステムを探します。
- ウェブサーバーやアプリケーションサーバー
- オフィスからのメンテナンス経路(オフィスは結構ざるだよねという話)
SSHで接続できるか?
サーバーのメンテナンスをSSH経由で行うことが多いと思いますが、ウェブサーバーやアプリケーションサーバーにSSHで接続できるようにしていた場合、ある程度の接続制限をかけていると思います。やってなかったらちゃんとやりましょう。
- IPアドレスで接続制限している場合
接続可能なIPアドレスを持ったシステム(または拠点)に侵入することを検討:オフィスのグローバルIPで接続許可している場合、オフィス内に普通の人がいたらその人を狙います。Wifi 飛んでたら、そこから入って、もろい端末狙ったりやファイルサーバーのファイルを実行形式のファイルに書き換えたりとか。
- 証明書で接続可能なユーザー(端末)を制限している場合
けっこう大変(パスワードは何と手を尽くしてわかる可能性もあるが、証明書を取るのは大変)
直接DBに接続できるか?
ときどき、メンテナンス経路で直接DBに接続できるようにしていることがあるらしいです。
続きはまた今度書く(疲れた)、あと推敲して読みやすくする
- スマートホンを使った攻撃
- 管理ツール(管理用画面)を狙った攻撃