はじめに
Ubuntu仮想マシンの脆弱性を可視化し、修正するまでの一連の流れをまとめます。
今回のスキャンにはOrca Securityを使用しました。
これは単なる脆弱性スキャナではなく、クラウド全体のリスクを可視化する
CNAPP(Cloud Native Application Protection Platform)ソリューションのひとつです。
CNAPPを利用することで、以下のような広範なリスクを一元的に管理できます。
- OS・パッケージの脆弱性
- 設定ミス、構成不備
- シークレット漏洩
- マルウェア検知
- IAM権限リスク、ネットワークリスクなど
CNAPPソリューションには、以下のようなものがあります。
- Wiz(Wiz Inc.)
- Prisma Cloud(Palo Alto Networks)
- Microsoft Defender for Cloud(Microsoft)
- CloudGuard(Check Point)
- FortiCNAPP(Fortinet)
一方で、仮想マシンが少数で単一クラウド構成の場合は、
クラウドベンダーのネイティブな脆弱性スキャナを利用する方が効率的です。
- Amazon Inspector(AWS)
- Defender for Servers(Azure)
- Security Command Center(GCP)
ソリューションの使い分け
以下のように考えると、可視化範囲とコストのバランスが取りやすくなります。
| 環境規模 | 推奨されるソリューション |
|---|---|
| 少量・単一クラウド | ネイティブサービス |
| 大規模・マルチクラウド | CNAPP |
今回の目的
本記事では、以下の点を確認します。
- Ubuntu仮想マシンに存在する脆弱性を検出・可視化する
- OSアップデートにより脆弱性がどれだけ減少するか確認する
- CNAPPの考え方とクラウド環境での利用イメージを掴む
1. クラウド環境のオンボード
今回使用したOrca Securityを含む多くのCNAPPソリューションは、クラウド環境(AWSアカウント、Azureサブスクリプション、GCPプロジェクト等)をオンボードすることで、仮想マシンやクラウドリソースを自動的に認識し、スキャンを実行します。
オンボード手順については、本記事では割愛します。
2. スキャン実行と結果の可視化
多くのCNAPPソリューションはエージェントレス方式を採用しており、クラウド環境をオンボードするだけで仮想マシンやクラウドリソースを自動的に認識し、スキャンを実行します。
CNAPPはクラウド環境から取得した以下の情報をもとに、システム全体のリスクスコアを算出します。
- 仮想マシン(OS・パッケージ)の脆弱性
- ネットワーク構成やIAM権限
- ストレージ、公開設定、暗号化設定などのクラウドリスク
- 外部公開範囲や到達可能性
今回の検証では、以下のようなUbuntu仮想マシンを用意しました。

スキャン結果の概要は以下の通りです。
| 項目 | 内容 |
|---|---|
| OSバージョン | Ubuntu 18.04(2023年5月31日にEoL) |
| 脆弱性件数 | 1,901件 |
| リスクスコア | 7.4(Highリスク) |

スキャン結果には多くのセキュリティ関連用語が登場します。
代表的な用語を整理してみます。


