マルウェアとは?種類・歴史・最新のファイルレス攻撃とAI悪用まで徹底解説

マルウェアとは?種類・歴史・最新のファイルレス攻撃とAI悪用まで徹底解説
目次

はじめに


マルウェアという言葉を聞くと、「コンピューターウイルス」を思い浮かべる人が多いかもしれません。

しかし、ウイルスはマルウェアの一種にすぎません。

現在の攻撃では、トロイの木馬で侵入し、ローダーが追加機能を読み込み、情報窃取型マルウェアが認証情報を盗み、最後にランサムウェアがデータを暗号化する、といった複合的な攻撃が行われます。

さらに、2025年から2026年にかけては、マルウェアファイルを端末へ保存せず、PowerShellなどの正規機能や盗んだアカウントだけで侵入する攻撃も重要になっています。

この記事では、マルウェアの基本的な種類から、歴史的な変化、ファイルレス攻撃、Living-off-the-Land、ランサムウェア、インフォスティーラー、AIを利用した最新のマルウェアまで、初心者にも分かる順番で解説します。


結論・要点

マルウェアは、悪意あるソフトウェア全体を表す総称です。

ウイルス、ワーム、トロイの木馬、ランサムウェア、スパイウェア、バックドア、ボット、ワイパーなどが含まれます。

現在のマルウェアについて、特に重要な点は次の5つです。

  1. 1つのマルウェアが複数の機能を持つ

  2. 情報窃取と認証情報の売買が攻撃の入口になっている

  3. ファイルを保存しないファイルレス攻撃が使われている

  4. OSの正規ツールや正規アカウントが悪用されている

  5. AIは攻撃を支援しているが、完全自律型マルウェアが一般化したとは確認できない

NISTはマルウェアを、データを破壊したり、侵入的なプログラムを実行したり、被害者のデータ、アプリケーション、OSの機密性・完全性・可用性を侵害したりする目的で挿入されるプログラムと説明しています。

一方、CrowdStrikeの2026年版レポートでは、同社が2025年に検知した活動の82%が「マルウェアフリー」だったとされています。

これは、攻撃の82%で被害がなかったという意味ではありません。正規の認証情報、クラウドサービス、管理ツールなどを悪用し、従来型のマルウェアファイルを使わずに攻撃していたという意味です。なお、この割合はCrowdStrikeの顧客環境と独自テレメトリーに基づく数値であり、世界中の攻撃全体を直接表すものではありません。


この記事で分かること

この記事を読むと、次の内容が分かります。

  • マルウェアとウイルスの違い

  • ウイルス、ワーム、トロイの木馬の違い

  • ランサムウェアとワイパーの違い

  • ローダー、ドロッパー、バックドア、RATの役割

  • インフォスティーラーが危険な理由

  • ファイルレス攻撃の仕組み

  • Living-off-the-LandとLOLBinsの意味

  • マルウェアの歴史的な変化

  • 2025年から2026年の最新傾向

  • Windows、Linux、Docker、Kubernetesでの確認方法

  • WAF、IPS、EDR、XDRで守れる範囲

  • 感染が疑われる場合の対処方法


対象読者・前提環境

この記事は、次の読者を対象としています。

  • マルウェアの種類を体系的に学びたい人

  • ITパスポート、基本情報技術者試験、情報処理安全確保支援士を学習している人

  • WindowsやLinuxサーバーを管理している人

  • Django、Nginx、Docker、Kubernetesなどを運用している人

  • SOC、CSIRT、EDR、IPSの運用に関わる人

  • 自社のマルウェア対策を見直したい担当者

特定のセキュリティ製品を導入していることは前提としません。


何が起きているのか

マルウェアは単体の悪意あるファイルから攻撃システムへ変化した

初期のコンピューターウイルスは、実行ファイルやフロッピーディスクへ自分自身をコピーする比較的単純なものでした。

現在の攻撃は、複数のプログラム、盗まれた認証情報、クラウドサービス、正規管理ツール、攻撃者による手動操作を組み合わせて進行します。

典型的な攻撃の流れは次のとおりです。

フィッシング・脆弱性悪用・盗難アカウント
                │
                ▼
       初期侵入用トロイ・Webシェル
                │
                ▼
          ローダー・ドロッパー
                │
                ▼
    情報窃取・認証情報窃取・権限昇格
                │
                ▼
          ネットワーク内の横展開
                │
                ▼
    データ窃取・暗号化・破壊・恐喝

このため、「検出されたファイルはランサムウェアか、トロイの木馬か」という1種類だけの分類では、攻撃全体を説明できません。

攻撃者は「侵入する」だけでなく「正規利用者としてログインする」

インフォスティーラーは、ブラウザに保存されたパスワード、Cookie、セッショントークン、暗号資産ウォレット、クラウド認証情報などを盗みます。

盗まれた情報は、別の攻撃者へ販売されることがあります。

Mandiantは、2024年に調査した侵害で、盗まれた認証情報が初期侵入経路の16%を占め、2番目に多い侵入経路になったと報告しています。Microsoftも、インフォスティーラーが認証情報とトークンを大量収集し、ランサムウェアなどの後続攻撃へつながる経済圏を形成していると説明しています。

脆弱性悪用も依然として重大である

認証情報の窃取が増えている一方、ソフトウェアの脆弱性を狙う攻撃も減っていません。

Verizonの2026 Data Breach Investigations Reportでは、同レポートのデータセットに含まれる侵害の31%で、ソフトウェア脆弱性の悪用が初期侵入経路になっていました。

ENISAの2025年脅威ランドスケープでは、調査対象となったEU関連事例において、フィッシングが60%、脆弱性悪用が21.3%の主要な侵入経路として報告されています。調査地域、期間、対象事例が異なるため、Verizonの数値とは直接比較できません。


自分に関係するのか

マルウェアは、Windowsパソコンだけの問題ではありません。

次の環境はすべて攻撃対象になります。

