本文へスキップ
株式会社オープンナレッジ
株式会社オープンナレッジ Open Knowledge Inc.
HEALTHCARE INCIDENT AUTOPSY:EHR RANSOMWARE & GUIDELINE v6.0 執筆:上級医療情報技師・登録情報処理安全確保支援士(第007617号) 加藤 明生

国内病院の電子カルテ停止事案に学ぶ: なぜ「閉域網のカルテ」と「バックアップ」が同時に暗号化されたのか?

この記事のポイント(最初に押さえたい結論) 要点まとめ
  • 01. 侵入口の多くは「保守点検用のVPN機器」: インターネットから切り離しているつもりでも、システム会社や医療機器メーカーが遠隔保守に使うVPN装置の未更新・共通IDから院内へ侵入されています。
  • 02. 常時接続されたバックアップは同時に壊される: カルテサーバーから書き込める場所(同じ院内LAN上のNAS等)にあるバックアップは、感染時にすべて道連れで暗号化されます。
  • 03. 「必要な時だけ開く保守回線」と「書き換え不能な別室金庫」で守る: 保守VPNの常時開放をやめ、カルテ側から消去できない不変スナップショット(OpenZFS)と紙・PDFの緊急出力手順を備えることで、外来と救急を止めずに守れます。
1. 基本と全体像

この記事の要点と4つの章のご案内

身近なたとえで見る仕組み:なぜ「ネットにつながっていないはずのカルテ」が被害に遭ったのか?に関するイメージ写真
身近なたとえで見る仕組み:なぜ「ネットにつながっていないはずのカルテ」が被害に遭ったのか?
図解で見る仕組み:「Push型(押し込み型)バックアップの悲劇」と「Pull型(引き抜き型)不変金庫」に関するイメージ写真
図解で見る仕組み:「Push型(押し込み型)バックアップの悲劇」と「Pull型(引き抜き型)不変金庫」
国内病院の電子カルテ停止事案に学ぶ: なぜ「閉域網のカルテ」と「バックアップ」が同時に暗号化されたのか? の各章におけるテーマと要点一覧表
章構成 主なテーマ 要点と確認ポイント
1. 基本と全体像 身近なたとえで見る仕組み:なぜ「ネットにつながっていないはずのカルテ」が被害に遭ったのか? 最大の侵入経路は、システム保守業者が遠隔点検のために設置している「保守用VPN機器」や「リモートデスクトップ端末」です。普段のインターネット閲覧とは別回線であっても、保守用VPN機器のファームウェア更新が漏れていたり、複数病院で同じ初期パスワードが使い回されていたりすると、そこが裏口となって院内ネットワークへ直接侵入されてしまいます。
2. 現場での進め方と対策 図解で見る仕組み:「Push型(押し込み型)バックアップの悲劇」と「Pull型(引き抜き型)不変金庫」 電子カルテサーバーと同じ院内ネットワーク(Windows共有やNAS)に常時接続された状態でバックアップを取っていたため、ランサムウェアがカルテ本番データと同時にバックアップ用NASまで暗号化してしまったことが主因です。これを防ぐには、カルテ側から削除・上書き命令が一切届かない「片方向引き抜き型(Pull型)のZFS不変スナップショット」が不可欠です。
3. 関連する制度とルール 実践のポイント:委託先(電子カルテ・機器ベンダー)へ今日確認すべき「3つの質問」 はい。厚生労働省「医療情報システムの安全管理に関するガイドライン 第6.0版・第7.0版」では、病床規模を問わずすべての医療機関に対し、ネットワーク境界の把握、保守回線の管理、およびランサムウェアに耐えうるバックアップの確保を求めています。高額な装置を買わなくても、保守回線の常時開放をやめることと、書き換え不能な世代バックアップを整えることで確実に守れます。
4. 詳しい技術仕様としくみ 関連資料・解説記事(上級医療情報技師・登録情報処理安全確保支援士が対応) 徳島県や大阪府をはじめ、全国各地の病院で電子カルテがランサムウェアに暗号化され、救急患者の受け入れ停止や外来診療の長期休止に追い込まれる重大事案が相次ぎました。被害を受けた多くの病院が最初はこう証言しました——「電子カルテはインターネットから切り離した専用ネットワークで動かしていたし、毎日バックアップも取っていたはずなのに」と。
第1章〜第4章では、実務チェックリスト・公的制度基準・詳しい技術仕様を確認できます。

01. 身近なたとえで見る仕組み:なぜ「ネットにつながっていないはずのカルテ」が被害に遭ったのか?

