メニュー

社員ブログ

2026年の情報漏洩はなぜ起きた

はじめに

先日、2026年の紅白歌合戦の出場歌手も発表され
いよいよ今年も残り1ヶ月半

今年は顧客情報の漏洩のニュースを本当によく目にしました。
写真や連絡先、買い物の履歴など、
私たちは毎日たくさんのデータをネットのサービスに預けています。
「自分が使っているサービスは大丈夫なんだろうか」と、
心配になりませんか?

とはいえ、それぞれの漏洩が「なぜ起きたのか」「実際に何が起きたのか」を、
私たちはどこまで理解しているでしょうか。
私自身、なんとなくの理解でした……。
そこで、2026年に国内で起きた主な漏洩を調べて、
まとめてみました。

調べてみて分かったのは、
被害の大きさを決めたのは「最初にどこを破られたか」よりも、
次の3つだったということです。

  • 入られた後に、どこまで手が届いたか(権限の広さ)
  • そもそも、どれだけのデータを持っていたか(データの持ちすぎ)
  • 漏れ続けている間、気づけたか(検知の早さ)

この記事では、事例を「どの段階の守りが抜けたか」で6つに分けて、
何が起きたのかを整理します。
本文は専門知識がなくても読めるように書き、
技術的な話は「エンジニア向けメモ」の枠にまとめました。
エンジニアでない方は、この枠を読み飛ばしても大丈夫です。

※事例は、各社の公表と報道をもとにしています。
侵入の詳しい方法は、
二次被害を防ぐために公表されていないことも多く、
この記事で「推測」「一般的な仕組み」と書いた部分は、
確定した事実ではありません。

そもそも「脆弱性」とは?

脆弱性とは、ひとことで言えば「本来できてはいけないことが、できてしまう欠陥」のことです。
今回の事例に出てくるものは、大きく4つのタイプに分けられます。

  • 入力をうのみにする:銀行の申込用紙の氏名欄に「ついでに金庫を開けて」と書かれていたら、普通の行員は無視します。それを書かれたとおりに実行してしまうのが、このタイプです
  • 確認が抜けている:マンションの玄関はオートロックなのに、部屋ごとのドアに鍵がない。一度中に入れば、他人の部屋まで入れてしまう状態です
  • 設定を間違える:仕組みそのものは正しくても、設定のしかたで、見せてはいけないものを見せてしまう
  • 保管のしかたが甘い:パスワードなどの大事な情報を、盗まれたらそのまま使える形で保管している

6つに分けると、こうなる

ここでは、事例を「どの段階の守りが抜けたか」という1つの軸で分けました。
会社の建物にたとえると、玄関、建物そのもの、受付、部屋の鍵、
日々の管理、外部の業者、の6段階です。

抜けた守り建物でいうと事例
① 入口(ネットワークの境界)玄関政府機関の業務基盤
② ソフトの欠陥建物の壁や窓画像共有サービス、ネット通販事業者、カーシェアサービス、ISP向けメール基盤
③ ログイン(本人確認)受付複数社が使うFAQシステム
④ ログイン後の権限確認部屋ごとの鍵保険会社のWebサービス
⑤ 設定・運用日々の管理電子チケットサービス
⑥ 委託先・共通基盤外部の業者多くの通販サイトが使うEC基盤

なお、1つの事例が複数の段階にまたがることもあります。
たとえば③のFAQシステムは、
利用企業から見れば⑥の「委託先」でもあります。
ここでは、最初に破られた段階で分けています。

被害の「数」と「重さ」は別もの

ニュースでは件数の大きさが目立ちますが、
件数は事例ごとに数え方が違います。
「アカウント数」「人数」「延べ件数(同じ人の重複を含む)」は、
そのまま比べられません。

また、同じ1件でも、メールアドレスだけが漏れるのと、
口座情報や本人確認書類の画像が漏れるのとでは、
被害の重さがまったく違います。
そこで、件数とあわせて「特に重い情報」と「漏れ方」を並べました。

