サンドボックスはセキュリティモデルの一部にすぎない
長年続くFlatpakの安全性をめぐる議論に加わった新たな論考は、このLinux向けアプリ配布形式のサンドボックスを、個々のプログラムが要求する権限とは切り分けて評価すべきだと主張している。開発者のOroが公開した論考によれば、Flatpakは実際に隔離機能を備えているものの、古いアプリや十分に対応が進んでいないアプリは、ホスト側のリソースに対する広範な静的アクセスを要求することで、その保護を弱めることがある。
Flatpakはデスクトップアプリを依存関係とともにパッケージ化し、サンドボックスによってアプリ環境の外へのアクセスを制限する。ポータルは、ファイルの選択やデスクトップサービスとの連携といった操作に、制御されたインターフェースを提供する。原理的には、ホストシステムの広い範囲への恒久的なアクセス権を与える代わりに、ユーザーの関与を伴う特定の操作をソフトウェアが要求できるようになる。
ただし、実際の移行は完了していない。もともと制約のないLinuxデスクトップ向けに設計されたアプリは、ファイルシステムやサービスへの直接アクセスに依存している場合があり、一部のポータルのインターフェースも、あらゆる処理に対応できるほど成熟してはいない。保守担当者は静的な権限を付与して補うことができるが、広範な権限を与えるたびに、ユーザーが隔離に期待する保護は小さくなる。論考の中心的な主張は、これはアプリのパッケージ化や設計の性質であり、Flatpakにサンドボックスそのものがないことの証拠ではない、というものだ。
部分的な隔離でもマルウェアの動作を阻める
著者は例として、fractureiserマルウェアによる攻撃とPrismLauncherのFlatpak版に関する分析を挙げている。ユーザーの設定ディレクトリに直接書き込み、systemdを呼び出せると想定したマルウェアは、ランチャーの標準的なFlatpakの制限下では動作に失敗すると論考は述べる。利用できないホスト側のパスに向けた書き込みはサンドボックス内の一時ストレージにとどまる可能性があり、その環境ではsystemdも公開されていなかったという。
この例は、すべてのFlatpakアプリが安全であることを示すものではない。ホスト側の機微なディレクトリやソケット、サービスへのアクセスを許されたパッケージは、はるかに大きな攻撃対象領域を露出させる可能性がある。また、ユーザーが権限を上書きできるユーティリティも、その影響を理解しないまま権限を追加すると、標準設定の保護を損ないかねない。したがって問うべきなのは、そのパッケージにFlatpakという名称が付いているかではなく、個々のアプリが何にアクセスできるかである。
論考はさらに、共有ランタイムのセキュリティ関連の依存コンポーネントが必然的に古いまま放置されるという見方も否定している。ランタイムは独立してセキュリティ更新を受け取ることができ、グラフィックスドライバーを含むホストと接する主要コンポーネントも別途更新できるという。一方、アプリ内で管理される同梱ライブラリには、引き続き配布元の対応が必要になる場合があるため、更新の責任はプラットフォーム、ランタイム、アプリに分かれている。
これは開発者の見解を明確に打ち出した分析であり、新たな脆弱性の公表でも独立した監査でもない。その有用性は、議論の枠組みをより正確にした点にある。Flatpakは隔離の仕組みを提供し、ポータルは常時与えられるアクセス権を減らせる。アプリは権限を選択または継承し、ユーザーや配布者はその組み合わせを点検する必要がある。安全性はこれらすべての層に依存する。部分的な隔離は有意義な保護をもたらすが、すべてのパッケージを標準状態で安全にするわけではない。