徳島県や大阪府をはじめ、全国各地の病院で電子カルテがランサムウェアに暗号化され、救急患者の受け入れ停止や外来診療の長期休止に追い込まれる重大事案が相次ぎました。被害を受けた多くの病院が最初はこう証言しました——「電子カルテはインターネットから切り離した専用ネットワークで動かしていたし、毎日バックアップも取っていたはずなのに」と。

たとえ話:「夜間点検業者専用の通用口」と「同じ部屋に置かれた予備の台帳」

病院の正面玄関(職員が使うインターネット回線)は厳重にカルテ室と分けられていました。しかし、空調や医療機器の点検業者(保守ベンダー)が「何かあった時にすぐ遠隔で様子を見られるように」と、カルテ室の壁に直接「業者専用の通用口(保守用VPNルーター)」を取り付けていたのです。しかも、その通用口の鍵が何年も交換されておらず(古いファームウェアの脆弱性)、外の通りから丸見えになっていました。
さらに、大切なカルテの控え(バックアップ用ハードディスク)がカルテ室の机の上にそのまま置かれていたため、通用口から侵入した犯人に「原本のカルテ」と「控えの台帳」の両方を同時に塗りつぶされてしまった——これが一連の病院被害の構造です。

ポイント 01:INTRUSION VECTOR
約 80% がVPN・遠隔機器経由

警察庁統計および医療インシデント調査において、ランサムウェア侵入経路の約8割は「VPN機器」や「リモートデスクトップ(RDP)」の脆弱性・認証不備に集中しています。

ポイント 02:RECOVERY TIME GAP
2か月停止 vs 15分復旧

バックアップまで暗号化された事案ではシステム再構築に約2か月を要した一方、片方向引き抜き型の不変スナップショットを保持していた環境では15分以内にデータ復元が可能です。

ポイント 03:GUIDELINE v6.0 MANDATE
3省2ガイドライン 第6.0版・第7.0版

厚生労働省ガイドライン第6.0版・第7.0版では、経営層の責任明確化、保守接続時の多要素認証・都度許可、および論理的・物理的に切り離された不変バックアップが必須要件化されています。

02. 図解で見る仕組み:「Push型(押し込み型)バックアップの悲劇」と「Pull型(引き抜き型)不変金庫」

MEDICAL NETWORK TOPOLOGY:PUSH BACKUP FAILURE vs PULL IMMUTABLE ZFS VAULT Visual Structure Diagram
[従来型] カルテサーバーからNASへ書き込む「Push型(双方向共有)」:感染時に道連れで全滅 01. 保守用VPN装置(未更新) ベンダー共用ID・24時間開放 SSL-VPN Exploit 侵入 02. 電子カルテ・部門サーバー 管理者権限を奪取され暗号化開始 SMB/CIFS 書き込み権限を保持 03. 院内バックアップNAS カルテからの削除・暗号化がそのまま到達 Result: 原本も予備も同時に消失 [推奨設計] 都度許可制mTLS保守 + 金庫側から片方向で引き抜く「Pull型 OpenZFS 不変世代保管」 01. 都度開閉・証明書認証 普段はポート閉鎖(常時接続ゼロ) mTLS + 作業時のみ時限開放 02. カルテ・レセコン領域 金庫室へのログイン資格情報を保持しない Outbound Block to Vault VLAN 03. Pull型 ZFS 不変金庫 金庫側から読み取り専用で差分取得 削除・上書き不能

03. 実践のポイント:委託先(電子カルテ・機器ベンダー)へ今日確認すべき「3つの質問」

病院やクリニックの院長先生・事務長様が、専門知識がなくてもシステム委託会社へそのまま聞いて確認できる「3つの重要質問」をまとめました。

質問 01:「遠隔保守用のVPNルーターの型番と現在のファームウェア更新日、そして普段は通信を閉じているかを教えてください」

【確認の狙い】 「どのメーカーのどの機器が付いているか実は把握していなかった」というケースが最も危険です。機器一覧(台帳)を提出してもらい、保守作業を行う時だけ回線を開ける運用(常時接続の廃止)へ切り替えられるかを確認します。

質問 02:「もし電子カルテサーバーがランサムウェアに感染して管理者権限を奪われた場合、現在のバックアップ装置も一緒に暗号化されませんか?」

【確認の狙い】 単に「毎日外付けHDDやNASにコピーしています」という回答であれば要注意です。カルテサーバー側からバックアップ先を消去できない構造(Pull型取得・イミュータブル設定・オフライン世代保管)になっているかを確かめます。

質問 03:「万が一明日カルテ画面が開かなくなったとき、直近来院患者の処方歴・検査一覧をパソコン単体または紙で確認する手順はありますか?」

