製品進化とマネジメント風景 第139話 マルウェア感染リスクを低減するマネジメント(その1)
この所、大手企業の情報システムが乗っ取られるケースが増えてきました。生産性向上のためには1か所で中央集権的に制御するのが良いソリューションですが、逆に、そこを乗っ取られるとその影響は非常に大きくなります。まさにその種の事が起こってしまったように見えます。
IT技術は進化を続けていますが、忘れてはいけないのが、それと歩調を合わせながらマルウェアも進化をし続けていることです。今回は、進化を続けるマルウェアの全体像を概観しつつ、マルウェア感染リスクを低減するための一般的なマネジメントについて議論していきます。
なお、次回のコラムでは、少し専門的にはなりますが、自分の会社(中小企業を想定)や家族を守るために最低限、必要と考えられる具体策、それもIT専門家でなくても実施可能なものを紹介する予定です。小規模な情報システムであれば、そのレベルであっても、無策と比べれば、セキュリティは飛躍的に高まると考えています。
昔はマルウェアという言葉はまだなく、コンピュータウイルスという言葉しかありませんでしたが、2000年頃からマルウェアという言葉が使われ始めたようです。日本でマルウェアという言葉が一般化したのはおそらく2010年代だと思います。その理由は、ウイルス以外の悪意のあるものが増えたためですが、現時点では大きく4つに分類されています。
4つの分類のうち、「ウイルス」、「ワーム」、「トロイの木馬」の3つについては、専門家の間でも異議はないようですが、4番目の分類は専門家により少し違いが出てきます。そのため、「その他」とする人が多いですが、脅威に曝される立場としては具体的な名前が欲しい所です。
このコラムでは、4番目を「ファイルレス・マルウェア」とすることにしました。その理由は、最近の攻撃が次第にファイル型からファイルレス型に変わってきているからです。なお、今の時代であれば「ランサムウェア」の事を無視できませんが、これは1~4番目を組み合わせた総合パッケージなので、あえて分類から外しました。
さて、上記の4つの分類のそれぞれについて、相互の違いに焦点を当てながら説明していきます。まず、ウイルスですが、これは人間に感染するウイルスと同様に宿主が必要であり、その宿主はデータやプログラムといったファイルです。
ウイルスが拡散していくためには、通常、人間の手を借りる必要があります。例えば、感染したファイルを知らないうちに人間が電子メール、クラウド、リムーバブルメディア(USB, SDカード、外付けハードディスク等)に保存し、他の人がそれらのファイルにアクセスするという形で拡散していきます。ウイルスの目的は、ファイルの破壊や改ざん、あるいはコンピュータに異常な動作をさせることです。
ワームは宿主を必要とせず、自分自身の力で増殖し、拡散していきます。この点がウイルスとの大きな違いです。感染経路はネットワークとリムーバブルメディアがメインです。自律的にリムーバブルメディアに入り込む、あるいはインターネットを通して解放されているポートから侵入してきます。ワームの目的は自身の増殖と拡散であり、その結果として、コンピュータやネットワークの負荷が上がって害を及ぼします。
トロイの木馬には様々な派生型がありますが、その目的は、ユーザに知られないようにコンピュータ内に潜み、バックドアを仕込む、あるいはパスワードなどの秘密情報を盗み、そのコンピュータを遠隔操作できるようにしてしまうことです。例外はありますが、存在を隠すことを重視しているので、通常は増殖や拡散活動はしません。増殖、拡散の活動を行うと、ユーザに検知される確率が高いからです。
トロイの木馬の代表例として挙げられるのが、RAT(Remoto Access Tool)やキーロガーです。前者はその名の通り、遠隔操作が目的であり、後者はユーザによるキーボード入力を盗むためのものです。そうなると、コンピュータ上にあるデータだけでなく、クラウド上にあるデータも盗まれてしまう可能性がでてきます。あるいは、他の乗っ取ったコンピュータと協働し、金融機関や大手企業に対するDDoS攻撃を仕掛けるのに使われてしまいます。
最後はファイルレス・マルウェアです。これはその名のとおりファイルがないので、通常のウイルス検知ソフトウェアでは見つけることができません。(最近はこの機能を追加したものが出てきています)。ファイルレス・マルウェアは、多くの場合、ブラウザやオフィスソフト等のビジネスツールの脆弱性を突き、そこからメモリやレジストリ(ハードディスク上にあるOS用データベース)にコードを注入します。その際、OSが使用するプロセスツールを流用する場合もあって、検知が難しいと言われています。
メモリ(揮発性)にいるマルウェアは電源を消せば消えます。しかし、マルウェアは当然、電源を消しても生き残ろうとするため、通常、レジストリに入り込むことが多く、そうなると電源を消しても消えず、起動とともに復活します。
これからの時代のマルウェア検知はファイルレス・マルウェアの考慮が必須です。見つけにくいので、様々な観点からの検知が必要となります。完全な初心者には難しいですが、少し学ぶだけで対応できるものが多く、これらについては次回のコラムで詳しく議論したいと思います。
今回のコラムでは、初心者であっても対応できる「ファイルレス・マルウェア検知」の方法に限定して説明します。メモリやレジストリでマルウェアが活動している場合には、必ず、コンピュータのCPU負荷やメモリ占有率が上がります。そのような以上であれば、Windows PCであれ、Linux PCであれ、初歩的な対応で異常を検知できます。
例えば、Windows PCであれば、Windows sysinternalsというソフトウェア群の中の、Process Explorer、ProcMonあるいはAutorunsにより大抵の初期症状に気付くことが可能です。
Process Explorerはプロセスの詳細情報を静的に表示します。ProcMonはWindowsに標準装備されているタスクマネジャの詳細版であり、これらはリアルタイムに動的なプロセス情報をモニターできます。さらにAutorunsは、PCを起動した時に必ず起動されるプロセスをモニターできます。
前述したように、メモリで活動する類のマルウェアは、レジストリに根拠を持ち、PCの起動とともに動き出すように設定されているものが多く、それらはAutorunsによって検知できる可能性があります。不審なプロセスをその場で削除することもできるので、仮に感染していても被害を最小限に抑えることができます。
マルウェア駆除は専門家の手が必要かもしれませんが、クリーンなバックアップを持っていて、しかも一定のスキルがあれば、自らの手でコンピュータをまっさらにして、OSをクリーンインストールして回復可能です。個人的はこれが一番手っ取り早いと考えています。
Linux PCあるいはWindowsにWSL(Windows上で動くLinux)をインストールしている場合には、Linuxのコマンドをある程度知っている必要があります。ただ、今の時代はCopilotやChatGPTと言った言語系AIに相談すれば、高い確率で欲しいコマンドを教えてくれるので、Linuxに詳しくない人でもすぐに対応できるようになります。
結果として、初心者であっても、その気になれば最低限の検知はすぐにできるようになれるのです。不審プロセスや不審通信の有無についてもコマンド1つで検知可能です。 Linuxのコマンドとしてはhtopが簡単で検知能力も高くお勧めです。これはWindowsのタスクマネジャの詳細版であり、しかもグラフィクス的に見やすいのが特徴です。
より本格的なマルウェア検知やその源となる不審通信の検知も必要ですが、これらは次回に述べたいと思います。
PCを中心に話してきましたが、スマホは事情が少し変わります。スマホはそもそも、一般ユーザが特権ユーザになることができず、また、各アプリはサンドボックス方式という形で隔離されており、PCと比べて高いセキュリティを有する仕様となっています。そのため、アンチウイルスソフトを導入してもその権限は弱く、できることが限られています。
このように述べるとスマホの方がPCよりも安全のように感じるでしょう。そのとおりなのですが、逆にマルウェアに深く入り込まれてしまうと、その検知や除去の難易度が非常に高くなり、一般ユーザが出来ることと言えば、「以前よりも重たくなったな」と気付き、開発者モードに変更し、バックグラウンドで動いているプロセスを可視化して止めることぐらいです。 それ以上の話は専門家を頼る必要があります。
さて、ここまではソフトウェア型のマルウェアの話をしてきました。通常はこの範囲で事足りるはずですが、今の時代はハードウェア型のマルウェアも出てきています。ハードウェア型の中には検知が非常に難しいものがあるため厄介です。
ハードウェア型マルウェアの代表はUSB型と電源型(PC電源、モバイル電源)です。いわゆるUSBメモリについては、その中にデータが入っているので注意する人も多いと思いますが、USBハブにマルウェアが仕込まれている場合があるので注意を要します。
ハードウェア型については、上記以外にもPCの起動にかかわるUEFI/BIOSに仕込まれるケース、ファームウェアやマザーボードに仕込まれるケース、小型家電に仕込まれているケースが報告されています。
上記の具体例の中には、専門家でなくても対応できることはあります。例えば、UEFI/BIOS関連では、標準装備されているTPMでセキュアブート化すれば防御力が一気に増します。最近のPCはどれもTPMを標準装備しているのですが、なぜか初期状態はセキュアブートが無効となっています。よって、これを有効にすれば、UEFI/BIOS関連でマルウェアに犯される確率を大幅に下げることが可能です。
ただし、中古品などでは、あらかじめ不揮発性メモリやマザーボードにマルウェアが仕込まれている場合があるそうなので、これらは専門家でないと手に負えないでしょう。よって、中古PCの購入は要注意です。
ちなみに、USB型マルウェアについては、Windows PCおよびLinux PCについて、ある程度の検知は初心者でもできます。USBハブを含め、USBに接続した機器が使用するUSBポートや接続先に関する全ての情報を可視化することができ、加えて、ベンダーID、プロダクトIDおよびシリアル番号も確認できます。
ベンダーIDとプロダクトIDは通常4桁の数字または英数字であり、インターネットで調べればどのメーカのものかを特定することができます。「unknow」と表示される場合にはよくよくチェックし、使うのを止めた方が無難でしょう。
上記のように、今日ではマルウェアに感染する可能性が日々、高まっています。専門家でなくても、ある程度の基礎的な知識を持たないと、会社はもちろん、自分や家族の身ですら守ることもできない時代になってきたようです。