事例規模(単位)特に重い情報漏れ方
政府機関の業務基盤約24.6万件(主に氏名・メールアドレス)大量のファイルにアクセス
画像共有サービス約2,362万アカウント
(うち約1,801万は匿名)
画像の撮影場所などの位置情報一晩で一気に
ネット通販事業者約17万件住所・購買履歴侵入の6日後に一括で
カーシェアサービス約660万アカウント本人確認書類の画像 約160万件非公表
ISP向けメール基盤メールアドレス約1,223万件そのまま使えるパスワード 約762万件約1か月続いた
FAQシステム延べ最大約71万件問い合わせの内容一晩(約12時間)
保険会社のWebサービス約440万人口座情報 約22万人約15日間、漏れ続けた
電子チケットサービス最大107人分カード番号の下4桁約40時間、他人に表示
EC基盤延べ約885万件カード情報の一部、店舗のパスワード約2か月半、漏れ続けた

「漏れ方」を見ると、2つのタイプがあることが分かります。

  • 一気に持ち出されるタイプ(画像共有サービス、ネット通販事業者など):気づいたときには、もう持ち出された後です。被害の大きさは、入った先で何に手が届いたかと、どれだけのデータを持っていたかで決まります
  • 少しずつ漏れ続けるタイプ(保険会社、EC基盤など):漏れている間に気づければ、そこで止められます。被害の大きさには、気づくまでの時間が大きく効きます

① 入口(VPN)を破られる

政府機関の業務基盤(9月公表)

どこに職員が使う政府共通の業務基盤の入口にある、VPN機器。VPNは、外から内部のネットワークに入るための「玄関」の装置です
何が起きたかVPN経由で侵入され、システムの保守を担当する人のアカウントを使って、大量のファイルにアクセスされた。6月25日に異常を検知し、7月9日にVPN経由の侵入だったと判明した
どこまで漏れたか約24.6万件。職員など約18.9万件と、業務で関わる事業者や個人約5.7万件。主に氏名とメールアドレスで、一部は電話番号や住所も含む。マイナンバー、口座情報、一般国民の情報は含まれない
何がまずかったか玄関を通った後、保守担当者のアカウント1つで、大量のファイルまで手が届いてしまったこと

仕組み:なぜVPNから入られるのか

※侵入の詳しい方法は公表されていないため、
同じような事例で一般的に使われる仕組みとして説明しています。

VPN機器は「玄関」なので、
誰でもインターネットから玄関の前まで来られる場所に置かれています。
攻撃者は、この玄関の機器そのものの欠陥を狙います。

  1. 欠陥のある機器を探す:インターネット上のVPN機器を自動で調べ、修正されていない機器を見つける
  2. ログイン前の画面に細工した通信を送る:欠陥があると、パスワードの確認を飛ばして中に入れたり、機器の上で好きな命令を実行できたりする
  3. 機器の中から「合鍵」を盗む:VPN機器には、ログインした人の情報や接続中の通行証が保存されている。これを盗めば、正規の担当者になりすませる
  4. 本物の担当者として中を歩き回る:盗んだアカウントで入るので、システムからは「いつもの担当者が作業している」ようにしか見えない

保守担当者は多くのシステムを触る立場なので、
そのアカウントを使われると、
一気に広い範囲へ手が届いてしまいます。

対策のヒント:守りが固い仕組み

「玄関さえ守れば、中は安全」という考え方をやめ、中に入った後も、
アクセスのたびに「誰が・どの端末から・何をしようとしているか」を確認する
やり方があります。
あわせて、アカウントごとの権限を必要な範囲だけに絞っておけば、
1つのアカウントを使われても、何でも見られる状態にはなりません。

エンジニア向けメモ

SSL-VPNなどの境界機器は、インターネットに公開され、
かつ内部への入口になるため、
認証前に悪用できる脆弱性が出ると即座に狙われます。
修正版の適用を最優先にするのは当然として、次の点が効きます。

  • 機器のログを外部に転送する:侵入者は機器内のログを消すことが多いため、ログは別の場所に送って保管する
  • 特権アカウントを常設しない:保守用の強い権限は、作業のときだけ申請・承認して一時的に付与する(特権ID管理)
  • VPNからの移行を検討する:ネットワーク単位ではなく、アプリ単位で毎回認証・認可するゼロトラスト型のアクセス(ZTNA)に寄せる

② ソフトの欠陥を突かれる

同じ「ソフトの欠陥」でも、自社のプログラムの欠陥、修正の遅れ、
まだ誰も知らない欠陥と、中身はさまざまです。
共通しているのは、欠陥のあった場所から、
顧客のデータまで手が届いてしまった
ことです。

