サイバー攻撃の種類について学習した話(標的型攻撃・DDoS・XSS・CSRFまで)
はじめに
情報処理安全確保支援士試験の対策として、標的型攻撃、マルウェア、DoS/DDoS系の攻撃、中間者攻撃、Webアプリケーションへの攻撃(XSS/CSRF/ディレクトリトラバーサル)などをまとめて学習したので整理します。
標的型攻撃
特定の組織や個人を狙い、機密情報を盗むことを目的とした攻撃。成功率が高い分、コストも高い。不特定多数を狙うフィッシングメールのような「ばらまき型」攻撃とは対照的な位置付け。
攻撃の流れ
- 攻撃対象の情報収集
- 攻撃メールの送付
- ウイルスに感染させ、情報を攻撃者のサーバへ流出させる
対策:侵入を許してしまった後の「出口対策」が重要。内部から外部への通信の監視、機密データの暗号化などが挙げられる。
マルウェア
| 種類 | 特徴 |
|---|---|
| コンピュータウイルス | 実行ファイルやデータファイルに寄生する |
| ボット | 攻撃者の指示に従って行動する |
| ワーム | 単独で存在し、自ら増殖する |
| ランサムウェア | コンピュータを使用不能にし、身代金を要求する |
| トロイの木馬 | ひっそりと実行の機会を待ち、特定のタイミングで攻撃する |
攻撃ツール
| ツール | 特徴 |
|---|---|
| バックドア | 攻撃者が自由に再アクセスするための入口プログラム |
| ルートキット | ログの改ざんなど、不正アクセスの証拠を消す |
| キーロガー | キーボードの入力内容を記録する |
ウイルス対策ソフトの機能
- ウイルススキャン機能
- ウイルス隔離機能
- ウイルス駆除機能
ウイルス検出方法
- パターンマッチング:定義ファイルのパターンと一致した場合に検知する
- 静的ヒューリスティックスキャン:対象ファイルを実際には動かさずにスキャンし、怪しい特徴があれば検知する
- 動的ヒューリスティックスキャン:コンピュータに影響のない範囲で実際に動作させ、マルウェアかどうかを判断する
検疫ネットワーク
端末を社内LANに接続する際、セキュリティ上問題がないかを確認するためのネットワーク。検疫サーバで検査・隔離・治療を行う。
DHCP方式
- DHCPサーバが、まず検疫ネットワーク用のIPアドレスを端末に配布する
- 検査に合格すると、DHCPサーバが社内LAN用のIPアドレスを付与し直す
注意点:端末に社内用IPを手動で設定されてしまうと、検疫を回避されてしまう。
認証スイッチ方式
- 認証スイッチのポートに検疫ネットワーク用のVLANを割り当て、まず検疫ネットワークに接続させる
- 検査に合格すると、そのポートを社内LAN用のVLANにスイッチングし直す
DoS/DDoS系の攻撃
DDoS攻撃
ボットネットを介して発信元を分散させながら、大量のリクエストを送りつける攻撃。
DRDoS攻撃
攻撃対象のIPアドレスになりすまし、不必要なリクエストを多数の公開サーバへ送りつける。すると各公開サーバから攻撃対象へ一斉に応答が返るため、それ自体がDoS攻撃になる。踏み台となるコンピュータを乗っ取る必要がないのが特徴。
EDoS攻撃
ターゲットが従量課金制のサービスを利用している場合に、不必要なリクエストを送り続けることで金銭的な負担を負わせる攻撃。
Smurf攻撃
ICMP(ping)の仕組みを悪用する攻撃。
- 攻撃対象になりすまし、ブロードキャストドメインに対してpingのエコー要求を送る
- ドメイン内の多数の端末から、なりすました攻撃対象へ一斉にエコー応答が返る
対策:ICMP通信を通過させないこと。
DNSアンプ攻撃
攻撃対象のIPアドレスになりすまして、公開されているキャッシュDNSサーバへ問い合わせを送る。DNSは要求よりも応答のデータサイズが大きくなるため、攻撃対象への応答トラフィックが「増幅」される。
DNS水責め攻撃
存在しないサブドメインに対して大量に問い合わせを行う攻撃。キャッシュDNSサーバ側にキャッシュが存在しないため、毎回コンテンツDNSサーバへの問い合わせが発生し、コンテンツDNSサーバに大量の負荷をかけられる。
DNSはUDPを使うため送信元IPアドレスの偽装が容易であり、かつ外部に公開されているサービスであることから、これらの攻撃の標的になりやすい。
中間者攻撃(MITM)
攻撃者がユーザとサーバの通信経路の間に入り込み、盗聴や改ざんを行う攻撃。
対策:サーバ証明書・クライアント証明書による相互認証。
MITB(Man in the Browser)
Webブラウザ自体を乗っ取り、通信内容を盗聴・改ざんする攻撃。
- 改ざん後のデータをサーバ側が受信するうえ、ID・パスワード自体は正規のものであるため、サーバ側での検知が難しい
- 対策:サーバにデータを送る際、スマートフォンなど別経路でトランザクション内容を通知することで、利用者本人が異変に気付けるようにする
サイドチャネル攻撃
ハードウェアの動作状況を物理的に観測することで、暗号鍵などの機密情報を盗み出す攻撃。消費電力・電磁波・エラー発生時の挙動などを観測・解析する。
| 種類 | 手法 |
|---|---|
| タイミング攻撃 | 平文から暗号文への変換にかかる処理時間から機密情報を推測する |
| 電力解析攻撃 | 暗号処理時の消費電力の変化から機密情報を推測する |
| 故障利用攻撃 | 意図的にエラーを発生させ、その際の挙動から機密情報を推測する |
| テンペスト攻撃 | 機器から漏れる電磁波を取得し、その内容から画面表示を再現する |
ソーシャルエンジニアリング
技術的手段ではなく、人の心理や行動の隙を突いて情報を盗む手法。
- ショルダーハッキング:背後から画面や入力を盗み見る
- スキャベンジング:ゴミ箱を漁って情報を得る
- 警告詐欺:偽の警告表示などで偽サイトへ誘導する
- 警察やシステム管理者を装って、電話などで機密情報を聞き出す手口もある
フィッシング/スミッシング
- フィッシング:メールでなりすましサイトへ誘導し、認証情報を盗み取る
- スミッシング:SMSを使ってフィッシングサイトへ誘導する手口
ARPポイズニング
ARPは、IPアドレスからMACアドレスを調べるための仕組みだが、ARPには認証機能がない。この弱点を悪用し、偽のARP応答で通信経路の情報を汚染することで、通信を攻撃者経由に迂回させる攻撃。
クロスサイトスクリプティング(XSS)
脆弱性のあるWebサイトを経由して、閲覧者のブラウザ上で悪意のあるスクリプトを実行させる攻撃。偽の情報が表示されたり、Cookie情報が流出したりする。
対策:エスケープ処理。<や>など特別な意味を持つ記号を、意味を持たない文字列に置き換える。
クロスサイトリクエストフォージェリ(CSRF)
ログイン中のセッションIDを悪用し、利用者本人が意図しない操作を勝手に実行させる攻撃。
攻撃の流れ
- 攻撃者が掲示板などに罠リンクを設置する
- サーバAにログイン済みの利用者がそのリンクをクリックし、脆弱性のあるサイトへアクセスする
- 利用者がサーバAにログイン済みであるため、意図せずパスワード変更などのリクエストが自動的に送信されてしまう
- サーバA側でリクエストが処理され、変更が実行される
- サーバAが「リクエストを受け付けた」旨の応答をクライアントに返す
対策:リクエストにトークン情報を含めること。これにより、正規の画面遷移から送られたリクエストか、罠リンク経由のリクエストかを判別できる。
ディレクトリトラバーサル
フォルダ階層をさかのぼり、本来アクセスできないはずの任意のファイルにアクセスしてしまう脆弱性。Webアプリは複数のフォルダで構成されているが、パス指定の解釈に問題があると発生する。上位のディレクトリまでさかのぼった後、目的のファイルを直接指定することで内容を盗み見られてしまう。
対策
- ファイル名にディレクトリ名(パス情報)を含めないようにする、ユーザ入力からファイル名を直接指定するような実装を避ける
- アクセス権限の設定を正しく管理する
おわりに
一つひとつは知っていた攻撃名でも、「なりすまし」「増幅」「経路の乗っ取り」といった共通の切り口で整理し直すと、DDoS系の攻撃(DRDoS/DNSアンプ)やMITM/MITB/ARPポイズニングの違いがすっきり頭に入りました。引き続き学習を進めていきます。