[devel] hsh-qemu-binfmt - register qemu for aarch64/ppc64le hasher

Alexey Shabalin a.shabalin на gmail.com
Пт Авг 16 02:39:47 MSK 2019


пт, 9 авг. 2019 г. в 18:48, Igor Vlasenko <vlasenko на imath.kiev.ua>:
>
> On Fri, Aug 09, 2019 at 05:23:59PM +0300, Sergey Bolshakov wrote:
> > Вовсе необязательно (обращаю внимание на flags):
> >
> > $ cat /proc/sys/fs/binfmt_misc/aarch64
> > enabled
> > interpreter /usr/bin/qemu-aarch64.static
> > flags: F
> > offset 0
> > magic 7f454c460201010000000000000000000200b700
> > mask ffffffffffffff00fffffffffffffffffeffffff

Я подготовил сборку qemu-user-static-binfmt с добавлением флага F.
Но у меня возникли сомнения:

1) Что именно делает этот флаг "F"? загружает этот бинарник в
пространство ядра? когда он это делает, при регистрации или в момент
обращения к бинарному файлу другой архитектуры?
Дело в том, что в этом пакете находятся конфиги для всех возможных
архитектур, и мне бы не хотелось при загрузке компьютера принудительно
загружать в память все эти бинарники qemu-*static.
Зачастую компьютер разработчика используется и для повседневной работы
с Интернет, почтой и т.п.

2) Насколько это безопасно? Понятно, что этот пакет нужен
разработчикам, работающим со сторонними архитектурами. Этот пакет не
входит в установку по-умолчанию, кто его устанавливает, тот знает
зачем. Хотелось бы удобства - установил, и работает везде, хоть в
системе, хоть в контейнере. НО не получит ли разработчик на aarch64
сервере работающие вредоносные программы для x86_64?

Может я зря беспокоюсь? Развейте кто-нибудь мои сомнения :)
В fedora и debian этот флаг "F" установлен.
Но в debian видимо вообще ничего не боятся, у них еще и флаг "C"
стоит, что позволяет оставлять setuid на бинарниках.

Прочитать про флаги можно тут:
https://www.kernel.org/doc/Documentation/admin-guide/binfmt-misc.rst

-- 
Alexey Shabalin


Подробная информация о списке рассылки Devel