環境主に警戒する脅威
Windows PCインフォスティーラー、RAT、ランサムウェア、ローダー
LinuxサーバーWebシェル、バックドア、ルートキット、マイナー
macOSインフォスティーラー、偽アプリ、AppleScript悪用
Androidバンキングトロイ、RAT、SMS窃取、オーバーレイ攻撃
WebサーバーWebシェル、暗号資産マイナー、認証情報窃取
Docker悪意あるイメージ、Docker Socket悪用、マイナー
Kubernetes特権Pod、DaemonSet型展開、トークン窃取
VPN・ファイアウォール脆弱性悪用、認証情報窃取、バックドア
仮想基盤ESXi向けランサムウェア、管理認証情報の窃取
クラウドAPIキー窃取、IAM悪用、ストレージ破壊
IoT機器ボットネット、DDoS、プロキシ化
開発環境Gitトークン、SSH鍵、npm・PyPI認証情報の窃取

Microsoftは2026年、インフォスティーラーがWindowsだけでなくmacOSやPythonベースのクロスプラットフォーム環境へ広がり、ブラウザ、キーチェーン、開発環境などの秘密情報を狙っていると報告しています。

したがって、Linuxサーバーだけを厳重に守っていても、管理者のパソコンからSSH秘密鍵やCloudflare、GitHub、AWSなどのトークンを盗まれれば、正規の認証経路から侵入される可能性があります。


用語と全体像

マルウェアとウイルスの違い

マルウェアは「悪意あるソフトウェア全体」を表します。

ウイルスは、その中の一種類です。

マルウェア
├── ウイルス
├── ワーム
├── トロイの木馬
├── ランサムウェア
├── スパイウェア
├── インフォスティーラー
├── バックドア
├── RAT
├── ボット
├── ルートキット
├── Webシェル
└── ワイパー

現代のマルウェアは5つの軸で分類する

マルウェアの種類を理解するには、次の5つの軸に分けると整理しやすくなります。

分類軸確認する内容
侵入・伝播方法どのように侵入し、広がるか
実行方法どこで、どのようにコードを動かすか
機能何を盗み、何を操作するか
最終目的金銭、諜報、妨害、破壊のどれか
運用形態単独開発、MaaS、RaaSなど

例えば、WannaCryは「ワーム型の拡散機能を持つランサムウェア」です。Microsoftの分析では、未修正のWindows端末に対してSMBの脆弱性を悪用し、ネットワーク内へ拡散する機能を持っていました。


マルウェアの歴史

1980年代:ネットワークワームが現実の被害を発生させる

1988年のMorris Wormは、インターネット上の約6,000台のコンピューターへ影響を与えました。当時インターネットへ接続されていたホストは約6万台とされており、大規模なインターネットワームの危険性を示す出来事になりました。

この時代の主な特徴は、自己複製と技術実験です。

現在のような分業型の犯罪サービスや、盗んだ認証情報を販売する市場は、まだ一般的ではありませんでした。

1990年代:マクロウイルスと電子メールの普及

1990年代には、Microsoft Officeなどのマクロ機能を利用するウイルスが広がりました。

Melissaは1999年に発生したマクロウイルスです。感染したWord文書を開くと、メールソフトのアドレス帳を利用して、自動的に文書を送信しました。FBIは、当時最速級に拡散した感染事例として紹介しています。

ここで注意が必要です。

Gemini原文では、Melissa、CIH、ILOVEYOUが「1980年代から1990年代」の代表としてまとめられていました。しかし、Melissaは1999年、ILOVEYOUは2000年です。ILOVEYOUを1990年代のマルウェアとして扱うのは正確ではありません。NISTの資料も、Melissaを1999年、LoveLetterを2000年の事例として整理しています。

2000年代:ワーム、ボットネット、金銭目的の攻撃

2000年のILOVEYOUは、メール添付のVBScriptを通じて拡散しました。感染すると、メールソフトのアドレス帳を使い、さらに多くの利用者へ自分自身を送信しました。

ブロードバンドと常時接続が普及すると、感染端末を遠隔操作するボットネットが拡大します。

感染端末は、次の目的に使われるようになりました。

  • スパムメールの送信

  • DDoS攻撃

  • パスワード総当たり

  • 広告クリック詐欺

  • マルウェアの追加配布

  • 認証情報の窃取

  • 攻撃用プロキシ

この時期から、マルウェアの目的は技術的な自己顕示だけではなく、継続的な金銭獲得へ変化しました。

2010年代:標的型攻撃、ICS攻撃、ランサムウェア

2010年に確認されたStuxnetは、一般的なパソコンだけでなく、Siemensの産業制御環境を標的にしました。

CISAの資料によると、Stuxnetは複数のゼロデイ脆弱性を利用し、USBなどを通じて制御環境へ侵入する高度な構造を持っていました。

この事例は、マルウェアがデータを盗むだけでなく、物理設備の動作へ影響を与えられることを示しました。

2010年代には、QakBot、TrickBot、Emotetなどのモジュール型マルウェアも活発化しました。

CISAはEmotetを、フィッシングで拡散するトロイの木馬であり、追加マルウェアを導入するダウンローダーまたはドロッパーとしても機能すると説明しています。認証情報の総当たりや共有ドライブを利用したネットワーク内の拡散も確認されていました。

2017年:ワームとランサムウェアの複合化

WannaCryは、ランサムウェアにワーム型の自己拡散機能を組み合わせました。

利用者がすべての端末で添付ファイルを開かなくても、脆弱なWindows端末から別の端末へ自動的に拡散できた点が重要です。

同年のNotPetyaは、ランサムウェアのような画面を表示しながら、企業ネットワークを急速に横展開し、システムを破壊しました。

NotPetyaの事例は、ランサムウェアとワイパーの見た目が似る場合があることを示しています。Microsoftも、NotPetyaが複数の横展開手段を持つ急速なサイバー攻撃だったと分析しています。

2020年代:サプライチェーン、ID、クラウド、マルウェアレス

