応用情報に駆け込んで セキュリティ攻撃方法編
はじめに
セキュリティはそこそこいける。そう思っていた。
間違いだったことに気付かされた。
気づいた割りには努力をしない。
その結果、以下に挙げるリストができたヨ。
順番的には後に掲げたシラバスの抜粋を先に眺めるほうがいいかもしれない。
攻撃方法
1. SQLインジェクション
概要: 攻撃者がWebアプリケーションの入力フォームに悪意のあるSQLクエリを入力し、データベースを操作する攻撃。
目的: データの不正取得、改ざん、削除。
2. クロスサイトスクリプティング(XSS)
概要: 悪意のあるスクリプトを他のユーザーに実行させることで、個人情報の盗難やセッションハイジャックを行う攻撃。
目的: クライアントのブラウザ上で任意のコードを実行させ、ユーザ情報を盗む。
3. クロスサイトリクエストフォージェリ(CSRF)
概要: 被害者が知らないうちに意図しないリクエストを送信し、攻撃者が望む操作を実行させる攻撃。
目的: 認証済みのセッションを利用して、勝手に不正な操作を行う。
4. フィッシング
概要: 偽のWebサイトや電子メールを使って、ユーザーの個人情報や認証情報を騙し取る攻撃。
目的: パスワードやクレジットカード情報などの機密情報を盗む。
5. ディレクトリトラバーサル
概要: サーバー上でアクセス権のないファイルにアクセスするために、ディレクトリパスを不正に操作する攻撃。
目的: サーバーの重要なファイルを不正に読み取る。
6. DoS/DDoS(サービス拒否攻撃)
概要: サーバーに大量のリクエストを送りつけて、サービスを停止させる攻撃。
目的: サービスの停止、リソースの枯渇。
7. パスワードクラック
概要: 辞書攻撃やブルートフォース攻撃などを用いて、ユーザーのパスワードを解析する攻撃。
目的: アカウントの不正使用。
8. セッションハイジャック
概要: 認証が完了してセッションを開始しているブラウザとWebサーバの間の通信において、CookieやセッションIDなどのセッション情報を盗むことで、対象セッションを通信当事者以外が乗っ取る攻撃。
目的: ユーザーの権限を悪用して、システムに不正アクセスする。
9. リプレイ攻撃
概要: 過去に通信されたデータを再送信し、正規の通信として扱わせる攻撃。
目的: 古い認証情報やトランザクションを悪用する。
10. 中間者攻撃(MITM攻撃)
概要: 通信経路に割り込み、データを盗聴したり改ざんしたりする攻撃。
目的: 通信内容の傍受、改ざん、偽装。
11. ゼロデイ攻撃
概要: 脆弱性が公開されて修正が行われる前に、その脆弱性を悪用して攻撃する。
目的: システムの脆弱性を突いて不正アクセスする。
12. ソーシャルエンジニアリング
概要: 人間の心理的な隙を突いて、パスワードや重要な情報を騙し取る手法。
目的: 人的要素を利用して機密情報を取得する。
13. ランサムウェア
概要: コンピュータのデータを暗号化し、元に戻すための身代金を要求するマルウェア。
目的: 金銭的な要求や業務妨害。
14. ボットネット
概要: 多数のコンピュータをウイルス感染させ、遠隔操作で一斉に攻撃を行うネットワーク。
目的: DDoS攻撃やスパム送信、不正な情報収集。
15. メール不正中継攻撃(Open Mail Relay Attack)
概要: 第三者中継を許している公開メールサーバを第三者が不正に利用して、スパムメールや不正なメールを大量に送信する攻撃。
目的: スパムメールや詐欺メールの大量送信、サーバーリソースの不正利用など。
16. DNSリフレクション攻撃/DNSアンプ攻撃
概要: 外部からの名前解決要求を受け付けフルリゾルバサービス(非再帰的問合せによる名前解決とキャッシング)を行う脆弱性をもつ多数のDNSサーバを踏み台にして、攻撃対象に大量のDNS応答パケットを送り付けるDDoS攻撃。
目的: DDoS攻撃の踏み台にする。「増幅攻撃(Amplification Attack)」を行う。
パスワードクラック
1. ブルートフォース攻撃
概要: すべての可能なパスワードを一つずつ試していく方法。
特長: 確実にパスワードを見つけることができるが、試行する組み合わせが多いため時間がかかる。
対策:
長く複雑なパスワードを使用する。
アカウントロックアウト機能(一定回数以上の失敗でアカウントを一時ロック)を実装する。
2. 逆ブルートフォース攻撃(ブルートフォース攻撃関連)
概要: 特定のよく使われるパスワードを、複数のアカウントに対して試行する攻撃手法。攻撃者は「123456」や「password」といった簡単なパスワードを使い、多数のアカウントで試みる。
特長: アカウントごとにパスワードを試すので、アカウントロック機能が有効に働かないことが多い。
対策:
強固なパスワードポリシーを設定し、簡単なパスワードの使用を禁止する。
パスワードの監査や強制変更を定期的に行う。
3. 辞書攻撃
概要: パスワードに使われやすい単語のリスト(辞書)を使い、そのリストに基づいて順番にパスワードを試す方法。
特長: 単純なパスワードや一般的な単語を使用したパスワードが容易に破られる。
対策:
辞書に載っているような簡単な単語を使わない。
英数字・記号を組み合わせたパスワードを設定する。
4. レインボーテーブル攻撃
概要: ハッシュ化されたパスワードをクラックする手法で、ハッシュ値と元のパスワードの対応表(レインボーテーブル)を使用してパスワードを特定する。
特長: ハッシュ化されたパスワードでも、レインボーテーブルがあれば迅速にクラック可能。
対策:
ソルトを使ってハッシュ化を行う。
強力なハッシュアルゴリズムを使用する。
5. クレデンシャルスタッフィング
概要: 他のサービスから流出した認証情報を使い回し、別のサービスでログインを試みる方法。多くのユーザーが同じパスワードを複数のサイトで使用するため有効。
特長: ログイン試行回数が少ないため、ロックアウト機能を回避する可能性がある。
対策:
二要素認証(2FA)を導入する。
パスワードの再利用を避ける。
6. パスワードリスト攻撃(クレデンシャルスタッフィング関連)
概要: 流出したパスワードリストを使い、複数のアカウントに対してログインを試みる攻撃手法。パスワードを使い回しているアカウントが攻撃対象となる。
特長: ロックアウト機能を回避しやすく、特に使い回しパスワードが狙われる。
対策:
パスワードの使い回しを避け、強固なパスワードを使用する。
二要素認証(2FA)を活用する。
7. ヒューマンインターフェース攻撃
概要: 攻撃者がユーザーの入力するパスワードを直接観察する方法(肩越しに見たり、キーロガーを仕込んだりする)。
特長: テクニカルな手法を使わずに情報を取得できる。
対策:
キーロガー対策ソフトを使う。
パスワードを入力する際、周囲に注意する。
8. ショルダーハック(ヒューマンインターフェース攻撃関連)
概要: 攻撃者がユーザーの肩越しに覗き込んでパスワードや入力情報を盗む手法。公共の場でのパスワード入力時にリスクが高い。
特長: 物理的に接近して視覚的に情報を盗むため、簡単だが攻撃者が近くにいる必要がある。
対策:
パスワード入力時に周囲を注意し、できるだけ他人から隠すように工夫する。
9. サイドチャネル攻撃
概要: 通常の通信経路ではなく、ハードウェアやソフトウェアの副次的な動作(消費電力、電磁波、処理時間など)を観察して情報を盗む攻撃手法。
特長: 暗号化などによって直接的に攻撃を防ぐのが難しい環境でも、システムの動作やタイミング情報を利用して機密情報を得ることができる。特に、コンピュータの電磁波や消費電力の変動、音声信号などを分析して暗号鍵を盗む例もある。
対策:
サイドチャネル攻撃を防ぐためのハードウェア設計や、動作に関するランダム化を実装する。
外部環境の制御や、信号漏洩を防ぐためのシールドなどを利用する。
10. パスワードリセット攻撃
概要: パスワードリセット機能を悪用して、不正にパスワードをリセットする攻撃。リセット時に必要な情報(秘密の質問など)を突破して行われる。
特長: 攻撃者は新しいパスワードを設定してシステムに不正アクセスできる。
対策:
強固なセキュリティ質問を設定する。
多要素認証やメール認証を使ってリセットプロセスを強化する。
11. フィッシング攻撃によるパスワードクラック
概要: 攻撃者が偽のWebサイトやメールを使って、ユーザーにパスワードを入力させる手法。パスワードクラックの一種としては、ユーザー自身から直接パスワードを引き出す。
特長: 社会的技術(ソーシャルエンジニアリング)を利用してパスワードを得るため、技術的防御では防げないケースもある。
対策:
フィッシング対策ソフトの使用。
不審なリンクやメールをクリックしない。
12. バースデイ攻撃
概要: 暗号理論に基づき、ハッシュ関数の衝突を利用してパスワードを見つける攻撃方法。特にMD5やSHA-1などの古いハッシュアルゴリズムに対して有効。
特長: 暗号の数学的性質を悪用するため、特定の条件下で強力な攻撃手法。
対策:
安全なハッシュアルゴリズム(SHA-256やSHA-3)を使用する。
補足: パスワードクラックに対する総合的な対策
複雑なパスワード: 英字(大文字・小文字)、数字、記号を組み合わせた長いパスワードを使用する。
多要素認証(MFA): パスワードに加えて、別の認証手段(SMS、トークン、指紋認証など)を導入することで、パスワード漏洩だけでは不正アクセスを防ぐ。
パスワードマネージャーの利用: パスワードを安全に管理し、同じパスワードを複数のサービスで使わないようにする。
定期的なパスワード変更: パスワードを定期的に変更し、流出した場合のリスクを低減する。
ハッシュとソルトの適切な使用: データベースに保存するパスワードは必ずハッシュ化し、ソルトを追加することで攻撃者がパスワードを容易にクラックできないようにする。
これらの手法と対策を理解しておくことが、試験対策や実際のセキュリティ対策において非常に重要です。
だってさ。
補足: DNSサーバを狙った攻撃に関する用語
Aレコード: ドメイン名をIPアドレス(IPv4)に対応付けるレコード。IPv6はクアッドA(AAAAアドレス)を使う。
逆引きDNSレコード(PTRレコード): IPアドレスからドメイン名を対応づけたレコード。逆引きDNSレコード。
SOAレコード: ゾーンに関する重要な情報群。DNSファイルが更新されるたびにシフトするシリアル番号もここに保持されている。
ゾーン転送: プライマリDNSサーバとセカンダリDNSサーバ間でDNS情報の同期を行うこと。
DNSキャッシュポイズニング: DNSサーバーを汚染して、誤ったサイトに誘導する攻撃。Aレコードの書き換え。
でもって、これが情報試験のシラバスからのセキュリティ関連抜粋。
シラバス
1. 物理的セキュリティ
監視カメラ: 施設内外の監視や録画に使用されるカメラ。
セキュリティゲート: 許可された人のみが通過できるように設置されるゲート。
アンチパスバック: 同じカードでの連続入退室を防止するセキュリティ機能。
施錠管理: 施錠状況を管理して、不正な侵入を防ぐための対策。
入退室管理: 誰がいつ施設に出入りしたかを記録し管理するシステム。
耐震耐火設備: 地震や火災から施設を守るための設備。
2. ネットワークセキュリティ
パケットフィルタリング: 通信パケットをチェックし、特定の条件で許可またはブロックする技術。
ステートフルパケットフィルタリング: 通信の状態を追跡し、不正なパケットをブロックする技術。
MACアドレスフィルタリング: 特定のデバイスのみがネットワークにアクセスできるようにする技術。
VPN(Virtual Private Network): 公共のインターネットを使ってプライベートな通信を行う技術。
ハニーポット: 攻撃者を引き寄せてその行動を監視するためのシステム。
リバースプロキシ: クライアントの代わりにリクエストを処理し、サーバーを保護する技術。
3. 認証・アクセス制御
IPsec: ネットワーク上での通信を暗号化し、安全に保つプロトコル。
SSL/TLS: インターネット上でデータを暗号化して安全に通信するためのプロトコル。
SSH: 遠隔のコンピュータに安全に接続するためのプロトコル。
OAuth: 外部サービスの認証を安全に行うための認証技術。
DNSSEC: DNSの改ざんを防止するためのセキュリティ拡張機能。
RADIUS: ネットワークアクセスを集中管理するためのプロトコル。
4. 技術的セキュリティ
マルウェア対策ソフト: コンピュータウイルスやマルウェアからシステムを守るソフトウェア。
EDR(Endpoint Detection and Response): 端末の不正な動作を検知し対応するセキュリティ技術。
SIEM(Security Information and Event Management): セキュリティ情報を収集・分析して脅威に対応するシステム。
ファイアウォール: 外部ネットワークからの不正なアクセスを防ぐための防御システム。
IDS(Intrusion Detection System): 不正アクセスや侵入を検知するシステム。
UTM(Unified Threat Management): 複数のセキュリティ機能を統合した総合セキュリティシステム。
5. リスク管理とインシデント対応
リスクアセスメント: 企業やシステムに対するリスクを評価するプロセス。
リスクコントロール: 発生したリスクを軽減するための対策を講じること。
サイバー保険: サイバー攻撃による損害に対して保険をかけること。
コンティンジェンシー計画: 緊急時に備えた対応計画。
復旧計画: 災害や事故からシステムを復旧するための計画。
インシデントハンドリング: サイバー攻撃などの事件発生時に適切に対処するプロセス。
6. 攻撃方法
パスワード攻撃
辞書攻撃: 辞書にある単語を使ってパスワードを推測する攻撃。
総当たり(ブルートフォース)攻撃: 可能なすべての組み合わせを試してパスワードを割り出す攻撃。
リバースブルートフォース攻撃: 共通のパスワードを使って、複数のアカウントに不正アクセスする攻撃。
レインボーテーブル攻撃: あらかじめ計算されたハッシュ値のテーブルを使ってパスワードを解読する攻撃。
パスワードリスト攻撃(クレデンシャルスタッフィング): 他のサイトから流出したパスワードを使って不正アクセスする攻撃。
Webアプリケーション攻撃
クロスサイトスクリプティング(XSS): 悪意のあるスクリプトをWebページに埋め込む攻撃。
クロスサイトリクエストフォージェリ(CSRF): 利用者が意図しない操作を強制する攻撃。
クリックジャッキング: ユーザーをだまして不正なリンクをクリックさせる攻撃。
ドライブバイダウンロード: ユーザーが気づかないうちに悪意のあるソフトウェアをダウンロードさせる攻撃。
SQLインジェクション: 不正なSQLクエリを送ってデータベースに攻撃する手法。
OSコマンドインジェクション: OSのコマンドを実行させるために悪意のある入力を行う攻撃。
ディレクトリトラバーサル: システムのファイルやディレクトリに不正にアクセスする攻撃。
バッファオーバーフロー: メモリの容量を超えるデータを書き込んでシステムを破壊する攻撃。
オープンリダイレクトの悪用: 悪意のあるサイトに誘導するためにリダイレクト機能を悪用する攻撃。
ネットワーク攻撃
中間者(Man-in-the-middle)攻撃: 通信を盗聴し、データを改ざんする攻撃。
MITB(Man-in-the-browser)攻撃: ブラウザをハイジャックして、通信を盗聴または改ざんする攻撃。
IPスプーフィング: 他人のIPアドレスを偽装して通信する攻撃。
DNSキャッシュポイズニング: DNSサーバーを汚染して、誤ったサイトに誘導する攻撃。
セッションハイジャック: 有効なセッションを乗っ取って不正にアクセスする攻撃。
リプレイ攻撃: 正常な通信を盗み、後で再送して不正アクセスを行う攻撃。
サービス妨害攻撃
DoS(Denial of Service)攻撃: サーバーに過剰な負荷をかけてサービスを停止させる攻撃。
DDoS(Distributed Denial of Service)攻撃: 複数のコンピュータから一斉にDoS攻撃を仕掛ける方法。
リフレクション攻撃: サーバーの応答を使って第三者に攻撃を仕掛ける手法。
クリプトジャッキング: 他人のコンピュータを使って無断で暗号通貨を採掘する攻撃。
標的型攻撃
APT(Advanced Persistent Threat): 長期間にわたって標的に攻撃を仕掛け、情報を窃取する手法。
水飲み場型攻撃: 特定のユーザーがよく訪れるサイトを攻撃し、感染させる手法。
やり取り型攻撃: 標的とのやり取りを通じて徐々に不正アクセスを行う攻撃。
SEOポイズニング: 検索エンジンの結果に悪意のあるサイトを上位表示させる攻撃。
こっちのほうを先に読むべきだよね。
この記事が気に入ったらサポートをしてみませんか?