【確認の狙い】 再診患者さまの継続処方や透析・救急対応を止めないためには、日次で処方・予約サマリーを読み取り専用の別端末(または暗号化PDF)へ自動退避しておく「縮退運転(BCP)の仕組み」が極めて有効です。

医療機関向け3項目セルフ点検 該当数: 0 / 3
上の項目をクリックすると、医療情報安全管理ガイドライン第6.0版・第7.0版に照らした優先対策が表示されます。
理解を深める確認クイズ

Q. 電子カルテが万が一ウイルス感染しても、バックアップデータが原則として消去・暗号化されないようにするための正しい接続の向きはどちらでしょうか?

クリックして解答と解説を見る ↓
正解:独立したバックアップ金庫サーバー側から、カルテデータを片方向で引き抜く「Pull型(引き抜き型)」+不変スナップショット固定。 カルテサーバー側にバックアップ先への書き込み権限を持たせないことで、仮にカルテサーバーが乗っ取られても金庫室へ侵入する経路そのものを遮断できます。
関連コラム・豆知識

お薬手帳(紙・アプリ)が災害やシステム障害時に「命綱」になる理由

実際に国内の病院で電子カルテが停止した際、外来診察で医師たちを最も助けたのは、患者さまが持参された「お薬手帳」でした。服用中の薬の名前と用量が正確にわかるだけで、カルテ画面が開かない緊急時でも安全な処方箋を手書き発行できます。病院側のシステム防御とあわせて、患者さま側でお薬手帳を携帯することは、地域医療を守る大きな助けになります。

関連資料・解説記事(上級医療情報技師・登録情報処理安全確保支援士が対応)

当社代表の加藤は「上級医療情報技師」および「登録情報処理安全確保支援士(第007617号)」の双方を保有し、既存の電子カルテベンダー様と協調しながら保守回線の安全化と不変バックアップ構築を支援しております。

場面別の実務確認ポイント
01. 病院長・クリニック院長・事務長の方へ 委託先ベンダーに必ず確認すべき「3つの質問」と、万が一の際にも外来処方を継続するためのBCP(業務継続計画)の要点がわかります。
02. 患者さま・ご家族・地域住民の方へ 病院のシステムがどのような仕組みで守られ、災害やサイバー障害時にどうお薬手帳や処方記録が役立つのかをやさしく解説しています。
03. 医療情報技師・インフラ担当者の方へ 第3章 にて、厚労省ガイドライン第6.0版・第7.0版のネットワーク分離設計、DICOM/HL7 FHIR 境界保護、および Pull 型 ZFS レプリケーション実装を詳解しています。
技術仕様・実装解説(UNIDIRECTIONAL PULL ZFS VAULT & MHLW GUIDELINE v6.0) 4. 詳しい技術仕様としくみ
MHLW v6.0 / OpenZFS Hold / FreeBSD pf Diode

厚生労働省「医療情報システムの安全管理に関するガイドライン 第6.0版・第7.0版」に準拠した片方向 Pull 型 OpenZFS 不変レプリケーションと保守用 VPN ゼロトラスト隔離仕様

本モノグラフでは、医療機関における電子カルテ(HIS/EHR)・医用画像(PACS)・部門システムのランサムウェア同時暗号化を防ぐため、有向グラフ上の到達可能性(Reachability)を非対称化する「Pull-Only ステートフル・ダイオード(片方向接続制御)」と、OpenZFS のカーネル参照カウントロック(zfs hold)および Rust 2024 による変更ブロックエントロピー監査を組み合わせた技術仕様を提示する。

Regulatory Standard
MHLW Guideline v6.0 (2023/2026)
Topology Invariant
EHR -> Vault SYN = 0% (Blocked)
Snapshot Immutability
ZFS CoW + Kernel Hold Refcount
RPO / RTO Target
RPO <= 15m / RTO <= 10m
1. 設計仕様・数理モデル(Graph-Theoretic Proof of Pull-Only Isolation & ZFS Hold Semantics)

1. 【Push型バックアップが全滅するグラフ理論的必然性】 院内ネットワーク内のノード集合を $V = {v_vpn, v_ad, v_ehr, v_nas} とし、権限および TCP セッション開始可能な有向辺を E とする。従来の Push 型バックアップ構成では、カルテサーバー v_ehr が NAS v_nas に対する SMB/NFS 書き込み資格情報を保持するため (v_ehr, v_nas) ∈ E_write が成立する。したがって、保守用 VPN v_vpn から侵入した攻撃者が v_ehr のローカル Administrator または Domain Admin を奪取した瞬間、推移閉包により v_nas$ 上の全世代バックアップが暗号化可能領域に含まれる。