画像共有サービス(9月):送られたデータを「命令」として実行してしまった

どこに利用者が画像をアップロードする受付のサーバー
何が起きたか外から送られたデータを、サーバーが「命令」として実行してしまう欠陥を突かれ、サーバーを乗っ取られた。そこから顧客のデータベースを読み出された。9月11日の夜に異常を検知し、12日の未明までに遮断した
どこまで漏れたかアカウント約2,362万件(うち約1,801万件はメールアドレス未登録の匿名ユーザー)。パスワードは、元に戻せない形でのみ漏れた。画像に付いていた情報約4.9億件(アップロード元のIPアドレス、撮影場所の位置情報、画像内の文字を読み取ったテキストなど)。さらに後日、削除済みの画像の付属情報約1.74億件なども流出していたと発表された
何がまずかったか外に開いた受付のサーバーから、顧客データまで手が届いたこと。そして、利用者が削除した画像の情報まで残していたこと

仕組み:なぜ「命令」として実行されてしまうのか

画像をアップロードすると、サーバーは裏側で、
サイズの変更や文字の読み取りなどの処理をします。
このとき、サーバーの中では「このファイルを、この形式に変換せよ」といった命令文を組み立てて実行しています。

問題は、その命令文の中に、利用者が送ってきたデータを、
そのまま差し込んでしまう作りになっている場合です。

  • 本来の命令:「photo.jpg を縮小せよ」
  • 細工したデータを送ると:「photo.jpg を縮小せよ。ついでに、この攻撃用のプログラムを実行せよ」

サーバーは、どこまでがデータで、
どこからが命令なのかを区別できず、後半まで実行してしまいます。

サーバーを乗っ取ると、攻撃者はその中を自由に見られます。
サーバーには多くの場合、
データベースに接続するためのIDとパスワードが保存されています。
それを読み取れば、サーバーになりすまして、
顧客のデータベースから情報を引き出せてしまいます。

※データベースに到達した具体的な方法は公表されていないため、
後半は一般的な流れとして説明しています。

ネット通販事業者(8月):直す前に突かれた

どこに社内で売上の分析に使うツール
何が起きたかすでに知られていた欠陥を、修正を適用する前に突かれた。8月10日の深夜に侵入が始まり、6日後の8月16日の夕方から夜にかけて、データを一括でダウンロードされた
どこまで漏れたか約17万件の氏名・住所・電話番号・メールアドレス・購買履歴など。一部はSNSや特定のサイトに公開された
何がまずかったか修正版があったのに、適用が間に合わなかったこと。そして、分析ツールから顧客データをまとめて取り出せる状態だったこと

仕組み:なぜ「直す前」に狙われるのか

メーカーが修正版を出すと、
同時に「この部分に欠陥がありました」という情報も公開されます。
利用者に早く直してもらうためには必要なことですが、
攻撃者にとっては「ここに穴がある」という地図にもなります。

  1. 修正の中身を調べる:修正版と古い版を比べれば、どこを直したかが分かり、攻撃の方法を作れる
  2. 直していない相手を探す:インターネット上で、まだ古い版のままの相手を自動で探す
  3. 攻撃する:修正版が出てから数日で攻撃が始まることも珍しくない

さらに、売上の分析ツールは、
分析のために顧客データを広く読める権限を持っていることがよくあります。
ツールに入られると、ツール本来の「データを書き出す機能」で、
まとめてダウンロードできてしまいます。

※どの欠陥が使われたかは公表されていないため、
一般的な流れとして説明しています。

カーシェアサービス(9月):退会した人の本人確認書類まで

どこにWebシステム(欠陥の内容は非公表)
何が起きたか侵入されたうえで、データベースとファイルの保管場所にアクセスされた
どこまで漏れたか約660万アカウントの氏名・住所・生年月日・電話番号・メールアドレス・免許情報など。さらに、免許証や住民票の写し、学生証などの本人確認書類の画像約160万件。パスワードは元に戻せない形で保存されていた
何がまずかったか退会後もデータを7年間保管するルールだったため、すでに退会した人の分まで漏れたこと。発覚後、退会時にすぐ削除するルールに変更された

仕組み:Webシステムの穴から、どうやって中まで入るのか

※侵入の詳しい方法は公表されていないため、
同じような事例で一般的に使われる仕組みとして説明しています。

