LINUX.ORG.RU

Подпись модулей ядра virtualbox слетает после перезагрузки компьютера

 , ,


0

1

В общем, дело такое, поставил я virtual box из репозитория Oracle(воспользовался их инструкцией на сайте virtualbox по добавлению), но когда пытаюсь запустить виртуальную машину, получаю вот такую ошибку:

Kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing '/sbin/vboxconfig'as root. If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information. where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

Выяснил, что эта ошибка, из-за того что модули ядра не подписаны, это видно сразу, когда выполняю команду modinfo,

root@DebianW:/home/david# modinfo vboxdrv
filename:       /lib/modules/5.10.0-8-amd64/misc/vboxdrv.ko
version:        6.1.26 r145957 (0x00300000)
license:        GPL
description:    Oracle VM VirtualBox Support Driver
author:         Oracle Corporation
srcversion:     384D5079D63E907132614A5
depends:        
retpoline:      Y
name:           vboxdrv
vermagic:       5.10.0-8-amd64 SMP mod_unload modversions 
parm:           force_async_tsc:force the asynchronous TSC mode (int)
root@DebianW:/home/david# 
Значит, нашёл инструкцию, о том как подписать модули ядра. (если что, на моей материнской плате действительно включен Secure Boot) После выполнения действий из инструкции, вывод modinfo следующий:
root@DebianW:~/signed-modules# modinfo vboxdrv
filename:       /lib/modules/5.10.0-8-amd64/misc/vboxdrv.ko
version:        6.1.26 r145957 (0x00300000)
license:        GPL
description:    Oracle VM VirtualBox Support Driver
author:         Oracle Corporation
srcversion:     384D5079D63E907132614A5
depends:        
retpoline:      Y
name:           vboxdrv
vermagic:       5.10.0-8-amd64 SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         VirtualBox
sig_key:        38:74:D4:B8:28:AD:A5:E1:1B:77:A1:2E:31:C8:A2:5B:DF:BC:FF:F3
sig_hashalgo:   sha256
signature:      1A:28:90:B2:E7:63:FE:2A:8A:82:52:F5:CF:26:07:AF:CD:7F:52:AC:
		50:42:26:C4:72:F0:41:B7:48:10:AD:13:90:60:C2:23:0E:21:A4:90:
		5A:10:5B:B9:80:CB:80:C9:22:E3:D7:55:AA:F3:74:A1:5D:8E:0A:6B:
		81:DA:7D:1C:7B:CA:4C:16:C0:38:A5:0E:08:F8:D2:9D:92:67:73:DE:
		F1:92:31:5A:C8:20:F6:56:A3:2D:13:5C:1D:C2:68:D5:45:D4:1B:09:
		58:CF:95:BE:BA:62:02:71:AE:40:9E:DD:C2:4D:C4:72:99:A1:05:A7:
		EF:90:3E:54:15:6E:78:DC:0A:12:48:B3:52:94:A1:A5:5A:F7:FD:00:
		A6:E5:65:B2:AB:DB:6B:0E:62:C0:5E:FD:AC:A3:FF:30:9F:6D:A4:6D:
		D2:71:CC:15:71:E3:02:25:C5:59:64:0F:E6:19:2A:DD:85:4E:E5:EA:
		DD:85:C7:F6:BE:EF:A5:E1:B9:7B:68:BD:93:F1:8A:BF:F8:B4:D9:A3:
		4D:EC:D7:60:7E:AB:BB:37:42:28:7F:17:68:1E:B5:BD:76:64:7D:91:
		50:6F:7A:2A:38:6D:1F:85:B0:CB:2F:6D:AB:BD:95:55:14:20:20:10:
		14:72:F9:03:CD:CC:5C:6F:FB:FC:B8:25:B4:80:07:6D
parm:           force_async_tsc:force the asynchronous TSC mode (int)
root@DebianW:~/signed-modules# 
Подпись решает проблему, после подписи модулей виртуальные машины запускаются и очень даже работают, однако, после перезагрузки вывод modinfo меняется на предыдущий, и приходиться заново их подписывать. И что с этим делать? У меня VirtualBox 6.1, debian 11 и ядро 5.10.0-8-amd64



Последнее исправление: blbulyandavbulyan (всего исправлений: 1)

Модули пересобирает /etc/init.d/vboxdrv. Либо отучайте его пересобирать подписанные модули, либо прикручивайте подпись к нему. (Но тогда зачем подпись, если какой-то скрипт при загрузке системы может подписать только что собранный модуль с неизвестно чем?)

Возможно, если бы Вы поставили virtualbox из родного репозитория, подпись модулей можно было бы интегрировать с dkms, через который те собираются, но это значительно ослабляет любую защиту, которую подпись модулей могла бы дать.

anonymous
()
Ответ на: комментарий от anonymous

Я пытался ставить virtualbox из основного репозитория, мне apt сказал что такого пакета нет.

blbulyandavbulyan
() автор топика

если что, на моей материнской плате действительно включен Secure Boot

Просто выключи его, он в 99% не нужен.

zemidius
()
Последнее исправление: zemidius (всего исправлений: 1)
Ответ на: комментарий от blbulyandavbulyan

Ты хранишь секретную информацию и кто-то сторонний может включить твой комп и воспользоваться неподписанными модулями для зловредного проникновения? А то, что ты сам подписываешь самосборный модуль виртуалбокса, а не используешь проверенный, подписанный, это не пробивает дыру в твоей алюминевой шапочке?

R_He_Po6oT ★★★★★
()
20 октября 2021 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.