# FreeBSD pf.conf Unidirectional Pull Enforcement on Vault Gateway
block in quick on ehr_vlan proto { tcp, udp } from ehr_subnet to $vault_ip
pass out quick on $ehr_vlan proto tcp from $vault_ip to $ehr_ro_replica port 22 flags S/SA keep state

2. 【片方向 Pull レプリケーションと zfs hold による破壊防止】 私たちの設計では、FreeBSD `pf` ステートフル・ファイアウォールにより v_ehr → v_vault 方向の TCP SYN パケットを 100% 破棄(Drop)し、金庫サーバー v_vault から v_ehr 上の非特権・読み取り専用スナップショット送出ストリーム(`zfs send -w`)へのアウトバウンド接続のみを許可する。さらに受信後のスナップショットに対して即座に `zfs hold` を発行し、万が一のオペレーションミスによる `zfs destroy` もカーネルレベルで拒否する。

2. パラメータ・構成仕様(MHLW Guideline v6.0 Control Mapping Matrix)
Guideline v6.0 Section Vulnerability in Typical Hospital Open Knowledge Technical Control
Network Boundary & VPN Always-on vendor SSL-VPN with shared PSK Time-boxed mTLS + WireGuard ephemeral session
Immutable Backup (BCP) SMB-mounted NAS encrypted alongside EHR Pull-only ZFS send/recv + kernel zfs hold
Offline Triage Summary No prescription history accessible when EHR down Automated daily read-only HTML/PDF clinical digest
3. 実装コード・設定仕様(Rust 2024 Pull-Replication Delta & Entropy Anomaly Gatekeeper) #![forbid(unsafe_code)] — EHR Snapshot Integrity Guard
#![forbid(unsafe_code)]

/// Telemetry header extracted from an incoming read-only ZFS replication delta stream.
#[derive(Debug, Clone, Copy)]
pub struct EhrReplicationDelta {
    pub snapshot_txg: u64,
    pub previous_txg: u64,
    pub modified_blocks: u64,
    pub total_dataset_blocks: u64,
    pub mean_entropy_milli_bits: u32,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum VaultReplicationVerdict {
    AcceptAndHoldSnapshot { hold_tag_txg: u64 },
    QuarantineSuspectedRansomwareDelta { reason: &'static str },
    RejectNonMonotonicTransactionGroup,
}

/// Evaluates whether a pulled EHR snapshot delta exhibits ransomware mass-encryption traits
/// before rotating the primary recovery pointer in the immutable vault.
#[inline]
pub const fn evaluate_ehr_snapshot_delta(delta: &EhrReplicationDelta) -> VaultReplicationVerdict {
    if delta.snapshot_txg <= delta.previous_txg || delta.total_dataset_blocks == 0 {
        return VaultReplicationVerdict::RejectNonMonotonicTransactionGroup;
    }

    // Calculate ratio of modified blocks in basis points (0..=10_000)
    let churn_bps = (delta.modified_blocks.saturating_mul(10_000)) / delta.total_dataset_blocks;

    // If >15% of all clinical database blocks mutated in a 15-minute window AND
    // Shannon entropy exceeds 7.940 bits/byte, quarantine the delta and preserve prior snapshots.
    if churn_bps > 1_500 && delta.mean_entropy_milli_bits >= 7_940 {
        return VaultReplicationVerdict::QuarantineSuspectedRansomwareDelta {
            reason: "Mass block mutation with near-random ciphertext entropy detected",
        };
    }

    VaultReplicationVerdict::AcceptAndHoldSnapshot {
        hold_tag_txg: delta.snapshot_txg,
    }
}
Clinical Continuity Guarantee: 異常な大量暗号化差分(QuarantineSuspectedRansomwareDelta)を検知した場合でも、直前の正常スナップショットは zfs hold により無傷で保持され、15分以内のロールバックを保証します。
医療機関向けBCP支援へ →
ご質問・公的制度の活用に関するお問い合わせ窓口

掲載資料に関するご質問・公的制度活用のご案内

本ページの図解や解説内容に関するご質問、経済産業省「SCS評価制度」やIPA「SECURITY ACTION・サイバーセキュリティお助け隊サービス」等の公的制度の確認方法について、落ち着いた参考窓口としてご案内しております。売り込みや営業連絡は一切行いませんので、社内勉強会やご家庭での確認資料としてご自由にご活用ください。

図解・ビジュアルの拡大表示

図表内のテキストもそのまま選択・検索可能です(ベクターSVG描画) 枠外クリックまたは ESC キーで閉じます