Webシステムは、利用者が入力した内容を受け取って、
データベースに問い合わせたり、ファイルを保存したりしています。
代表的な穴が、入力欄に、
データベースへの命令文を紛れ込ませる手口
です。
システムがそれを区別せずにデータベースへ渡してしまうと、
「この人の情報を見せて」という問い合わせが、
「全員の情報を見せて」に書き換わってしまいます。

ほかにも、画像の代わりに攻撃用のプログラムをアップロードして実行させる、
システムに組み込んだ古い部品の欠陥を突く、
といった入り口がよく使われます。

一度Webサーバーを操れるようになると、
サーバーが持っているデータベースや、
ファイルの保管場所に入るための鍵
を盗めます。
サーバーは本来、本人確認書類の画像などを扱うための鍵を持っているので、
それを使えば中のデータに手が届いてしまうのです。

ISP向けのメール基盤(6月):メーカーも知らなかった穴

どこに通信事業者が、複数のプロバイダー(ISP)向けに提供するメールの基盤。そこに組み込まれていた他社製のソフト
何が起きたかソフトのメーカーも把握していなかった欠陥(ゼロデイ)を突かれた。不正アクセスは、5月16日から6月17日まで約1か月続いた
どこまで漏れたかこの基盤を使う6社の、メールアドレス約1,223万件とパスワード約762万件
何がまずかったか国から、パスワードに暗号化などの対策が取られていなかった点を指摘された。盗まれた時点で、パスワードがそのまま使える状態だった

仕組み:なぜゼロデイは防げないのか

「ゼロデイ」とは、メーカーがまだ欠陥に気づいておらず、
修正版が出るまでの日数が「0日」の状態の欠陥のことです。
攻撃者だけが先に欠陥を見つけているため、修正版も、
攻撃を見分けるルールもまだありません。
正しく運用していても、侵入そのものは防ぎようがないのです。

だからこそ、入られた後の守りが重要になります。
パスワードが元に戻せない形で保存されていれば、仮に盗まれても、
元のパスワードを知るのは非常に難しくなります。

対策のヒント:守りが固い仕組み

  • 修正版が出たら、すぐに適用する:特に、インターネットから届く場所にあるソフトは最優先で
  • 部品から顧客データへ、直接手が届かないようにする:外からのデータを扱う部品と、顧客データを置く場所を分け、それぞれの権限を絞る
  • パスワードは元に戻せない形で保存し、データは暗号化する
  • いらないデータは持たない:退会者のデータや、削除された画像の情報を持ち続けた事例は、「持たないデータは漏れない」という教訓そのものです

エンジニア向けメモ

画像処理サーバー:画像や動画の変換は、
外部コマンドや変換ライブラリを呼び出す実装が多く、
過去にも画像処理ライブラリで深刻なコマンド実行の脆弱性が見つかっています(2016年のImageTragickなど)。
コマンドはシェル経由で文字列として組み立てず、引数を配列で渡す。
変換処理は外部への通信を制限した隔離環境で動かし、
そこにはデータベースの認証情報を置かない。
Exifなどの位置情報は、
保存前に取り除くかどうかを方針として決めておく、
といった設計が有効です。

社内ツール:BIツールのような社内ツールは、
インターネットから直接到達できる場所に置かず、
社内の認証基盤の背後に置きます。
分析用の接続は、本番ではなく読み取り専用の複製に向け、
個人情報の列は伏せる。
大量の書き出しには上限と通知を設けておくと、
一括ダウンロードの段階で止められる可能性があります。

Webシステム:SQLは必ずプレースホルダで組み立てる。
ストレージへのアクセスは、サーバーに長期の鍵を置くのではなく、
権限を絞った一時的な認証情報で行う。
保管期間を過ぎたデータは自動で削除する仕組みにしておく、
といった対策が基本です。

メールのパスワード保存:今回の原因は公表されていませんが、
一般論として、メールの世界には「サーバーが元のパスワードを知っていないと使えない」古い認証方式があります(POP3のAPOPや、CRAM-MD5など)。
こうした方式との互換性のために、
パスワードを元に戻せる形で持たざるを得ない、
というのが業界の構造的な課題です。
古い認証方式を廃止し、
暗号化された通信の上での認証やアプリ専用パスワードに移行することが、
根本的な対策になります。

③ ログイン(本人確認)を突破される