2020年に発覚したSolarWinds事件では、正規のOrionソフトウェアの更新経路にSUNBURSTバックドアが組み込まれました。

CISAは、SolarWindsのソフトウェアサプライチェーンを介して複数組織が侵害されたと報告しています。

この時期から、次の対象が特に重要になりました。

  • ソフトウェア更新経路

  • npmやPyPIなどのパッケージ

  • CI/CD

  • GitHub Actions

  • コンテナイメージ

  • クラウドAPI

  • IDプロバイダー

  • VPNやファイアウォール

  • 仮想基盤

  • ブラウザのCookieとトークン


マルウェアの主な種類

1. ウイルス


ウイルスは、ほかの実行ファイル、文書、ブート領域などへ自分自身を組み込みます。

生物のウイルスが細胞を利用して増えるように、コンピューターウイルスも宿主となるファイルを利用して活動します。

主な種類は次のとおりです。

  • ファイル感染型

  • ブートセクター型

  • マクロ型

  • 上書き型

  • ポリモーフィック型

  • メタモーフィック型

ウイルスは、感染したファイルが実行されることで活動を開始するのが基本です。

2. ワーム


ワームは、ネットワークやメール、USBなどを使って自分自身を複製し、ほかの端末へ広がります。

ウイルスとの主な違いは、宿主ファイルへの寄生を必須としない点です。

比較項目ウイルスワーム
宿主ファイル基本的に必要基本的に不要
自己複製するする
自動拡散限定的得意
主な経路ファイル、文書ネットワーク、メール、USB
代表例MelissaMorris Worm、WannaCry

3. トロイの木馬


トロイの木馬は、便利なソフトウェア、更新プログラム、文書、ゲームなどを装い、利用者に実行させます。

自己増殖するかどうかではなく、「正常なものに見せかけて侵入する」という性質を表す分類です。

現在のマルウェア配布では、次のような偽装が使われます。

  • 偽ブラウザ更新

  • 偽VPNクライアント

  • 偽PDF編集ソフト

  • 海賊版ソフトウェア

  • ゲームのチートツール

  • 偽CAPTCHA

  • 偽セキュリティ警告

  • 偽の採用課題

  • 偽の開発ツール

Microsoftは2026年、検索結果のSEOを悪用して偽VPNクライアントを配布し、VPN認証情報を盗む攻撃を報告しています。

4. ドロッパー


ドロッパーは、内部に格納している別のマルウェアを端末へ展開します。

荷物を運んできて、その場に置いていく配送役のようなものです。

ドロッパー自体が情報窃取や暗号化を行うとは限りません。

5. ダウンローダー


ダウンローダーは、外部のサーバーから追加マルウェアを取得します。

攻撃者は、最初のファイルを小さく単純にし、感染後に必要な機能だけを追加できます。

6. ローダー


ローダーは、取得したマルウェアをプロセスやメモリへ読み込み、実行します。

ドロッパー、ダウンローダー、ローダーは重複する機能を持つことがあり、製品や研究者によって分類が異なる場合があります。

7. バックドア


バックドアは、攻撃者が後から再侵入するための秘密の入口です。

主な機能は次のとおりです。

  • OSコマンドの実行

  • ファイルの送受信

  • 追加マルウェアの導入

  • シェル接続

  • 隠しアカウントの作成

  • C2サーバーとの通信

8. RAT

RATは、Remote Access TrojanまたはRemote Administration Toolの略です。

感染端末を遠隔操作する機能を持ちます。

  • 画面の閲覧

  • キーボードやマウスの操作

  • マイクやカメラの操作

  • ファイル操作

  • コマンド実行

  • パスワード窃取

  • 追加モジュールの導入

正規の遠隔管理ソフトでも、利用者の許可なく配置・操作されれば攻撃に悪用されます。

9. インフォスティーラー


インフォスティーラーは、端末から換金や追加侵入に利用できる情報をまとめて盗みます。

主な窃取対象は次のとおりです。

  • ブラウザに保存されたIDとパスワード

  • Cookie

  • セッショントークン

  • 自動入力情報

  • クレジットカード情報

  • 暗号資産ウォレット

  • SSH秘密鍵

  • VPN認証情報

  • AWS、Azure、Google Cloudの資格情報

  • GitHub、GitLabのトークン

  • Discord、Telegramなどのセッション

  • スクリーンショット

  • 開発環境のシークレット

Microsoftは、Lumma StealerをMaaSとして提供される情報窃取型マルウェアと説明しています。複数の攻撃者が管理画面からマルウェアを生成し、ブラウザや暗号資産ウォレットの情報を盗み、追加マルウェアを導入できる構造でした。

10. スパイウェア


スパイウェアは、利用者に気付かれないように行動や情報を監視します。

  • キー入力

  • 位置情報

  • 通話

  • SMS

  • マイク

  • カメラ

  • ブラウザ履歴

  • メッセージ

  • ファイル

インフォスティーラーが短時間で認証情報を回収する傾向を持つのに対し、スパイウェアは継続的な監視や諜報を目的とする場合があります。

ただし、両者の機能は重複します。

11. キーロガー


キーロガーは、キーボードから入力された内容を記録します。

パスワード、メール、チャット、検索内容などが窃取対象になります。

ソフトウェア型だけでなく、キーボードと端末の間へ取り付けるハードウェア型も存在します。

12. バンキングトロイ


バンキングトロイは、銀行や決済サービスの認証情報を盗み、不正送金を支援します。

主な機能は次のとおりです。

  • 偽ログイン画面の重ね合わせ

  • ブラウザへの不正な画面挿入

  • SMS認証コードの窃取

  • Androidアクセシビリティ機能の悪用

  • セッションの乗っ取り

  • 遠隔操作による送金

  • 送金先アドレスの置換

13. ランサムウェア


ランサムウェアは、データやシステムを利用不能にし、復旧と引き換えに金銭を要求します。

CISAは、ランサムウェアがファイルを暗号化するだけでなく、事前に情報を窃取し、公開すると脅す手法へ変化していると説明しています。

