4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Qubes OS】って結局何ができるの?

4
Last updated at Posted at 2025-08-27

1. そもそも Qubes OS とは

ここへ来た人にこの説明が必要だとは思わないですが
Qubes OS とはXenハイパーバイザの上で多数の軽量VM(= qube)を並べ、作業・データ・デバイスを箱ごとに隔離する“security by compartmentalization”を採るOSです。

ネットワークやUSBコントローラなどシステム部品もVM化してサンドボックス化するのが特徴です。

ま、わかりやすく言えば、PC上で動くサービスをそれぞれ個別の仮想マシンがやってるわけです。

2. 「インスタンス」とは

Qubes公式用語では主に以下を使います。一般に「インスタンス」と言われがちですが、Qubesでは qube(= 1つのVM)と呼ぶのが正確です。(そりゃあQubes OSっていうくらいなので)

2.1 dom0

  • 管理ドメイン。GUI・ポリシー・VM管理のみ担当。原則ネット接続しない。←これ超重要です。管理者をこの危ないインターネットに晒してはいけません。

2.2 App qube(旧AppVM)

  • 日常アプリを動かす箱。ユーザー作業の単位。名前の通りAppのqubeです。

2.3 TemplateVM

  • App qubeの読み取り専用rootを供給する親。ソフトはTemplateに入れて、子に反映。
    App qubeを作るときにはここをもとに作るってわけです。
    例えば、ふだんzshを使っている人はここにzshを入れとく、といった具合です。

2.4 Disposable(使い捨てVM)

  • 閉じたら痕跡ごと消える一次隔離箱。怪しいURL/添付はまずここで開く。
    サンドボックス的なことですね。やばかったらqubeごとポイっと捨てれます。
    ※ほかのqubeもマネージャーからぽちっと消せますが、あくまで緊急時、構成変更時くらいです。Disposableは使い捨て前提のqubeです。

2.5 Service qube

  • sys-net(NIC担当) / sys-firewall(中継・フィルタ) / sys-usb(USB隔離)などの基盤qube。
    前述の通り、qubesはサービスもすべてがqubeなんですね。投稿者は、sys-net、sys-firewallの設定でだいぶ手こずり、何日も格闘してました。
    また、sys-usbも曲者です。慣れるまでに時間を要するかもしれません。

2.6 Whonix連携

  • sys-whonix経由でTorへ。匿名化が欲しい作業用の経路。これといって特別なことはないです。匿名といってもFingerPrintなんかでまぁまぁばれてます。むしろ、投稿者は変に偽装せずに、「よくあるFingerPrint」のようにふるまっています。

2.7 Split機構(Split GPG / Split SSH)

  • 秘密鍵は金庫qubeに置いたまま、別qubeから暗号操作だけを委譲。これもなかなか独特ではあります。qubeを分ければ、物理的に2台のPCを置いているようなものですからね。こんなこともできます。

2.8 qrexec / RPCポリシー

  • qube間の通信・操作を最小権限で制御する仕組み。誰が誰に何を許すかをポリシーで定義してます。

3. Qubes で「なにができる?」

  • 危険度別の箱分け(ブラウズ/開発/家計/会社/匿名化/USB 等)
    これが最大の長所です。ネットワークの学習などで『コリジョンドメインを分割~』なんてやった方もいるかもしれません。それに近い考え方で、脅威に触れる主単位を可能な限り分割することで、事故発生後の被害を最小限に食い止めることができます。

  • 明示操作の受け渡し(ファイル・クリップボード)。うっかり横漏れを抑止

  • Windowsワークロードも統合(Qubes Windows Tools)

4. ではどこまで“見える”?(可視性の境界)

  • sys-net:パケットは見えるがアプリ中身は見えない。
  • App qube同士:デフォルト相互不可視。許可したqrexec/RPCだけ通る
  • dom0:他を管理できるがネット非接続。ここでブラウズ/受け渡しはしない。
  • USBsys-usbが受け口。悪意USBはここで止める(それでもUSBは危険物という前提)。

5. ハックされるケース想定 ×3 と、回避運用

ここでは、じゃあどんなことが起きたら、どう有効に働くの?なんてことを軽く説明します。
あまり詳しくない方には「?」かもしれませんし、詳しい方には釈迦説かもしれませんが。

5.1 ケースA:ブラウザ経由のゼロデイ/ドライブバイ

想定リスク:閲覧だけでRCE→セッション・Cookie・ファイル奪取。

      なんか変なの見てたらいろいろ奪われた!!

回避運用

  • ふだんのリンク/添付は必ず Disposable で開く(“Open in Disposable”)。
  • ログイン必要サイト用に**専用App qube(banking/gov/shopping など)**を分離。
  • Split GPG/SSHで鍵を別qubeに隔離。奪われる素材を置かない。
  • 匿名調査は**sys-whonix**配下で。