複数の企業が使うFAQシステム(10月)

どこに問い合わせ対応に使うFAQシステムの、提供会社の管理画面
何が起きたか10月2日(金)の夜8時半ごろから、翌朝8時ごろまで、管理画面に不正ログインされた。監視によって発覚した
どこまで漏れたか同じサーバーを使っていた最大5社の問い合わせ情報で、延べ最大約71万件。証券会社、時計メーカー、保険会社、鉄道会社などの顧客の情報を含む
何がまずかったか外部から管理画面にログインできる状態だったこと。そして、1つの管理画面から、同じサーバーを使う5社分のデータに手が届いたこと

仕組み:パスワードは、どうやって盗まれるのか

※不正ログインに使われた情報の入手方法は公表されていないため、
一般的な仕組みとして説明しています。

不正ログインに使われるIDとパスワードは、多くの場合、
次のような方法で手に入れられています。

  • 使い回しを狙う:別のサービスから漏れたIDとパスワードの一覧を使い、同じ組み合わせでログインを試す
  • だまして入力させる:本物そっくりのログイン画面に誘導し、入力させる(フィッシング)
  • パソコンから抜き取る:担当者のパソコンにウイルスを仕込み、ブラウザに保存されたパスワードを盗む
  • 総当たりで試す:推測しやすいパスワードを、片っ端から試す

管理画面がインターネットから誰でもアクセスできる場所にあり、
パスワードだけでログインできる作りだと、
どれか一つの方法で手に入れたパスワードで、
そのまま入れてしまいます。
そして、管理画面はシステム全体を操作できる「マスターキー」です。
同じサーバーに5社のデータが同居していたため、
1つのマスターキーで全社分に手が届いてしまいました。

対策のヒント:守りが固い仕組み

管理画面のような重要な入口は、
パスワードだけで入れないようにするのが基本です。
スマホへの通知や物理的なセキュリティキーを組み合わせれば、
パスワードが盗まれても、それだけではログインできません。
さらに、管理画面を社外から自由に入れる場所に置かないこと、
利用企業ごとにデータを分けておくことも大切です。

エンジニア向けメモ

複数の顧客企業が1つの環境を共有するマルチテナント型のサービスでは、
管理者権限が奪われると、全テナントに被害が及びます。

  • 管理画面の到達性を絞る:アクセス元を限定し、社内の認証基盤(SSO)経由でのみ入れるようにする
  • フィッシングに強い認証にする:SMSや認証アプリのコードは、偽サイトで中継されると突破されることがある。管理者には、FIDO2などのセキュリティキーやパスキーが望ましい
  • テナントを分離する:データベースを分ける、行単位のアクセス制御をかけるなどして、1社の権限で他社のデータが見えない構造にする
  • 管理操作を監視する:深夜・休日の管理ログインや、大量のデータ参照を検知して通知する

④ ログイン後の権限確認が抜けている

保険会社のWebサービス(6〜7月)

どこに顧客向けのWebサービスと、代理店向けの相談サービス
何が起きたか通常の利用と同じ形のアクセスで、本来は見られないはずの契約情報が引き出された。会社は「アクセスの制御が不十分だった」としている。6月10日に最初の流出があり、約15日後の6月25日の朝、セキュリティの警報ではなく、「サーバーの負荷が高い」という性能監視の警報で発覚した
どこまで漏れたか約440万人分の氏名・住所・生年月日・契約内容など。うち約22万人は口座情報も含む。ID・パスワード・メールアドレスは漏れていない
何がまずかったかログインした人が「その契約の本人か」を、十分に確認できていなかったこと。そして、大量のアクセスが15日間続いても、セキュリティの面からは気づけなかったこと

考えられる手口(推測)

ID・パスワードが漏れていないのに、
なぜこれほどの情報が引き出せたのでしょうか。
手口は公表されていませんが、考えられるのが、
冒頭で紹介した「部屋ごとの鍵がない」タイプの欠陥です。

  • 自分の契約を見る:…/keiyaku?id=A0001 → 自分の情報(正常)
  • 番号を1つ変える:…/keiyaku?id=A0002 → 他人の情報が出てしまう

一度ログインすれば、
あとは番号を変えた問い合わせをプログラムで大量に送るだけで、
他人の情報を次々と引き出せます。
440万人分のパスワードを集めるのは現実的ではないので、
「パスワードの使い回し」よりも、
こうした確認抜けのほうが説明しやすい、というのが推測の理由です。