現在の主な形態は次のとおりです。

種類内容
暗号化型ファイルを暗号化する
画面ロック型端末操作を妨害する
二重恐喝型暗号化と情報公開の脅迫を行う
三重恐喝型DDoSや取引先への連絡も加える
窃取恐喝型暗号化せず、情報公開だけで脅す
破壊偽装型身代金を要求するが復旧できない

Mandiantが2025年に対応したランサムウェア侵害では、77%で情報窃取が確認または疑われました。また約43%で仮想化基盤が標的となっていました。ただし、これはMandiantが対応した事例の統計であり、世界中の全ランサムウェア攻撃を示すものではありません。

14. ワイパー


ワイパーは、データやシステムを破壊することを目的とします。

ランサムウェアとの違いは、基本的に復旧と引き換えに金銭を得ることではなく、業務停止や証拠隠滅、社会的混乱を狙う点です。

破壊対象には次が含まれます。

  • ファイル

  • ファイルシステム

  • MBRやブート情報

  • バックアップ

  • 仮想マシン

  • Active Directory

  • ネットワーク機器の設定

  • クラウドストレージ

ただし、ワイパーが身代金要求画面を表示し、ランサムウェアを装う場合があります。

15. ボットとボットネット


攻撃者の命令で動作する感染端末をボットと呼びます。

多数のボットをまとめたネットワークがボットネットです。

主な用途は次のとおりです。

  • DDoS

  • スパム送信

  • 総当たり攻撃

  • マルウェア配布

  • 広告詐欺

  • プロキシ提供

  • 暗号資産マイニング

  • Webサイト探索

16. クリプトマイナー・クリプトジャッキング


クリプトマイナーは、被害者のCPUやGPUを使って暗号資産を採掘します。

サーバーやKubernetes環境では、次の兆候が見られることがあります。

  • CPU使用率が長時間100%に近い

  • 不明なコンテナやPodが作成される

  • 外部のマイニングプールへ通信する

  • XMRigなどのプロセスが動く

  • 電力やクラウド料金が増加する

17. Webシェル


Webシェルは、侵害したWebサーバー上へ配置される遠隔操作用プログラムです。

PHP、ASP.NET、JSP、Pythonなどで作成され、HTTPリクエストを通じて命令を受け取ります。

  • OSコマンド実行

  • ファイルアップロード

  • ファイル改ざん

  • データベースへの接続

  • 認証情報窃取

  • 横展開

  • 追加バックドアの設置

Webシェルは、Webアプリケーションの脆弱性を悪用した後の永続化手段として使われます。

18. ルートキット


ルートキットは、マルウェアのファイル、プロセス、通信、ドライバーなどを隠します。

存在する層によって分類できます。

  • ユーザーモードルートキット

  • カーネルモードルートキット

  • ブートキット

  • ハイパーバイザー型

  • UEFI・ファームウェア型

高度なルートキットは、OSの再インストールだけでは除去できない可能性があります。

19. ロジックボム・タイムボム


ロジックボムは、特定の条件が成立したときに動作します。

タイムボムは、特定の日時に動作するロジックボムです。

例としては、次の条件が考えられます。

  • 特定の日付になった

  • 特定ユーザーが削除された

  • ファイルが開かれた

  • ネットワークへ接続した

  • 管理者が退職した

  • 特定のシステム状態になった

20. ICS・OTマルウェア


ICS・OTマルウェアは、工場、発電設備、水処理施設、交通設備などを狙います。

目的には次が含まれます。

  • PLCの制御変更

  • センサー値の偽装

  • 安全装置の妨害

  • 操業停止

  • 設備破損

  • 監視画面への偽情報表示


ファイルレス攻撃とは


「ファイルが一切ない」という意味ではない

ファイルレス攻撃とは、主要な悪意あるコードを通常の実行ファイルとしてディスクへ保存せず、メモリや正規機能を利用して実行する攻撃です。

次の場所や機能が使われます。

  • PowerShell

  • WMI

  • Windowsレジストリ

  • JavaScriptやVBScript

  • Officeマクロ

  • メモリ

  • タスクスケジューラ

  • 正規プロセスへのコード注入

「ファイルレス」という名称でも、最初の文書、ショートカット、スクリプト、ログなどがディスクへ残る場合があります。

重要なのは、主要なペイロードが一般的な実行ファイルとして保存されないことです。

インメモリ実行


インメモリ実行では、悪意あるコードをメモリへ直接読み込みます。

ディスク上のファイルを中心に検査する従来型アンチウイルスでは、検出が難しくなる可能性があります。

ただし、プロセスの親子関係、メモリ操作、コマンドライン、外部通信などを監視するEDRでは検出できる場合があります。

プロセスインジェクション


プロセスインジェクションは、正規プロセスのメモリへ悪意あるコードを挿入する手法です。

主な例は次のとおりです。

  • DLL Injection

  • Process Hollowing

  • APC Injection

  • Thread Execution Hijacking

  • Reflective DLL Loading

MITRE ATT&CKでは、これらをProcess Injectionとして分類しています。


Living-off-the-Landとは


Living-off-the-Landは、攻撃対象に最初から存在する正規ツールや機能を悪用する手法です。

例えるなら、侵入者が自分の工具を持ち込まず、建物内にある工具や鍵を使って犯行を続けるようなものです。

Windowsでは次のツールが悪用されます。

  • PowerShell

  • cmd.exe

  • rundll32.exe

  • regsvr32.exe

  • mshta.exe

  • msiexec.exe

  • certutil.exe

  • wscript.exe

  • cscript.exe

  • WMI

Linuxでは次が使われます。

  • bash

  • curl

  • wget

  • python

  • perl

  • ssh

  • cron

  • systemctl

MITRE ATT&CKは、正規バイナリを代理実行に利用する手法をSystem Binary Proxy Executionとして整理しています。また、PowerShellやWMIも、コマンド実行や永続化へ悪用される技術として分類されています。

