病院情報システムの障害対応/対マルウェア対応(3) 障害レベルごとの対応マニュアル(横糸)マルウェア感染疑い
(前回からの続き)
前回がソフト的な或いはハード的、インフラ的な障害への対応であるのに対してマルウェア感染への対応は性質が異なる。
それは、マルウェア感染対応は組織のシステム構成や現状でのマルウェア対策などによって異なってくるからである。
ここでは自分が在職中に考えていた感染後対応の考え方をメモ的に書いた。
2000年代の始めの頃にマルウェアに侵入された経験をした時、まあ当時はコンピュータウィルスと呼んでいたんだけど、当時はマルウェアのはしりの頃で今みたいなランサムウェアとか情報漏洩とかセカンダリバックドアがらみとかの犯罪臭プンプンのものではなく、PCを止める、感染を広げる等のイタズラ目的のものであった。目立ちたがりのハッカー(「ハッカー」という言い方の是非も色々言われたが)の腕試し的なものという認識だった。
その時はマルウェアに感染した個人所有のPCを無許可で病院のネットワークに繋がれたことで一部システムの数台のPCとサーバが感染して動作を停止した。
幸いだったのは主要システムの感染ではなかったこととシステムに対する依存が今ほど大きくなかったこと。
それほど大きな影響はなかった。
持ち込んだのは..。とこれぐらいにしておくけど、当時のゆるゆるの管理体制のスキを突かれた。
これを奇貨として時間はかかったが体系的にシステム管理/ネットワーク管理体制の強化に努めた。それ以来、外部持ち込みのUSBメモリやSDカード、USBハードディスク等に感染が確認されたことはあるが内部のPC/サーバが感染したことはない。(と信じている...)
あれから時は流れ、マルウェアも進化した。目的もイタズラから犯罪に移行し国家機関が絡む場合も多い。活動内容も破壊活動、情報窃取、身代金要求、バックドア設置ナドナド。(マルウェアについてごちゃごちゃ説明されているサイトは多いけど、McAfeeのこの記事は簡易にまとめているので読みやすい。)
ここでは侵入されないための予防策等には触れない。感染疑いが発生した後の対応について述べることにした。
まず、状況の発生。
これは非常にわかりやすい。誰にでもわかる「マルウェア感染を疑われる事態」が発生するからである。
●マルウェアを疑う事態の発生
例えばランサムウェアならば身代金要求メッセージがランサムウェアに感染したPCで表示されるのが事象発生になるし、情報漏洩ならば多くは外部機関から「あんたのところのデータが漏れてるみたいだけど」との連絡がある。
それ以外には、
・マルウェア対策ソフトウェアがマルウェアを検出する。
・PCなどが動作が重い等の動作不良を起こし、調べてみたらなんか入ってた。
・UTMがインターネットへの不正な通信を検出する。
・外部から「あんたのところから変なメールが来ているよ」との通報を受ける。
・外部から「あんたのところのIPアドレスから攻撃を受けてるんだけど」との通報を受ける。
などなど。
こういったことが発生しないからと言ってマルウェアに感染していないとは言い切れないことは理解してほしい。
つまり、事態が発生するまでは「マルウェアはいない」ではなく単にいるもいないもわからない「見つかっていない」と言う状態に過ぎないと考えたほうが良い。
マルウェア検知率が90%以上と歌われている対策ソフトだが、ゼロデイ(まぁ、出来立てのマルウェアとでも)に関しては検知率が30%程度に落ちると言われていた。数年前のことだけど有名メーカのマルウェア対策ソフトがインストールされていてもゼロデイにPCをズタズタにされてゆく動画を見たことがある。動画ではわかりやすいように感染後に挙動を示すマルウェアを感染させていたみたいだからすぐにPCをズタズタにしていたが、感染後に深く静かに潜航するタイプだったらどうだろう。長い間内部情報をちゅーちゅー吸われたり、十分に組織内部に感染が広がったことを確認して一気に行動に出てくることも考えられるかも。
内部システムではないが私は準公的機関のHPのマルウェア感染を職場から検出したことがあった。通報したが当のHPの中の人は全く気付いていなかった。準公的機関だったのでマズイとは思ったが通報しても反応がない以上こちらとしては「知~らね」となるしかなかった。一週間ほどして連絡ありがとうのメールが来てその後1ヶ月程度して対応しましたのメールが来たよ。
自分たちがヤラれることがあるなどとは露ほども考えてなかったんだろうな。
感染に関して私がパラノイヤなのだろうか。そうだったら良いけど。
●事態への対応
上記の事態が発生し対応に移ることになる。
対応については概ね以下のようなものを想定した。
1)発生時の状況確定
発生時のシステムへの対応(ネットワーク停止を含む病院システム停止の判断)
侵入経路の調査とマルウェアの特定(穴を塞ぐこと、影響範囲確定のための情報収集、再発防止へ向けて)
2)病院システムへの対応
システム内の影響範囲の確定とPCやサーバの復旧
壊れた患者データを含むデータの復旧
3)外部への対応
身代金への対応
警察や厚労省、その他外部機関への連絡
マスコミ発表等。
漏洩データに個人情報が含まれている場合には謝罪/補償などの対応
4)発生時対応の後
情報整理、再発防止に向けての対応
各々について概略を書く。
1)発生時の状況確定
・発生時のシステムへの対応(ネットワーク停止を含む病院システム停止の判断)
ランサムウェアなどの破壊的なマルウェアだった場合はシステムは止まってしまうし、止まってない部分があったとしても感染拡大の恐れがあるということになったらシステムの全停止はしやすいだろうと思う。
そうでない場合、まだシステムは稼働している状態でマルウェアが検知された場合等はどうするのか予め考えていたほうが良いと思う。例えば診療中、それも休日明けの平日の10時半頃で外来が華々しい頃に診療現場のPCがマルウェア検知の表示がされたと頻々と情報システム部門に連絡が入るという状態で何らかの判断をしなければならないとしたら?
そう言った状況で冷静にITシステムの動作継続か停止かを判断できるかな。出来ると言うならば良いんだけどね。
もう一つはマルウェア感染がある場合にHISが稼働していても緊急で停止をする場合があると事前に取り決められたら、そういう決定を下す可能性があることを院内に周知しておく必要もあると思う。
★対応のための事前準備
破壊的マルウェア(ランサムウェア等)侵入検知時のシステム停止権限の調整
破壊的ではないマルウェア侵入検知時のシステム停止基準と権限の調整
前回の「障害レベルごとの対応マニュアル(横糸)」。止めてしまったあとで診療を継続するために。
・侵入経路の調査とマルウェアの特定(穴を塞ぐこと、影響範囲確定のための情報収集、再発防止へ向けて)
情報システムを止めるか継続するか、それとも様子見かの判断をした後に特定する。
病院の情報システム部門が自力で調査を進められるだろうか?
以前の病院ではそれなりに詳しい人間もいたし、自分自身が自病院のシステム構成やネットワーク構成は資料を揃えていたし掌を指す様だったり、利用者についても知悉していた(誰が何をやらかしそうかとか)。
マルウェアの監視システムやUTMのログの確認、プロキシサーバ系の商用システムやメール関係のシステムのログ確認もある程度自力で出来る状態だった。それでもすり抜けて入られたら自力での調査はまぁ厳しかろうな、と覚悟していた。
感染状況の解析は、簡単なマルウェアなら別だが、現状でのマルウェア動向や動作について知悉している必要がある。OSやネットワークやAP等の動作をわかっていてマルウェア解析するための様々なツールを操ることが出来ると言う能力を通常の医療情報システムの維持管理業務に並行して獲得するのは無理無理だからである。また、実際に感染した場合には感染状況によってはインターネットを使った検索などの調査も自力では困難になる事態も予想される。
だから各ベンダやマルウェア対策ソフトの営業職などにいつでも相談できるように顔見知りになりツナギを入れていた。(ベンダとか営業って怒鳴りつけ文句垂れるだけの存在じゃない)
場合によっては高い金出してセキュリティ会社に調査に入ってもらわなければならない場合もあることを考えに入れておいてほしい。その際に、最低でもシステム構成やネットワーク構成の詳細な資料の準備ができてなかったら専門家が入っても時間がかかったり調査は頓挫する可能性もあるんじゃなかろうか。
★対応のための事前準備
システムの詳細資料
ネットワークの詳細資料
IPアドレスとか場合によってはHOST名とかの資料
OS、アプリケーションなどのUpdateの状況
外部への接続状況の資料
院内の監視状況を表す資料
マルウェア監視システムへのアクセス方法
UTMを始めとするインターネットアクセス監視システムへのアクセス方法
ベンダのリモートメンテナンス関連の資料
ベンダのメンテナンス作業記録
その他病院職員などのリモートアクセスの資料
その他システムへの出入りを示す資料(USBメモリの接続履歴など)
各ベンダとの連絡経路
マルウェア対策ソフト導入ベンダへの連絡経路
等
他にもいるかもしれない。いらないかもしれない。状況次第。どれだけ正確に病院内のICTの構成が把握できているかと言うことになると思う。
ネットワーク構成図等はリプレースのたびにベンダを変えて資料を取ってなかった場合や、電気と同じつもりでLANケーブルを引くような業者が作業してた場合、わかったつもりの職員が好き勝手にケーブル引く文化の場合にはなーんにも無いよって事態もある。それでも管理IPが振れるようなSwitchが使われていた場合はSwitchのFDBからMACアドレス経由でどこに繋がっているかは追って行ける場合もある。IPを使う場合はL3SwitchのARPを抜いて調べることも可能。
ただ、導入価格を抑えるためにクソ安いSwitchで構成されFDBが見れなかったらこのやり方では無理。最悪、LANケーブル引っこ抜いて先のSwitchのどのポートが死んだかで判断するか天井裏に潜り込んで手繰ってゆくか。
ベンダのリモートメンテナンス関連の資料は、ベンダ側のリモート環境経由の侵入の調査を行う際に必要です。電子カルテとか医事とか各部門システム等の病院情報システムの中枢に直結している部分だし、それ以外のシステムのリモメンもそのシステムを通じて病院の基幹ネットワークに繋がっているので念の為。
それについてはベンダに問い合わせをすると対応に関してベンダごとで温度差があったりする。
リモートメンテナンスネットワークは攻略側からすれば狙い目。ベンダ側のガードが甘ければ侵入したベンダのリモート環境を使ってそのベンダが納入している複数の病院がターゲットにできるから。
こんなに資料を集めるのはむり~!という方もいるかも知れない。そういった場合は機会を捉えて集めてゆくとか、計画的に集めてゆくとかして、少しずつでも集める。資料を眺めていると意外な盲点が見えてくることもあるのでやったほうが良いと思う。
あんまり対応がひどいベンダは次回リプレース時に対象から外すとかね。
もし、私が厚労省のガイドラインベースでの監査を実施するとすればこのあたりは突っ込む部分かなぁ。というのもモノの確認ということで監査する側は突っ込みやすいよね。「リモートメンテナンスは受けてますか」「それはどのシステムですか」「そのシステムの接続についての資料はありますか」「リモートメンテナンスの接続履歴を見せてください」等など。こんな軽いジャブ程度のツッコミでボロが出るようだったら困る。
2)病院システムへの対応
マルウェアを特定し、穴を塞いだら次は復旧である。
・システム内の影響範囲の確定とPCやサーバの復旧
どんなマルウェアによってどこまでヤラれてる、どこまで感染しているのかを把握して、システムとして問題を取り除く作業。
このファイルを消せばいいとかこのレジストリをとかそんな単純な話だったら良いけどね。あの手この手で姿を隠そうとするからたちが悪い。
このPCはこのファイルが出来ていないから大丈夫とか、レジストリがこうなってないから大丈夫とか、感染しているPCとしていないPCがわかればいいけどわからなければ場合によっては全PC再インストールってなるかも。
どこまでヤラれているかその判断を行う際にはやはりその道のプロが出してくれるであろう判断基準をもって対応したいものである。素人では結局「この程度で大丈夫だろう」となるか、それでは不安だから「全部インストールし直せ」となるか。
復旧に関してはHISのPCは情報システム部門がイメージを持っているけど検査システムのクライアントはイチから再インストールとか、例えば検査システムのサブシステムを供給している会社はすでにこの世になくて...とか。
病院が大きければ大きいほど細々した仕掛けが入っていてすべてシステムの復旧は困難になるかもしれない。
個々のケースは色々あると思うのでそれに合わせたシステムごとの復旧への環境整備を確認しておく必要があると思う。
★対応のための事前準備
復旧対象システムのインストールイメージなど
PC毎のインストールされていた機能や設定の資料
OS等のライセンスの確認/準備(キッティング時に必要となるもの。Windows等では必要かも)
等
・壊れた患者データを含むデータの復旧
主要なシステムのバックアップは取っていると思う。それを戻すんでしょう。バックアップのとり方によっては戻るのは感染した日の午前0時のデータまでというケースが多いのかな。
バックアップから復旧してちゃんと戻るかどうかが問題ですね。試したことあります?
バックアップはどれだけ網羅されているんでしょうか?ベンダさんの言いなり?連中は自分の範疇以外は一顧だにしませんよ。これが足りないんじゃないかみたいなことを気がついたら教えてくれるベンダはまぁ優しい方で、そう言ってくれる営業さんとかSEさんが会社に戻ると上司から「いらないことを言うんじゃない」と怒られてるかも。だって値切られた安い保守費の範囲で想定外の仕事をやらされるかもしれない、上長はそう言ったことを考えるだろうから。
データバックアップの範囲はきちんと確認したほうが良い。
ベンダ提供のシステムだけじゃなく、OS提供の機能を拡張的に使っている場合(電子カルテサーバ等のシステムハード上のディスクの空き領域をファイル共有領域として使っている場合とか)や同ネットワーク上にファイルサーバを置いている場合、データベースを置いている場合などはそのバックアップとか。
自分たちで開発したものや運用の仕組みを作ったもののバックアップとかは確認したほうが良い。特に情報システム担当の出入りがあった場合。前担当者が作ったものをヌクヌクと使っていて、事が起こってバックアップがないとか復旧の仕方がわからんとか。
★対応のための事前準備
病院で必要なすべてのデータのバックアップが取れているかその網羅性の確認
データを戻した時に稼働するかどうかの確認
3)外部への対応(渉外対応)
外部への対応だから、基本的に総務部門などの渉外担当の範疇になる。専門の部隊がいたりするかもしれない。
だけど、マルウェア感染時の対応について総務部門へ対応を依頼しよう~!と言ってもな~。
予め言っておいてもまぁあまり期待はできない。だいたいにおいて情報システム部門以外でITについてあまりわかっていない部署のIT関係への対応や要求は腰が引けてるか目を三角にしての超前のめりになるかのどちらか。
けど、情報システム部門としてやれることをやっておこう。つまり、以下の内容について要点を整理して説明し検討を依頼する。
・身代金への対応(ランサムウェアの場合等)
ランサムウェアの場合は身代金を払うのかという問題。
一般的には犯罪を助長するから「払うな!」と言われているみたいだ。バックアップなどでそれなりの準備がされている場合には払わずにさっさと次のフェーズに進むのも手だ。準備ができてなかった場合やバックアップまで巻き添えを食らった場合はどうするのか。
上に復旧の準備について書いたが、これ全部やったら何日かかるんだろう。一週間?二週間?その間、停止する規模にも依るけど診療どうするの?外来止めるのか?入院患者はどうするの?どれだけの損害が発生するのか?
私は軽々に「払うな!」とは言えないなぁ。まぁ、払ったところで情報が戻ってくるかどうかは五分と五分だと聞いた。ハナから戻す気がないランサムウェア(?)もあるらしい。
ちなみにあの一斉を風靡したワナクライのときは払っても一切戻らなかったらしい。
他には身代金に関しては漏洩をネタに強請るという手口もあると聞いた。
病院上層部、法務にデータを人質に取られて発生する問題/リスクについて説明し真剣に検討して病院としての対応を決めたら良いかなと。
・警察や厚労省、その他公的機関への連絡
まぁ、ヤラなきゃでしょう。警察に連絡したらIT担当等の連中が事情を聞きに来るんじゃないでしょうか?そういう状況になったことがないのでわからないけど。
あと、ガイドラインには厚労省の医政局への連絡も書いてあったと思う。電話番号もあったように記憶しているが記憶違いかもしれない。確か、これはマルウェア以外の重大事象時も連絡しろと書いてあったような気が。
他にも県とか、上部組織がある場合には必要に応じてそちらにも。
このあたりは渉外担当部門の仕事で情報システム部門は言われるがままに情報を上げるしか無いよね。
他には、と言ったら「先にこっちだろう!」と怒られるかもしれないが、マルウェアや情報漏洩絡みならばIPA(独立行政法人 情報処理推進機構)やJPCERT/CC(一般社団法人JPCERTコーディネーションセンター)とかへの通報も忘れたらいけないと思う。JPCERT/CCは情報システム関連のインシデントを扱う組織なので連絡したら何か有益な情報をもらえるかもしれない。なので、マルウェア感染が確定したらさっさと連絡したほうが良いかも。
・マスコミ発表等
渉外部門やら病院上層部の判断ですね。情報システム部門が勝手に動くことじゃない。
・漏洩データに個人情報が含まれている場合には謝罪/補償などの対応
渉外部門やら病院上層部の判断ですね。情報システム部門が勝手に動くことじゃない。
4)発生時対応の後
長い長~い後始末である。
・情報整理、再発防止に向けての対応
ここに至るまでびすべての情報をメモって残しておくこと。いつ誰が何を話したかとかも超大事。
それをベースに報告書を作成し再発防止策を練り上げること。多分、ここに至るまでの間に色んな情報に触れ多くを知りどうすればよかったかわかるようになっている。それを報告し、再発防止策を予算化し粛々と進める。
外部に向けての対応策の公開ということになったら上記の資料が死ぬほど役に立つと思う。
この項目、たった数行のことだけどね、大変だろうけど。
これ以前、つまり事象発生する前に、自分や情報システム部門はどう考えてどういう仕組を構築してシステムを守ろうとしたいか、それを文章化して計画書や伺書、報告書という公的な文書として残しておいたらBestだと思う。まだそれがないんだったらそれをまず書こう。報告書や稟議書として簡単に決済されなくてもいいからまず書こう。そういう努力が病院を守るし自分も守る。
なんとかそれが通ったらあとは着実に実行してゆくのみ。
その途中で万一マルウェアに入られても「準備途上でした」と言える。それは「何もしてません、考えてませんでした」と言うより比べ物にならないぐらい状況が良くなるはずよ。
データを失うかもしれないけど、刺される後ろ指の本数は減るし針のむしろの針の数も減るかもしれない。担当者としてつらい状況を緩和できるだろうし、もしかすると同情すら買うことが出来るかも。
これはフザケているわけじゃないし笑い事でもない。
計画書などで書く内容は出来もしないことを上げるのではなく、運用規程の強化等すぐ出来そうなことから始めてその後時間をかけて出来ることを積み上げてゆくように。その中で必要な機器やソフトの購入とそれに係る運用を絡めて実効性があるようにすること。
文章はICTの言葉がわからない人間を相手にするのだから、平易な表現で要点を伝えることを心がけること。
あと、最初は理解されないかもしれないけど、どんなに対応しても「絶対に侵入されないシステムは無い」ということを前提にすることをきっちりと説明することかな。(ネットワークを別に分けてても感染した事例はあるらしい)
次回は障害/マルウェア対応の時間的なフローについて。