| 用語 | 意味 |
|---|---|
| CVE | Common Vulnerabilities and Exposures の略。公開されている脆弱性に付与される一意の識別番号。脆弱性のカタログ番号。 例:CVE-2019-17041(2019年に登録された一連番号17041の脆弱性) |
| CISA / CISA KEV | CISA は米国サイバーセキュリティ庁 KEV(Known Exploited Vulnerabilities)は、実際に悪用確認済みの脆弱性リスト。「KEVに含まれる=攻撃リスクが高い」。 |
| EPSS | Exploit Prediction Scoring System。FIRST が運営する「悪用される確率のスコアリング」。FIRSTは、セキュリティインシデント対応に関する標準化や情報共有を実施する組織 EPSS Probability:悪用確率(0〜100%)。 EPSS Percentile:全脆弱性の中での相対順位(0〜100%)。 CVSSが低くても、EPSSが高いと危険。 |
| Exploits | 実際に攻撃するための公開コードや手法。「理論ではなく実際に攻撃可能か」を判断する材料。 |
| CVSS | Common Vulnerability Scoring System。重大度を 0〜10 で定量化する国際基準。スコアが高いほど重大。 |
| CVSS Source / Vector | 例:CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N 。「リモート攻撃可否」「必要権限」「影響範囲」など攻撃のしやすさ・影響度を示す要素。 |
| Exposure | 脆弱性のあるシステムが実際に到達可能かを示す。 例:Exposure: Public → インターネットから攻撃可能。 |
検出された脆弱性のひとつである CVE-2019-17041 の概要は以下のとおりです。
- NVD(米国標準技術研究所)が評価した結果、この脆弱性はCVSSスコア(Version 3.0)で算出したスコアは9.8で重大度はクリティカル
- EPSS Probabilityは、1.108%であり、悪用される確率は極めて低い。
- Exploitsは、1 Exploits linkとなっており、攻撃コードが存在する。
- CISA KEVはFalseであり、悪用された事実は存在しない。
3. アップデート前の準備:Ubuntuサブスクリプション登録
多くの脆弱性は、OSやライブラリを最新にすることで解消されます。今回はパッケージアップデートで対処します。
ただし、Ubuntuの標準サポート期間を過ぎた環境では、通常のアップデートだけでは修正ができないため、Ubuntu Pro に登録して ESM(Extended Security Maintenance) を有効化する必要があります。ESMを有効化するには、「Ubuntu Pro」サブスクリプションへの登録が必要です。
Ubuntu Proは通常有償ですが、個人向けの無料プランでは最大5台まで無償で利用可能です。規模が大きい場合は有償プランの契約が必要になります。
今回は、標準サポートが終了したUbuntu仮想マシンをアップデートするため、サブスクリプションの登録を実施しました。

今回サブスクリプション登録のために仮想Ubuntuで実行したコマンド例
-
sudo pro attach < Token >
→ トークンを使って Personal subscription にサーバを登録 -
sudo pro enable esm-infra
→ ESM(Extended Security Maintenance)を有効化(必要に応じて)
4. Ubuntuのアップデートで脆弱性を修正
サブスクリプションの登録が完了したので、アップデートコマンドを実行します。
-
sudo apt update
→ パッケージ情報を更新 -
apt list --upgradable
→ アップデート可能なパッケージを確認(任意) -
sudo apt upgrade -y
→ パッケージを最新化
注意点
アップデート前には、依存関係の不整合やアプリ停止のリスクがあるため、
スナップショットやバックアップを取得してから実施するのが鉄則です。

5. スキャン後の結果
CNAPPの再スキャン結果は、以下のとおりとなっています。
| 項目 | 内容 |
|---|---|
| 脆弱性件数 | 1,901件 → 98件 |
| リスクスコア | 7.4 → 5.3 |
約95%の脆弱性は、単純なアップデートで解消されたことになります。
6. CNAPPの観点で見る脆弱性管理
Ubuntu単体の脆弱性管理であれば、クラウドネイティブのサービス(例:AWS Inspector、Azure Defenderなど)で十分です。
ただし、次のような環境では話が変わります。
- 仮想マシンやコンテナが多数ある
- 複数クラウド(AWS / Azure / GCP)を利用している
- ワークロード、ネットワーク、IAM、シークレットを横断的に管理したい
こうした場合、CNAPPを導入することで「リスクをワンダッシュボードで統合管理」 できる点が強みとなります。
脆弱性の深刻度だけでなく、「クラウド設定ミス」「過剰権限」「外部公開リスク」 なども関連づけて分析可能です。
まとめ
- Ubuntu環境では、
apt update/upgradeだけで大半の脆弱性を修正可能 - スキャンツール(CNAPP)を使うと、修正効果を可視化できる