5.2 ケースB:USB/Bluetooth(BadUSB 等)

想定リスク:入力デバイス偽装・ストレージ経由の注入。

  このUSB誰のだろう、(挿入).....💀 (こんなことやらかしたらおしまいですよ)

回避運用

  • sys-usb必須。デバイスは必要なqubeへ明示的にアタッチ
  • 可能ならUSBコントローラ別に sys-usb-trusted / sys-usb-unk を分割。
  • dom0へ直結禁止(ポリシーと手順で徹底)。

5.3 ケースC:オフィス文書/PDFのエクスプロイト+横移動

想定リスク:添付開封→持続化→他qubeへコピーで拡大。

   なんかPDF必読って来てるな...だれかセキュリティ事故でもやらかしたか?←

回避運用

  • メール閲覧専用qube → 受信→Disposableで開く→必要部だけコピー
  • 編集用はネット無し、受信箱はネット有りで役割×ネット接続を二段構え。
  • qrexecポリシーで不用意な経路を閉じ、dom0へは何も持ち込まない

6. ユースケース別「分け方」プリセット

6.1 最小構成(まずはここから)

  • sys-net / sys-firewall / sys-usb(あれば)
    ただし、usb設定については本当に本当に面倒になることがあります。
    例えば、 「usbはデフォルトで全部拒否!ホワイトリストにします!ポチ!」 の瞬間にキーボード、マウス全拒否で操作不能...なんて
  • vaultネット無し:パスワードDB・PGP鍵・SSH鍵)※Split GPG/SSH推奨
  • work(会社系) / personal(私用)
  • browse(Template軽量化)+Disposable既定
  • sys-whonix + anon-web(必要時のみ)
    当然、whonixでアップデートやらなんやらしようものなら、そこそこ時間がかかります。

6.2 開発者向け(鍵とビルドを切る)

  • dev-net(ネット有りIDE)
  • dev-buildネット無しでビルド)
  • repo-fetch(ソース取得専用)
  • 鍵はvaultで管理し、dev-netからはSplit SSH/GPGのみ実行

6.3 経理/金融を強固に

  • banking(金融サイト専用。クリップボード共有は習慣で抑制)
  • 通常ブラウズはすべて Disposable

6.4 リサーチ / OSINT

  • sys-whonix配下に osint-web / osint-dl / osint-sns 等を役割別に箱分け

6.5 USB多用・現場運用

  • sys-usb-trusted / sys-usb-unk二系統。既定は unk 側に接続

TemplateVM運用のコツ
役割別に Template を分ける(「日常用」「開発用」「軽量閲覧用」など)。親に入れたソフトが子に反映されるため、最小構成を保ちやすいですね。せっかくいろいろなディストリビューション使えますし、テンプレから分けましょう。

7. 実装メモ(最短コマンド例)

※GUIでも可。名称やテンプレは環境に合わせて変更してくださいね。

# 金庫(ネット無し)
qvm-create --class AppVM --label red --prop netvm=none --template fedora-xx-minimal vault

# ブラウザ専用(使い捨て既定)
qvm-create --class AppVM --label yellow --template fedora-xx browse
qvm-prefs browse template_for_dispvms true

# 開発:鍵はvault、作業はdev-net
qvm-create --class AppVM --label green --template fedora-xx dev-net
# Split SSH/GPGの手順は公式ドキュメントを参照

8. 境界運用のゴールデンルール

  • dom0でネット・閲覧・添付開封はしない。 これは当然ですね。いうまでもなく。
  • 日常はDisposable起点、残す価値のある成果だけを明示コピー
    コピーはqubeをまたぐとやや煩雑ですが、可用性とセキュアさはおおむね反比例します。
  • 鍵は常にSplit(アプリと鍵の所在を分離)。
  • USBはsys-usb経由がデフォ。 usb経由の感染は本当に本当に多いです。
  • qrexec/RPCポリシーを理解して最小権限に。

9. Qubes OSでできないこと

最後にもってきてしまいましたが、ここが大事です。Qubes OSは、作業種類でTemplateを分け、作業単位ごとにqubeを分けていますが、そのqube自体のセキュリティ強度が上がるわけではないです。

干し草が積みあがっているのを、一つかみごとに分けて間に防火壁を建てたようなものです。干し草自体の燃えやすさは変わっていません。

あくまで被害を最小限に抑える、大事なものと外の世界をより隔てるだけです。当然、dom0や金庫qubeをインターネットに晒してしまえば、通常のPCと何ら変わりなくなってしまいます。大事なのは、安全地帯と危険地帯を判断し、適切なqubeに分割して作業を行うことです。

10. 参考リンク

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?