対策のヒント:守りが固い仕組み

  • データを返すたびに、「本人の依頼か」を確かめる
  • 推測しにくい番号を使う:番号を順に変えるだけでは、他人のデータにたどり着けないようにする
  • 回数制限と異常検知を入れる:1人が短時間に大量の問い合わせをしたら、途中で止める

エンジニア向けメモ

この種の欠陥はIDOR(Insecure Direct Object Reference)と呼ばれ、
OWASP API Security Top 10では「オブジェクト単位の認可の不備(BOLA)」として最上位に挙げられています。

  • 認可を一か所で強制する:各APIの実装者に任せず、「このユーザーはこのデータにアクセスできるか」を判定する共通の仕組みを通す
  • 認可のテストを自動化する:「他人のIDを指定したら拒否されること」を、すべてのAPIのテストに含める
  • セキュリティ監視でAPIの異常を見る:1つのセッションが多数の異なる契約を参照する、といった振る舞いを検知する。今回のように性能監視でしか気づけない状態は、検知の設計が抜けているサインです

⑤ 設定変更のうっかり

電子チケットサービス(9月)

どこにチケットの申し込み・購入画面とマイページ
何が起きたかアクセスの集中に備えて、ページの一時保存(キャッシュ)の設定を変えたところ、同時にアクセスした人の間で、別の人の画面が表示されるようになった。9月28日の朝から29日の夜まで、約40時間続いた
どこまで漏れたか最大107人分の氏名・住所・電話番号・カード番号の下4桁が、最大322人の画面に表示された可能性
何がまずかったか一人ひとり内容が違うページまで、「みんなに同じものを見せてよいページ」として一時保存してしまったこと

仕組み:なぜ他人の画面が表示されたのか

アクセスが集中すると、
サーバーは同じページを何度も作り直すことになり、重くなります。
そこで、一度作ったページのコピーを一時保存しておき、
次の人にはそのコピーを渡す
仕組みを使います。
お店で、よく出る商品を作り置きしておくようなものです。

誰が見ても同じ内容のページなら、これで問題ありません。
ところが、マイページや購入画面は、一人ひとり内容が違います。

  1. Aさんがマイページを開く → サーバーがAさん用のページを作り、そのコピーを一時保存する
  2. 直後にBさんがマイページを開く → サーバーは「同じページのコピーがある」と判断し、AさんのページをBさんに渡してしまう

作り置きしてはいけない「個別の注文品」まで作り置きしてしまった、
というのが今回の事故の仕組みです。

対策のヒント:守りが固い仕組み

設定の変更も、プログラムの変更と同じようにほかの人の確認を通し、
ごく一部の利用者で試してから全体に広げる
やり方があります。
問題が起きても、影響を小さいうちに食い止められます。

エンジニア向けメモ

  • 個人ページはキャッシュさせない:ログイン後のページには「Cache-Control: private」や「no-store」を付け、Cookieを発行する応答を共有キャッシュに載せない
  • キャッシュ対象は「許可リスト」で決める:キャッシュしてよいパスを明示的に列挙し、それ以外はキャッシュしない設定を既定にする
  • 設定もコードとして管理する:CDNの設定をコードで管理してレビューを通し、検証環境で「ログイン済みのページがキャッシュに載らないこと」をテストしてから反映する

⑥ 委託先・共通基盤がやられる

多くの通販サイトが使うEC基盤(8月)

どこに多くの通販サイトが使う、EC基盤のサーバー
何が起きたかサーバー上で不正なプログラムが実行され、5月21日から8月1日まで、約2か月半にわたって購入者の情報を外部に送られ続けた
どこまで漏れたか延べ約885万件。購入者の氏名・住所と、カード情報の一部(名義・番号の一部・有効期限)。さらに、出店している店舗の管理画面などのIDとパスワード、振込口座
何がまずかったか1つの基盤がやられたことで、そこを使う多くの店舗と購入者に被害が広がったこと。そして、2か月半もの間、気づけなかったこと

仕組み:「情報を外に送り続けるプログラム」とは

※不正なプログラムが仕込まれた経緯は公表されていないため、
一般的な仕組みとして説明しています。

