サイバー攻撃の仕組み入門

「大手企業のサイトがDDoS攻撃でダウン」「病院がランサムウェアで診療停止」――ニュースで聞くサイバー攻撃には、いくつかの基本パターンがあります。本記事では、ニュース理解に直結する代表的な攻撃手法を、仕組みごとに整理します。

そもそもサイバー攻撃とは

サイバー攻撃とは、コンピュータやネットワークを使って、企業や個人の情報・サービスに不正にアクセス・妨害する行為の総称です。狙いは大きく分けて、お金(身代金・カード番号)、情報(個人情報・営業秘密)、政治的主張や嫌がらせ(サービス妨害)の3つです。攻撃者は1人の犯罪者から、組織化された集団、国家が関係するとされる集団までさまざまです。

サイバー攻撃は、映画のように天才が一瞬で侵入するものばかりではありません。実際には、古いソフトを更新していない、パスワードを使い回している、偽メールを開いてしまう、といった小さなすき間から入られることが多いです。だから攻撃の仕組みを知る目的は、真似をすることではなく、どこを守ればよいかを理解することにあります。

代表的な6つの攻撃パターン

代表的なサイバー攻撃:狙い・標的・有名な事例 出典:IPA「情報セキュリティ10大脅威」、各種ニュース報道 攻撃名 狙い 主な標的 有名な事例 DDoS サービス妨害 サイトをダウン 復旧費・売上機会損失 企業・政府サイト EC・銀行・ゲーム 2022 ロシア政府サイト 2018 GitHub攻撃 ランサムウェア 金銭目的 身代金要求 数百万〜数億円 病院・自治体・大企業 バックアップ薄い組織 2022 大阪急性期医療C 2017 WannaCry SQLインジェクション 情報窃取 DBから情報抜き取り 個人情報・カード番号 古いWebサイト 対策不足のフォーム 2011 Sony Pictures SQL対策不備で7700万件流出 フィッシング 情報詐取 偽サイトで情報入力させる パスワード・カード番号 個人ユーザー全般 子どもも狙われる 毎月数万件発生 フィッシング対策協議会 標的型攻撃 機密窃取 特定企業を長期で狙う 技術情報・設計図 大企業・防衛産業 研究機関 2015 日本年金機構 125万件流出 サプライチェーン攻撃 迂回侵入 取引先経由で本体を狙う 中小企業からの侵入 大手の下請け企業 小規模で対策が薄い 2020 SolarWinds事件 米政府機関に侵入 ▶ 子どもが個人として遭遇するのは「フィッシング」が圧倒的多数。他は組織を狙うものが多い
図1:代表的なサイバー攻撃の比較。子どもが遭遇するのはフィッシングが多く、他は組織への攻撃が中心

仕組み:DDoS攻撃の例

SQLインジェクションの仕組み(実コードで見る) 入力欄に特殊な記号を入れると、データベースの命令を「上書き」できてしまう × 危険なコード(対策していないログイン処理) # PHP・Pythonの古いコードでよく見るパターン user = request.get("user") # 入力欄から取得 pwd = request.get("pass") sql = "SELECT * FROM users WHERE name='" + user + "' AND pass='" + pwd + "'" ↑ ユーザーの入力をそのままSQL文に連結=危険 攻撃者が入力する文字列 user: admin'-- pass: なんでも ○ 安全な書き方(プレースホルダー使用) cursor.execute("SELECT * FROM users WHERE name=? AND pass=?", (user, pwd))
図2:SQLインジェクションの実例。ユーザー入力をそのままSQLに連結すると、認証を回避されてしまう

DDoS(分散型サービス妨害)は、ハッカーが事前に乗っ取った数千〜数百万台のPCやIoT機器(防犯カメラなど)から、ターゲットのサーバーへ同時に大量アクセスを送り、サーバーをパンクさせる攻撃です。お店に1秒間に10万人が押し寄せたら捌けないのと同じ。家庭用ルーターや古い防犯カメラがボットネットの一部になっている可能性もあるので、ファームウェアの更新は他人事ではありません。

SQLインジェクションの仕組み

Webサイトのログイン欄に、特殊な記号を入れることでデータベースから情報を抜き取る攻撃です。例えば「password' OR '1'='1」のような文字列を入れると、サイトの作りが甘いとパスワードチェックを通り抜けてしまうことがあります。世界中のWebサービスで毎日のように試されており、対策の甘いサイトから個人情報が大量流出する事件は今も続いています。

防ぐ側では、入力された文字をそのままSQL文として扱わないことが基本です。プレースホルダーやプリペアドステートメントという仕組みを使うと、ユーザー入力を「命令」ではなく「ただの文字」として扱えます。Webアプリを作るときに、ログイン画面や検索欄を軽く考えないことが重要です。

おすすめの守り方

個人レベルでできる防御は、結局これまでの記事の積み重ねです。OSとアプリのアップデート、強いパスワードと二段階認証、怪しいリンクを踏まない、フリーWi-Fiでログインしない。サイバー攻撃の多くは、こうした「基本ができていない」ところから侵入します。逆に基本さえ固めれば、個人を狙った攻撃の大半は防げます。

学習として攻撃の仕組みを試したい場合は、必ず合法な練習環境を使います。CTF、学習用の仮想マシン、自分で作ったWebアプリ、明確に許可されたバグバウンティだけが安全な場所です。学校や友達のサイト、知らない会社のログイン画面、家庭のWi-Fi以外のネットワークで試すのは、好奇心でも違法になる可能性があります。

気をつけたい落とし穴

サイバー攻撃の知識でありがちな誤解
  • 「自分のような子どもは狙われない」と思い込む。実際は無差別ばらまきが大半で年齢関係なし
  • 「ウイルス対策ソフトを入れたから安心」と過信する。ゼロデイ攻撃には対応できないこともある
  • 「興味本位で攻撃ツールを試す」のは絶対NG。日本では不正アクセス禁止法違反で逮捕事例多数

将来どう役立つ?

サイバー攻撃の仕組みを知ることは、攻撃を仕掛ける側ではなく「防御できるエンジニア」になる第一歩です。セキュリティは、Web開発、ネットワーク、クラウド、学校や会社の情報管理など、ほとんどのIT分野に関係します。今のうちに基本パターンを覚え、CTF(セキュリティの大会)などに挑戦すると、進路やポートフォリオで説明しやすい経験になります。

今日からできること

3ステップで始めよう
  1. JPCERT/CCやIPAのサイトを開いて、最新の攻撃ニュースを月1回チェック
  2. 使っているPC・スマホ・ルーターのファームウェアを最新にアップデート
  3. 「picoCTF」などセキュリティ大会を調べて、興味があれば参加してみる

まとめ

サイバー攻撃にはDDoS・SQLインジェクション・ランサムウェア・ゼロデイ・標的型・サプライチェーンなど多様な手法があります。個人レベルではOSの更新・強いパスワード・二段階認証・怪しいリンクを踏まないという基本で大半を防げます。攻撃側のツールを試すのは犯罪なのでせず、防御側のスキルを磨くと進路の選択肢が広がります。

確認 攻撃の仕組みを学ぶ目的は?