正規ツールを禁止すれば解決するわけではありません。

管理者も同じツールを使用するため、次の条件を組み合わせて判断する必要があります。

  • 誰が実行したか

  • どの親プロセスから起動したか

  • どの時間帯だったか

  • どの引数を指定したか

  • エンコードや難読化があるか

  • 実行直後に外部通信したか

  • 永続化設定を変更したか


AI増幅型マルウェアとは

AIはすでに攻撃支援へ使われている


攻撃者は生成AIを次の用途へ利用できます。

  • フィッシング文面の作成

  • 翻訳

  • 標的ごとの文章調整

  • スクリプト作成

  • 難読化

  • 脆弱性の調査

  • ログや設定ファイルの解析

  • 攻撃手順の高速化

  • 偽サイトや偽アプリの作成

実行中にLLMへ問い合わせるマルウェアも確認された


Google Threat Intelligence Groupは2025年、PROMPTFLUXという実験的なドロッパーを確認しました。

PROMPTFLUXはGemini APIへ問い合わせ、VBScriptの難読化や回避用コードを取得する仕組みを持っていました。

ただし、Googleの分析では、確認された検体は開発・試験段階であり、被害者のネットワークや端末を実際に侵害できる完成状態は示されていませんでした。

したがって、次のように区別する必要があります。

確認された事実

  • 攻撃者が生成AIを攻撃ライフサイクルへ利用している

  • 実行中にLLM APIへ問い合わせる実験的マルウェアが確認された

  • AIを使った難読化やコマンド生成が研究・試行されている

現時点で断定できないこと

  • 完全自律型AIマルウェアが広く普及している

  • すべてのマルウェアがAIで自動変異している

  • 従来のEDRやアンチウイルスが無意味になった

AIは攻撃者の能力を増幅しますが、認証情報管理、パッチ適用、最小権限、バックアップ、監視などの基本対策が不要になるわけではありません。


なぜマルウェアは複雑化したのか

原因1:犯罪が分業化された

以前は、1人または1グループがマルウェアの開発、配布、侵入、金銭回収まで行うことが多くありました。

現在は、次の役割へ分業されています。

マルウェア開発者
      │
      ▼
MaaS・RaaSの運営者
      │
      ▼
フィッシング・初期侵入担当
      │
      ▼
Initial Access Broker
      │
      ▼
横展開・データ窃取担当
      │
      ▼
ランサムウェア実行者
      │
      ▼
恐喝・資金洗浄担当

Mandiantは、RaaSによる商品化と専門分業が、ランサムウェアへ参入する技術的な障壁を下げていると説明しています。

原因2:防御製品を回避する必要がある

セキュリティ製品がファイルのハッシュや署名を検査するようになると、攻撃者は次の技術を使うようになりました。

  • パッキング

  • 暗号化

  • 難読化

  • ポリモーフィック化

  • メタモーフィック化

  • ファイルレス実行

  • プロセスインジェクション

  • 正規ツールの悪用

  • セキュリティ製品の停止

  • ログの削除

原因3:クラウドとIDが新たな攻撃対象になった

クラウドでは、端末内のファイルを感染させなくても、APIキーやセッショントークンを盗めば操作できる場合があります。

攻撃者は、次の操作を正規API経由で実行できます。

  • ストレージの読み取り

  • 仮想マシンの作成

  • IAM権限の追加

  • ログの無効化

  • バックアップの削除

  • 暗号資産マイニング

  • データの持ち出し

この場合、従来型の「悪意ある実行ファイル」は存在しない可能性があります。


マルウェア感染の確認方法

最初に行うこと

感染が疑われる場合、いきなりファイルを削除したり、サーバーを初期化したりしないでください。

証拠や侵入経路を失う可能性があります。

優先順位は次のとおりです。

  1. 対象端末をネットワークから隔離する

  2. 実行中のプロセスと通信を記録する

  3. ログとメモリ情報を保全する

  4. 影響範囲を確認する

  5. 認証情報を安全な別端末から変更する

  6. 除去または再構築する

  7. 復旧後に再侵入がないか確認する


Windowsで実行中プロセスを確認する

目的

実行ファイルの場所、コマンドライン、親プロセスを確認します。

実行場所

管理者権限のPowerShellで実行します。

Get-CimInstance Win32_Process |
    Select-Object ProcessId, ParentProcessId, Name, ExecutablePath, CommandLine |
    Sort-Object Name

正常例

ProcessId       : 1420
ParentProcessId : 760
Name            : svchost.exe
ExecutablePath  : C:\Windows\System32\svchost.exe
CommandLine     : C:\Windows\System32\svchost.exe -k netsvcs

異常を疑う例

Name            : svchost.exe
ExecutablePath  : C:\Users\user\AppData\Roaming\svchost.exe
CommandLine     : powershell -enc ...

判断方法

ファイル名だけでは判断しません。

次の組み合わせを確認します。

  • Windows標準プロセスなのに保存先がユーザーフォルダ

  • OfficeやPDF閲覧ソフトからPowerShellが起動

  • 長いBase64文字列が指定されている

  • 一時フォルダ内の実行ファイル

  • 実行直後に未知の外部IPへ接続


Windowsの外部通信を確認する

目的

外部へ接続しているプロセスを確認します。

実行場所

管理者権限のPowerShellです。

Get-NetTCPConnection -State Established |
    Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess

プロセス情報を追加して確認する場合は次を使用します。

Get-NetTCPConnection -State Established |
    ForEach-Object {
        $process = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
        [PSCustomObject]@{
            Process       = $process.ProcessName
            PID           = $_.OwningProcess
            RemoteAddress = $_.RemoteAddress
            RemotePort    = $_.RemotePort
        }
    }

正常例

ブラウザが443番ポートでWebサイトへ接続している状態です。

異常を疑う例

  • WordやExcelが直接外部IPへ接続

  • 不明な一時ファイルが高頻度で通信

  • 深夜に管理ツールが未知の国のIPへ接続

  • 一定間隔で同じ宛先へ短い通信を繰り返す