攻撃者は、サーバーの欠陥や盗んだ管理者のアカウントを使って、
サーバーの中のプログラムを書き換えます。
狙われやすいのは、購入者が住所やカード番号を入力する、
注文や決済の処理
です。

書き換えられたプログラムは、ふだんどおり注文を受け付けながら、
裏で入力された情報のコピーを、
攻撃者のサーバーにも送る
ようになります。
購入者は普通に買い物ができ、商品も届きます。
店舗から見ても、注文は正常に処理されています。
誰も異変に気づかないまま情報だけが流れ続けるため、
発覚までに長い時間がかかりやすいのです。

対策のヒント:守りが固い仕組み

外部のサービスを使う以上、
預け先が被害を受けるリスクはゼロにはできません。
だからこそ、預けるデータを必要最小限にし、
大事なデータとは分けておく
ことが大切です。
たとえばカード番号は、自社のサーバーを通さずに、
決済専門の会社の画面で直接入力してもらう方法があります。

エンジニア向けメモ

  • ファイルの改ざんを検知する:本番サーバーのプログラムが、正規のリリース以外の経路で変更されたら通知する。そもそも本番環境を、リリース以外では書き換えられない構成にする
  • 外への通信を制限する:決済処理を担うサーバーから、許可していない宛先への通信を遮断すれば、情報を外に送る処理が動いても届かない
  • ブラウザ側の改ざんにも備える:決済ページに読み込むスクリプトを、コンテンツセキュリティポリシー(CSP)などで制限する
  • カード情報を持たない:国内のクレジットカード・セキュリティガイドラインでも、加盟店はカード情報を自社で保存・処理・通過させない「非保持化」が基本とされている

原因が公表されていない事例

  • 飲食チェーン(10月):10月2日に不正アクセスを確認。会員約1,079万件の会員番号・氏名・メールアドレス・電話番号が漏れた。パスワードとカード情報は含まれない
  • 小売チェーン(10月):「ソフトウェアの機能を不正に利用して、サーバーに侵入された」とだけ公表。最大約173万人分の会員ID・氏名・メールアドレス・電話番号が漏れた

なお、10月にはJPCERT/CCが、
「公開されているスマホアプリを解析し、画面からは操作できない内部の窓口(API)を直接呼び出す」手口について注意を呼びかけています。
ただし、どの事例に当てはまるかは公表されていません。

仕組み:アプリの「裏口」を直接呼び出す

スマホアプリは、画面の裏で、
会社のサーバーにある窓口(API)とやり取りをしています。
アプリは誰でもダウンロードできるので、攻撃者はアプリを分解して、
中に書かれている窓口の住所や、接続に使う鍵を探します。
その中に、画面からは使えない管理用の窓口が含まれていることがあります。

サーバー側が「アプリの画面から呼ばれるはずだから大丈夫」と考えて、
その窓口で本人確認や権限の確認をしていなければ、
攻撃者は窓口を直接呼び出して、
大量の会員情報を引き出せてしまいます。

エンジニア向けメモ

アプリに埋め込んだAPIキーは、
配布した時点で秘密ではありません。
キーは「どのアプリからの通信か」の識別には使えても、
認可の代わりにはなりません。
管理用のAPIは利用者向けのAPIとは別の経路に分け、
すべての呼び出しでサーバー側の認証・認可を通すことが前提です。

まとめ:被害の大きさを決めた3つのこと

事例を並べてみると、最初に破られた場所はさまざまでした。
それでも、被害の大きさを左右したのは、ほぼ共通して次の3つです。

決め手どういうことか当てはまる事例
手が届いた範囲入られた場所から、顧客データや他社のデータまで届いてしまった政府機関、画像共有サービス、ネット通販事業者、FAQシステム
データの持ちすぎ退会者の書類、削除済み画像の情報、そのまま使えるパスワードなど、持たなくてよいもの・持ち方が甘いものを持っていたカーシェアサービス、画像共有サービス、ISP向けメール基盤
気づくまでの時間少しずつ漏れ続けている間、気づけなかった保険会社、EC基盤、ISP向けメール基盤

守りが固い仕組みに共通しているのは、
絶対に破られないことではなく、
1か所破られても大事に至らない作りになっていることです。
権限を絞り、いらないデータは持たず、異常にすぐ気づける。
この3つがそろっていれば、同じ穴を突かれても、
被害はずっと小さく抑えられます。

```