第30話「パスワード、使い回してない?」
テクノロジ系 / セキュリティ ── テーマ:パスワードへの攻撃・Webへの攻撃と対策
▶ マンガで読む(無料・登録なし)この話で覚える用語(7語)
- ブルートフォース攻撃ぶるーとふぉーすこうげき
- パスワードとして考えられる文字の組合せを、片っぱしからすべて試す攻撃。総当たり攻撃ともいう。短く単純なパスワードほど破られやすい。
- パスワードリスト攻撃ぱすわーどりすとこうげき
- 別のサイトから流出したIDとパスワードの組を使い、ほかのサイトへのログインを試す攻撃。同じパスワードを使い回している人が狙われる。
- SQLインジェクションえすきゅーえるいんじぇくしょん
- Webアプリケーションの入力欄に、データベースを操作する命令(SQL)を混ぜた文字列を入力し、データを不正に盗んだり書き換えたりする攻撃。
- クロスサイトスクリプティングくろすさいとすくりぷてぃんぐ
- Webサイトの脆弱性を利用して、悪意のあるスクリプトを、そのサイトを見た人のブラウザで実行させる攻撃。XSSと略す。
- DDoS攻撃でぃーどすこうげき
- 多数の機器から一斉に大量の通信を送りつけ、サーバやサービスを使えなくする攻撃。1台から行うものはDoS攻撃。どちらも可用性を損なう。
- ゼロデイ攻撃ぜろでいこうげき
- ソフトウェアの脆弱性が見つかってから、修正プログラムが提供されるより前に、その脆弱性を突く攻撃。
- WAFわふ
- Web Application Firewall。Webアプリケーションへの通信を調べ、SQLインジェクションやクロスサイトスクリプティングなどの攻撃を検知して防ぐしくみ。
試験に出るポイント
- ブルートフォース=ぶるっと震えるほど全部試す総当たり
- 辞書攻撃=「ありがちな単語」を辞書引きして試す
- リスト攻撃=よそで漏れた流出リストで合鍵さがし
- 使い回し=合鍵を配って歩くのと同じ。家もSNSも会社も全部開く
- 対策:長く複雑に/使い回さない/アカウントロック/多要素認証
- 全組合せを試す → ブルートフォース(総当たり)/単語を試す → 辞書攻撃
- 漏れたID・パスワードを別サイトで試す → パスワードリスト攻撃(対策:使い回さない)
- 入力欄からデータベースを不正に操作 → SQLインジェクション
- 悪意のスクリプトを閲覧者のブラウザで実行 → クロスサイトスクリプティング
- 大量の通信でサービス停止 → DoS/DDoS(可用性が損なわれる)
- 修正プログラム公開前の脆弱性を突く → ゼロデイ攻撃/Webアプリを守る → WAF
確認クイズ(ITパスポート試験の形式)
- ほかのサイトから流出したIDとパスワードの組を使い、別のサイトへのログインを試みる
- 考えられるすべての文字の組合せを順番に試す
- 辞書にある単語やよく使われる文字列を順に試す
- 利用者をだまして偽のサイトにパスワードを入力させる
答えと解説を見る
正解:ア ほかのサイトから流出したIDとパスワードの組を使い、別のサイトへのログインを試みる
流出した組を、使い回しているサイトで試すのがリスト攻撃。全組合せは総当たり、単語を試すのは辞書攻撃、偽サイトでだますのはフィッシングです。
- SQLインジェクション
- クロスサイトスクリプティング
- DDoS攻撃
- ゼロデイ攻撃
答えと解説を見る
正解:ア SQLインジェクション
データベースへの命令を混ぜるのがSQLインジェクション。クロスサイトスクリプティングは閲覧者のブラウザでスクリプトを動かす攻撃です。
- 機密性
- 完全性
- 可用性
- 真正性
答えと解説を見る
正解:ウ 可用性
大量の通信でサービスを使えなくするので、「使いたいときに使える」可用性が損なわれます。
マンガのセリフ(文字版)
月曜の朝
ミライ「私のSNS、知らない人にログインされてた…パスワードは会社のと同じなのに…」
ツカサ先輩「会社と同じ!?今すぐ会社のパスワードも変えるんだ!」
ツカサ先輩「どこかで漏れたIDとパスワードを、別のサイトで試す。パスワードリスト攻撃だ」
ミライ「使い回しを狙われたんだ…」
ツカサ先輩「ブルートフォース攻撃は、ダイヤル錠を0000から全部回すようなものだ」
ツカサ先輩「だから長く複雑にする。何回か間違えたら止めるアカウントロックも効く」
ミライ「リスト攻撃には、とにかく使い回さないこと!」
ミライ「じゃあ「mirai1」「mirai2」「mirai3」…これで使い回しじゃない!」
ツカサ先輩「ほぼ同じだ!サイトごとにまったく別のパスワードにしろ!」
ツカサ先輩「覚えきれないならパスワード管理ソフトを使う手もある」
- ブルートフォース=ぶるっと震えるほど全部試す総当たり
- 辞書攻撃=「ありがちな単語」を辞書引きして試す
- リスト攻撃=よそで漏れた流出リストで合鍵さがし
- 使い回し=合鍵を配って歩くのと同じ。家もSNSも会社も全部開く
- 対策:長く複雑に/使い回さない/アカウントロック/多要素認証
その夜――
???「人だけじゃない。Webサイトの入力欄だって入口になるのさ…」
翌日
ツカサ先輩「入力欄にデータベースへの命令を混ぜ、不正に操作するのがSQLインジェクションだ」
ミライ「名前を書く欄に、命令を書いちゃうんですか!?」
ツカサ先輩「クロスサイトスクリプティングは、悪意のあるスクリプトを見た人のブラウザで動かす攻撃だ」
ツカサ先輩「どちらも作る側が入力をチェックして、弱点(脆弱性)をふさぐのが基本だ」
ツカサ先輩「さらに、Webへの攻撃を見張って止める専用の門番がWAFだ」
ミライ「ファイアウォールの、Web専門版ですね!」
その日の午後
部長「アクセス殺到でサイトが開かん!大人気でバズったか!?わはは!」
ツカサ先輩「喜んでる場合じゃありません!DDoS攻撃かもしれません」
ツカサ先輩「大量の通信を送りつけて、サービスを止める攻撃です」
ミライ「DoSとDDoSは、何が違うんですか?」
ツカサ先輩「1台から攻めるのがDoS、たくさんの機器から一斉に攻めるのがDDoS」
ツカサ先輩「サイトが使えなくなるから、損なわれるのは可用性だ」
ツカサ先輩「弱点が見つかって、修正プログラムが出る前に突くのがゼロデイ攻撃だ」
ミライ「サイトを見ただけで感染する、っていうのも聞きました…」
ツカサ先輩「ドライブバイダウンロードだな。OSやブラウザを最新にして防ぐ」
ミライ「パスワードは全部バラバラに変えました!多要素認証もオンです!」
ツカサ先輩「上出来だ。攻撃の名前と、防ぎ方をセットで覚えよう」
- 全組合せを試す → ブルートフォース(総当たり)/単語を試す → 辞書攻撃
- 漏れたID・パスワードを別サイトで試す → パスワードリスト攻撃(対策:使い回さない)
- 入力欄からデータベースを不正に操作 → SQLインジェクション
- 悪意のスクリプトを閲覧者のブラウザで実行 → クロスサイトスクリプティング
- 大量の通信でサービス停止 → DoS/DDoS(可用性が損なわれる)
- 修正プログラム公開前の脆弱性を突く → ゼロデイ攻撃/Webアプリを守る → WAF
翌朝
部長「パスワードを40文字にしたぞ!忘れんよう付箋で画面に貼った!」
ミライ「それ、第1話で私が怒られたやつです!」
ツカサ先輩「付箋は今すぐシュレッダーへ…」