FS_IOC_ENABLE_VERITY
ioctlを使用してファイルでfs-verityを有効にした後(たとえば、コマンドを使用fsverity enable
)、そのファイルに書き換えたい場合はfs-verityを無効にするにはどうすればよいですか?今、回避策はファイルをコピーしてからソースを削除することですが、ファイルが大きい場合、これは本当に非効率的です。
答え1
設計上、そうすることはできません。このwikiページでは、rpmパッケージとその理由について説明します。
「特定のファイルに対してfs-verityが有効になっている場合(RPMの場合はパッケージのインストール時に発生)、無効にすることはできず、ファイルは変更できません。名前を変更する( )または解く()(実際にパッケージをアップグレードするときにrpmがファイルを置き換える方法です)。ただし、実際の内容は変更できません。 " ....
"攻撃者がファイルシステムをマウント(またはアクセス)し、/ bin / lsのリンクを解除し、それを新しいコピーに一括交換(したがって新しいinodeを作成)すると仮定します。攻撃者署名キーがありませんだから、彼らはファイルを再署名し、ファイルに対してfs-verityを有効にすることはできません。 (彼らは自分のキーで再署名することができますが、証明書をカーネルキーリングにロードする方法が見つからない場合は効果的です)。これを防ぐために、いくつかのオプションがあります。」