判断方法

宛先IPだけで悪性と断定しません。

プロセス、ユーザー、時刻、通信間隔、DNS、TLS情報を組み合わせて判断します。


Linuxで実行中プロセスを確認する

目的

CPU使用率の高いプロセスや、不審なコマンドラインを確認します。

実行場所

対象Linuxサーバーのシェルです。

ps auxww --sort=-%cpu | head -30

プロセスツリーも確認します。

ps -ef --forest

正常例

postgres
gunicorn
nginx
redis-server
sshd

運用環境で利用している既知のサービスが表示されます。

異常を疑う例

/tmp/.x/kinsing
/var/tmp/kdevtmpfsi
bash -c curl http://... | sh
python -c import socket...

判断方法

次を確認します。

  • 実行ファイルの保存場所

  • 親プロセス

  • 実行ユーザー

  • CPUとメモリ使用率

  • コマンドライン

  • ファイルの作成日時

  • パッケージ管理下のファイルか


Linuxの待受ポートと外部通信を確認する

目的

不明な待受ポートや外部通信を確認します。

実行場所

対象Linuxサーバーです。

sudo ss -tulpn

確立済み通信を確認します。

sudo ss -tpn state established

正常例

環境で許可しているNginxの80・443番、SSH、データベースなどが表示されます。

異常を疑う例

  • 設計書にないポートが全インターフェースで待受

  • NginxやDjangoから不明な外部IPへ接続

  • 一時フォルダ内の実行ファイルが通信

  • 通常使わないIRCやマイニングプールへの通信


Linuxの一時フォルダを確認する

目的

一時フォルダに作成された実行可能ファイルを確認します。

実行場所

対象Linuxサーバーです。

sudo find /tmp /var/tmp -xdev \
    -type f -perm /111 -mtime -7 -ls 2>/dev/null

正常例

結果がない、または管理者が配置した既知の一時ファイルだけが表示されます。

異常を疑う例

  • ランダムな名前のELFファイル

  • 所有者がWebサーバー実行ユーザー

  • 作成直後から外部通信している

  • 削除しても再作成される

注意事項

見つかったファイルを直接実行しないでください。

削除前に、ハッシュ、所有者、日時、親プロセス、通信先を記録します。

sha256sum /path/to/suspicious-file
stat /path/to/suspicious-file
file /path/to/suspicious-file

systemdとcronの永続化を確認する

目的

再起動後にも実行される不審な設定を確認します。

実行場所

対象Linuxサーバーです。

systemctl list-unit-files --type=service
systemctl list-timers --all
sudo crontab -l
sudo ls -la /etc/cron.d /etc/cron.daily /var/spool/cron

異常を疑う例

  • /tmp/var/tmpを実行するサービス

  • curlwgetで定期的に外部ファイルを取得

  • Base64文字列を復号して実行

  • ランダムな名前のサービス

  • 削除しても復活するcron


Dockerを確認する

目的

不明なコンテナ、イメージ、マウント、CPU負荷を確認します。

実行場所

Dockerホストです。

docker ps --no-trunc
docker stats --no-stream
docker image ls --digests

コンテナのマウントを確認します。

docker inspect <コンテナ名またはID> \
    --format '{{json .Mounts}}'

異常を疑う例

  • 承認していないコンテナ

  • 不明なレジストリのイメージ

  • Docker Socketが不要なコンテナへマウントされている

  • ホストのルートディレクトリがマウントされている

  • 常時高CPUを使用する不明なコンテナ

  • --privilegedで動く不要なコンテナ


Kubernetesを確認する

目的

不明なPod、DaemonSet、特権コンテナを確認します。

実行場所

管理用端末またはコントロールプレーンです。

kubectl get pods -A -o wide
kubectl get daemonsets -A
kubectl get cronjobs -A

特権コンテナを確認します。

kubectl get pods -A -o json |
    jq -r '
      .items[] |
      .metadata.namespace as $ns |
      .metadata.name as $pod |
      .spec.containers[] |
      select(.securityContext.privileged == true) |
      "\($ns)\t\($pod)\t\(.name)"
    '

異常を疑う例

  • 見覚えのないDaemonSet

  • 全ノードで動く不明なPod

  • 不要な特権コンテナ

  • ホストの //var/run/docker.sock をマウント

  • 外部の不明なイメージ

  • マイニングプールへの通信

  • ServiceAccountへ過剰な権限が付与されている


感染が疑われる場合の対処方法

1. ネットワークから隔離する

EDRの隔離機能、スイッチ、VLAN、ファイアウォールなどを使い、感染端末の通信を止めます。

ただし、電源を直ちに切るとメモリ上の証拠が失われます。

ランサムウェアが現在進行中で、共有フォルダやほかの端末へ被害が拡大している場合は、証拠保全より拡散停止を優先する判断も必要です。

2. 証拠を保全する

最低限、次を保存します。

  • プロセス一覧

  • ネットワーク接続

  • ログイン履歴

  • DNSログ

  • EDRアラート

  • ファイルハッシュ

  • 作成・更新日時

  • タスクスケジューラ

  • cron、systemd

  • クラウド監査ログ

  • コンテナとPodの定義

3. 認証情報を変更する

感染した可能性がある端末からパスワードを変更してはいけません。

安全な別端末を使用します。

変更対象は次のとおりです。

  • OSアカウント

  • メール

  • VPN

  • GitHub、GitLab

  • AWS、Azure、Google Cloud

  • Cloudflare

  • SSH鍵

  • APIキー

  • データベース

  • CI/CD

  • SaaS管理者アカウント

セッションCookieとトークンも失効させます。

パスワード変更だけでは、盗まれた有効なセッションを止められない場合があります。

4. 侵入経路を閉じる

  • 脆弱性へ修正プログラムを適用する

  • 漏えいした認証情報を無効化する

  • 不要な外部公開ポートを閉じる

  • 悪意あるメールやファイルを全端末から削除する

  • 不正なOAuthアプリを解除する

  • 改ざんされたパッケージやイメージを除外する

  • Webシェルを設置された脆弱性を修正する

