Probleem
- Oplossen van vastlopen of bevriezen van het systeem (kernel BUG of panic met "Missing ENDBR") veroorzaakt door Indirect Branch Tracking (IBT) bij het draaien van ESET Linux applicaties
- Indirect Branch Tracking (IBT) uitschakelen op Linux distributies
Details
Klik om uit te breiden
ESET Linux applicaties kunnen worden beïnvloed op systemen waar Intel Control-flow Enforcement Technology (CET) met Indirect Branch Tracking (IBT) is ingeschakeld in de Linux kernel. Op bepaalde Intel CPU's en Linux distributies (bijvoorbeeld Debian 13) kan dit resulteren in een kernel BUG of panic, die voor de gebruiker verschijnt als een systeemcrash of freeze.
Control-flow Enforcement Technology (CET) is een hardwaregebaseerde beveiligingsfunctie die is geïmplementeerd op moderne Intel CPU's om control-flow hijacking aanvallen tegen te gaan. Een van de onderdelen, Indirect Branch Tracking (IBT), dwingt validatie van indirecte takken af.
Wanneer Indirect Branch Tracking (IBT) is ingeschakeld:
- Alle geldige doelen van indirecte vertakkingen moeten beginnen met een speciale instructie
(ENDBR64op x86-64 systemen;ENDBR32op x86 systemen) - Deze instructies fungeren als landingsplaatsen voor indirecte aanroepen en sprongen
- Als een indirecte vertakking gericht is op code die niet begint met een
ENDBR-instructie, geeft de CPU een besturingsbeschermingsfout(#CP)
Linux kernels met Control-flow Enforcement Technology (CET) ondersteuning ingeschakeld (bijvoorbeeld via CONFIG_X86_CET) dwingen Indirect Branch Tracking (IBT) af voor zowel kernelcode als laadbare kernelmodules. Wanneer ESET Linux applicaties in dergelijke omgevingen worden gebruikt, kan de kernel tijdens de uitvoering op een besturingsbeschermingsfout stuiten en eindigen met een kernel BUG of panic.
Dit resulteert meestal in een systeemcrash of bevriezing, met kernel logberichten die lijken op:
Missing ENDBR: __x64_sys_close+0x9/0x80 kernel BUG at arch/x86/kernel/cet.c:102!
Ondersteuning voor Control-flow Enforcement Technology (CET) met Indirect Branch Tracking (IBT), inclusief de vereiste ENDBR instructies, is gepland voor toekomstige releases van ESET Linux applicaties.
Oplossing
Indirect Branch Tracking (IBT) uitschakelen op Linux distributies
Om Indirect Branch Tracking (IBT) uit te schakelen, voeg je ibt=off toe aan de Kernel boot command line parameters via de GRUB configuratie:
-
Open het GRUB-configuratiebestand
(/etc/default/grub). -
Zoek in het GRUB-configuratiebestand de
GRUB_CMDLINE_LINUX_DEFAULTvariabele en voegibt=offtoe aan de bestaande kernelparameters. Bijvoorbeeld:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ibt=off" -
Herbouw de GRUB-configuratie.
-
Op Debian gebaseerde systemen (Ubuntu, Linux Mint, Debian):
sudo update-grub -
Red Hat Enterprise Linux:
-
BIOS-gebaseerde machines:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
UEFI-gebaseerde machines:
sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
-
-
-
Herstart het systeem om de wijziging toe te passen.