モデルケースについて——本ページは、当社の技術・製品(Previento / GENBA Gate / クラウド・組込の構築)で構成した架空の事例です。業種・規模・システム構成は典型例として設定したもので、実在の企業・案件とは関係ありません。攻撃の手口は、防御のために一般に知られている範囲で記載しています。
想定するシステムと課題
複数の診療科を持つ医療機関で、Web予約システムと、電子カルテ連携用の患者データベースを運用しているモデルケースです。予約システムは外部ベンダーが構築し、DBサーバーは院内のラックに設置。ベンダーの保守のためにDBのポートがインターネットから到達できる状態になっており、定期バックアップは予約システムと同じサーバーの公開領域に置かれていました。
個人情報保護委員会が示した安全管理措置の見直しを受けて、「Webの画面を守るだけで足りるのか」「DBから丸ごと持ち出される手口に備えたい」というご相談を想定しています。
AIによる攻撃は、こう来る
ATTACK SCENARIO
- DBポートの探索——インターネットに開いているDBのポート(MySQL・PostgreSQL など)を、ツールが機械的に探す。見つかれば、流出したパスワードや総当たりでログインを試す
- バックアップの探索——
backup.zip・dump.sqlのような名前のファイルを、公開領域に対して次々に要求する。置き忘れがあれば、脆弱性を突かずに丸ごと取得できる - 正規アカウントの悪用——ベンダーの保守アカウントや院内の端末が、フィッシングで乗っ取られる。DBへの接続は「正規の認証」を通る
- 大量参照——夜間に患者テーブルを全件参照し、1回の接続でまとめて取得する。Webのアクセスログには何も残らない
- 内部からの持ち出し——退職予定の職員が、権限の範囲内で大量のデータを参照・エクスポートする
この3つの経路に共通するのは、Webの画面を経由しないことです。WAFもWebのアクセスログも役に立ちません。DBに「誰が、どこから、いつ、どれだけ」接続したかを見る必要があります。
課題と解決アプローチ
⚠ CHALLENGE(課題)
- DBのポートがインターネットから到達可能(ベンダー保守用)
- バックアップファイルが公開領域に保存されている
- DBへの接続元・接続時刻の記録を誰も見ていない
- 職員・ベンダーの権限が広く、全件参照が誰でもできる
- 連携APIに、想定外の接続元からアクセスできる
→
✅ SOLUTION(解決策)
- FWでDBポートを閉じ、Web・連携サーバーと保守用踏み台からのみ接続可能に
- バックアップは公開領域外の専用ストレージへ。暗号化と権限の限定
- Previento で DB の接続元・時間帯・参照量、FTP 転送、連携APIの接続元を24時間判定
- 見慣れない接続元からの接続成功、夜間の大量参照、大きな転送を重大で通知
- 職員・ベンダーの権限を業務に必要な範囲に見直し
防御の構成(従来型の層 + AIの層)
インターネット(DBポート探索・バックアップ探索・乗っ取られた端末) │ ▼ [入口] ファイアウォール ── DB ポート(3306 / 5432)は外部から閉鎖。Web は WAF 経由のみ │ ├─ Web予約サーバー(DMZ) │ ├─ [公開範囲] バックアップ・ダンプは公開領域に置かない │ └─ [監視] Previento エージェント ── 設定ファイル探索・連番ID・FTP 転送を検知 │ ├─ 連携サーバー(電子カルテ連携 API) │ └─ [監視] 想定した接続元以外からの API アクセス成功を重大で通知 │ └─ [公開範囲] 保守用踏み台(MFA・保守元IPのみ) │ ▼ [分離] 院内セグメント:DB サーバー ── Web・連携・踏み台からのみ接続可 └─ [監視] Previento エージェント ── DB 接続元・接続時刻・参照量・エクスポートを収集 │ ▼ Previento(クラウド) ├─ 見慣れない接続元からの接続成功を「要確認」、総当たり後の成功は重大 ├─ 夜間・休日の大量参照、ふだんの数倍の転送量を検知 ├─ バックアップ用ストレージへの想定外アクセスを検知 └─ 重大 → 遮断 + LINE / Slack / メール通知
凡例:緑=従来型の防御(ファイアウォール・WAF・VPN・認証・分離)/青=AIによる監視・判定(Previento)/赤=攻撃
AIは、ここで何を判定するのか
- DBの「誰が・どこから」を見る——DBに今つながっている接続元を一覧にし、信頼済み(Web・連携・踏み台)以外を「要確認」として表示する。FWで閉じたはずの経路が、設定変更で再び開いてしまったときにも気づける
- 「量」と「時間帯」のふだんを学ぶ——診療時間中の予約システムからの参照量を基準に、夜間・休日の全件参照や、ふだんの数倍の転送量を検知する。正規の権限で行われる持ち出しは、この「量と時間帯の違い」でしか見えない
- 置き忘れたファイルの取得に気づく——公開領域に対する
backup.zip・.sqlの要求に 200 が返り、大きなデータが送られた場合は重大とする。404 が並ぶだけの探索は警告に留める - 連携APIの想定外の接続元——電子カルテ連携などのAPIに、想定した接続元以外からのアクセスが成功したら重大で通知する。APIは画面を持たないため、見落とされやすい入口
DBの直接接続とバックアップの持ち出しは、当社の技術コラム「DBへの直接アクセスとバックアップ持ち出しを防ぐ」で、ログに残る痕跡と防止策を詳しく解説しています。Previento が検知するのは兆候で、実際の持ち出しの有無は、接続の記録と参照量の履歴で確認します。
導入ステップ(想定)
Week 1
読み取り診断
DBポートの外部からの到達性、バックアップの保管場所、アカウントと権限の一覧、連携APIの接続元を読み取りで確認。診療を止めない
Week 2
暫定策
FWでDBポートを閉じ、ベンダー保守は踏み台経由に変更。公開領域のバックアップを移動
Week 3-4
分離と権限の見直し
DBサーバーを院内セグメントへ分離。職員・ベンダーの権限を業務範囲に限定。バックアップを暗号化した専用ストレージへ
Week 3
Previento 導入
Web・連携・DBの各サーバーにエージェントを設置。信頼済み接続元と、診療時間帯の参照量の基準を登録
Week 5〜
継続
月次の接続レポート確認、権限の棚卸し、再診断。個人情報保護委員会のガイドライン改定に合わせた見直し