5. 原則として信頼できる状態から再構築する

ルートキット、管理者権限の侵害、ドメイン侵害、ファームウェア感染が疑われる場合、ファイルを削除するだけでは安全を確認できません。

信頼できるイメージから再インストールまたは再構築します。

バックアップを復元する場合も、感染前の時点であり、マルウェアが含まれていないことを確認します。


動作確認

復旧後は、マルウェアが消えたことだけでなく、侵入経路と永続化が残っていないことを確認します。

確認項目

  • 不審なプロセスが再出現しない

  • 不審な通信が再発しない

  • 不明なアカウントが存在しない

  • 管理者権限が適正である

  • cron、systemd、タスクスケジューラが正常である

  • Webファイルの改ざんがない

  • コンテナとPodが承認済みである

  • クラウドAPIキーが更新済みである

  • 旧セッションが失効している

  • MFAが有効である

  • EDRが正常に動作している

  • バックアップから実際に復元できる

  • 外部公開サービスへ修正が反映されている

監視期間

復旧直後だけでなく、一定期間は次を重点監視します。

  • 同一IPやドメインへの再接続

  • 同じファイルハッシュの再作成

  • 同じユーザーによる異常ログイン

  • 深夜や休日の管理操作

  • 新しいOAuth連携

  • 新しいSSH鍵

  • 新しいServiceAccount

  • 新しいDaemonSet

  • 新しいクラウドアクセスキー


再発防止

1. パッチ管理

OS、VPN、ファイアウォール、Webフレームワーク、ライブラリ、仮想基盤を継続的に更新します。

Verizonの2026年DBIRでは、脆弱性悪用が同レポートの侵害データにおける最大の初期侵入経路となっていました。

特に優先する対象は次のとおりです。

  • インターネットへ公開している製品

  • CISA KEVへ掲載された脆弱性

  • VPN、ファイアウォール

  • メールサーバー

  • ファイル転送製品

  • 仮想基盤

  • Webフレームワーク

  • 認証基盤

2. 多要素認証

管理者、VPN、クラウド、メール、Git、リモートアクセスにはMFAを設定します。

可能であれば、SMSよりFIDO2、パスキー、ハードウェアセキュリティキーなどのフィッシング耐性が高い方式を優先します。

3. 最小権限

  • 一般利用と管理作業のアカウントを分ける

  • 常時管理者権限を使わない

  • KubernetesのClusterRoleBindingを制限する

  • Docker Socketを不要なコンテナへ渡さない

  • クラウドIAMへ期限と条件を設定する

  • CI/CDのトークンをリポジトリ単位で制限する

4. ネットワーク分離

  • 利用者端末とサーバーを分ける

  • 管理ネットワークを分離する

  • バックアップ環境を分離する

  • サーバー間通信を必要最小限にする

  • KubernetesのNetworkPolicyを設定する

  • データベースをインターネットへ直接公開しない

5. バックアップ

ランサムウェア対策では、バックアップの存在だけでなく、攻撃者から削除・暗号化されないことが重要です。

推奨構成は次のとおりです。

本番データ
   │
   ├── オンラインバックアップ
   │
   ├── 別アカウント・別環境のバックアップ
   │
   └── オフラインまたはイミュータブルバックアップ

定期的に復元試験を行います。

6. アプリケーション制御

  • AppLocker

  • Windows Defender Application Control

  • SELinux

  • AppArmor

  • コンテナの読み取り専用ファイルシステム

  • 実行可能ディレクトリの制限

  • Officeマクロ制御

  • スクリプト実行ポリシー

単純な拡張子禁止だけでは不十分です。

7. ログを一元管理する

端末、サーバー、クラウド、認証、ネットワークのログを相関分析します。

flowchart LR
    A[EDR・端末ログ] --> F[SIEM・XDR]
    B[IPS・Firewall] --> F
    C[DNS・Proxy] --> F
    D[Cloud Audit Log] --> F
    E[Kubernetes Audit] --> F

    F --> G[相関分析]
    G --> H[自動隔離・チケット・通知]

8. ソフトウェアサプライチェーンを保護する

  • lockファイルを使用する

  • パッケージのハッシュを確認する

  • 依存関係を定期監査する

  • SBOMを作成する

  • コンテナイメージへ署名する

  • 信頼するレジストリを限定する

  • CI/CDの秘密情報を短期間で更新する

  • 管理者変更やパッケージ移管を監視する

CISAは、実際に広く利用されるnpmパッケージへマルウェアが混入した事例を注意喚起しています。


WAF・IPS・EDR・XDRは何を防げるのか

対策得意な領域単独では防ぎにくい領域
WAFSQLi、XSS、Web攻撃、既知の不正リクエスト管理PCの感染、盗難ID、内部横展開
IPS既知脆弱性悪用、C2通信、スキャン暗号化通信内の未知攻撃、正規ID悪用
アンチウイルス既知マルウェア、悪意あるファイルファイルレス、正規ツール悪用
EDRプロセス挙動、親子関係、メモリ、端末隔離ネットワーク全体やSaaSだけの攻撃
XDR端末、ID、メール、クラウドの相関ログが取得できない機器
SIEM複数ログの長期分析、相関、監査エージェントによる直接隔離
NDRネットワーク内の異常通信、横展開暗号化通信の内部内容、端末内だけの動作
CNAPP・CWPPクラウド、コンテナ、Kubernetes利用者端末やメール攻撃

WAFを導入していても、フィッシングで管理者のCookieを盗まれれば侵入される可能性があります。

EDRを導入していても、監視対象外のVPN装置やハイパーバイザーが侵害される可能性があります。

製品を1つ導入するのではなく、端末、ID、ネットワーク、クラウド、バックアップを組み合わせて守る必要があります。


注意点・よくある誤解

「ウイルス対策ソフトがあれば安全」は誤り

