Eric Biggers, en af udviklerne af Adiantum-krypteringen og vedligeholderen af Linux-kernens fscrypt-undersystem, har foreslået et sæt patcher til at blokere sikkerhedsproblemer, der opstår på grund af en egenskab ved Intel-processorer, som ikke garanterer en konstant eksekveringstid for instruktioner baseret på de behandlede data. Problemet med Intel-processorer ses fra Ice Lake-familien og en tilsvarende problematik findes også i ARM-processorer.
At eksekveringstiden for instruktioner afhænger af de data, der behandles i disse instruktioner, ses af patch-forfatteren som en sårbarhed i processorerne, da en sådan adfærd ikke kan garantere sikkerheden ved kryptografiske operationer, der udføres i systemet. Mange implementeringer af kryptografiske algoritmer forudsætter, at data ikke påvirker eksekveringstiden for instruktioner, og en overtrædelse af denne adfærd kan føre til angreb via sidekanaler, der gendanner data baseret på analyse af behandlingstiden.
Potentielt kan afhængigheden af eksekveringstid fra data også bruges til at udføre angreb ved at bestemme kerne-data fra brugerrummet. Ifølge Eric Biggers sikres konstant eksekveringstid ikke engang for instruktioner, der udfører addition og XOR-operationer, samt for specialiserede AES-NI-instruktioner (oplysningerne er ikke bekræftet af tests; ifølge andre kilder opstår der en forsinkelse på én cyklus ved vektormultiplikation og bittælling).
For at deaktivere den omtalte adfærd har Intel og ARM foreslået nye flag: PSTATE-bit DIT (Data Independent Timing) for ARM CPU'er og MSR-bit DOITM (Data Operand Independent Timing Mode) for Intel CPU'er, som gendanner den gamle adfærd med konstant eksekveringstid. Intel og ARM anbefaler at aktivere beskyttelsen efter behov for særligt vigtig kode, men i praksis kan vigtige beregninger findes i alle dele af kernen og brugerrummet, hvorfor der overvejes en konstant aktivering af DOITM- og DIT-tilstande for hele kernen.
For ARM processors, patches have already been accepted in the Linux kernel 6.2 branch that change the kernel's behavior, but these patches are considered insufficient as they only cover kernel code and do not alter user space behavior. For Intel processors, the inclusion of protection is still in the review stage. The impact of the patch on performance has not yet been measured, but according to Intel's documentation, enabling DOITM mode reduces performance (for example, due to disabling certain optimizations such as data-specific prefetching), and in future processor models, the performance reduction may intensify.
Kilde: opennet.ru