アンチウイルスは重要ですが、盗まれた認証情報、クラウドAPI、正規管理ツールだけを使う攻撃には限界があります。

「Linuxにはマルウェアがない」は誤り

Linuxサーバーも、Webシェル、ルートキット、暗号資産マイナー、ランサムウェア、認証情報窃取の対象です。

「ファイルレスなら痕跡が残らない」は誤り

プロセス生成、PowerShellログ、WMI、メモリ、ネットワーク、認証ログなどに痕跡が残る可能性があります。

「マルウェアフリー攻撃はマルウェア感染の一種」は厳密には異なる

マルウェアフリーは、悪意ある専用ファイルを使用せず、正規ツールや認証情報で攻撃する活動を表します。

マルウェアの種類ではなく、攻撃手法の分類に近い言葉です。

「ランサムウェアは暗号化だけを行う」は誤り

現在は、暗号化前の情報窃取、バックアップ破壊、仮想基盤攻撃、公開脅迫などが組み合わされます。

「AIマルウェアがすでに完全自律化した」は確認できない

AIを難読化、コマンド生成、フィッシング、調査へ利用する事例は確認されています。

一方、人間の指示なしに標的選定から侵入、横展開、破壊まで完遂する完全自律型マルウェアが一般化したという一次情報は確認できません。

「2025年のマルウェアの37%がインフォスティーラー」は確認できない

Gemini原文には、「2025年の全マルウェアインシデントの約37%」という記載がありました。

しかし、調査対象、母数、地域、製品テレメトリーなどを明示した信頼できる一次情報を確認できなかったため、本記事では採用していません。

代わりに、Mandiantが確認した「盗難認証情報が2024年の初期侵入経路の16%を占めた」という、範囲の明確な数値を使用しています。


まとめ

マルウェアは、悪意あるソフトウェア全体を表す総称です。

ウイルス、ワーム、トロイの木馬だけでなく、ランサムウェア、インフォスティーラー、RAT、バックドア、Webシェル、ルートキット、ワイパーなど、多くの種類があります。

歴史的な変化は、次のように整理できます。

1980年代
自己複製とネットワークワーム
        ↓
1990年代
ファイル感染・マクロウイルス
        ↓
2000年代
メールワーム・ボットネット・金銭目的
        ↓
2010年代
標的型攻撃・ICS・ランサムウェア
        ↓
2020年代前半
RaaS・サプライチェーン・クラウド侵害
        ↓
2025~2026年
インフォスティーラー・ID攻撃・ファイルレス・AI増幅

現代の攻撃では、1つの検体名だけで判断してはいけません。

次の要素へ分解して確認する必要があります。

侵入経路
+
実行方法
+
永続化
+
遠隔操作
+
情報窃取
+
横展開
+
暗号化・破壊
+
犯罪サービスの運用形態

今後の防御では、ファイルのハッシュだけでなく、プロセス、通信、ID、クラウドAPI、コンテナ、仮想基盤を横断した監視が重要です。

基本対策であるパッチ適用、MFA、最小権限、ネットワーク分離、バックアップ、ログ監視は、AIを利用した攻撃に対しても引き続き有効です。


FAQ

Q1. マルウェアとコンピューターウイルスは同じですか?

同じではありません。

マルウェアは悪意あるソフトウェア全体です。ウイルスは、ほかのファイルへ感染して自己複製するマルウェアの一種です。

Q2. ワームとウイルスの違いは何ですか?

ウイルスは基本的に宿主となるファイルを必要とします。

ワームは単独で動作し、ネットワークなどを通じて自動的に広がる能力を持ちます。

Q3. トロイの木馬は自己増殖しますか?

トロイの木馬という名称は、自己増殖の有無ではなく、正常なソフトウェアを装う性質を表します。

自己拡散機能を追加で持つ可能性はあります。

Q4. ランサムウェアとワイパーの違いは何ですか?

ランサムウェアは、基本的に金銭を得るため、データを人質に取ります。

ワイパーは、データやシステムの破壊自体を目的とします。

ただし、ワイパーがランサムウェアを装うことがあります。

Q5. インフォスティーラーへ感染したら、パスワード変更だけで十分ですか?

十分とは限りません。

Cookie、セッショントークン、APIキー、SSH鍵なども盗まれている可能性があります。

すべてのセッションを失効し、トークンと鍵を再発行する必要があります。

Q6. WAFがあればWebシェルを防げますか?

既知の脆弱性悪用や不正リクエストを防ぐ補助になります。

しかし、認証情報を使った正規ログイン、未知の脆弱性、アップロード機能の設計不備などは、WAFだけでは防げません。

Q7. EDRがあればランサムウェアを完全に防げますか?

完全ではありません。

EDRは端末上の異常動作を検知・隔離する強力な対策ですが、監視対象外のVPN、ESXi、NAS、SaaS、クラウドAPIなどが攻撃される可能性があります。

Q8. AIが自動で新しいマルウェアを作っているのですか?

攻撃者がAIをコード作成、難読化、フィッシング、調査に使う事例は確認されています。

実行中にLLMへ問い合わせる実験的マルウェアも確認されていますが、完全自律型マルウェアが一般化したとは確認できません。

Q9. Linuxサーバーでは何を優先的に監視すべきですか?

次を優先します。

  • Webプロセスから起動されたシェル

  • /tmp/var/tmpの実行ファイル

  • 不明なsystemdサービス

  • cronの改ざん

  • 不明な外部通信

  • 高CPUプロセス

  • SSH鍵と管理者アカウント

  • Docker Socket

  • コンテナの特権設定

Q10. マルウェア感染が疑われる端末の電源を切るべきですか?

状況によります。

電源を切ると、メモリ上の証拠が失われます。一方、ランサムウェアが拡散中であれば、ネットワーク隔離や停止を優先する必要があります。

組織では、事前にインシデント対応手順を決めておくことが重要です。


参考情報


読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ

コメント(0件)

まだコメントはありません。最初のコメントを投稿してください!

コメントを投稿