ΠΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ Linux 6.2, ΠΎΡΠΊΡΠΈΠ΅Π½Π° Π΅ ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡ (CVE-2023-1998) ΠΊΠΎΡΠ° ΡΠ° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π·Π°ΡΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π° Spectre v2, ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ SMT ΠΈΠ»ΠΈ Hyper-Threading Π½ΠΈΡΠΊΠΈ, Π½ΠΎ Π½Π° ΠΈΡΡΠΎΡΠΎ ΡΠΈΠ·ΠΈΡΠΊΠΎ ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, ΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΡΠΎ, Π·Π° ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π²Π»ΠΈΡΠ°Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ. Linux 6.2 ΠΈ Π΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΠ΄ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»Π°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π° Π½Π° Π·Π°ΡΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ Spectre v2. Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° Π΅ ΠΏΠΎΠΏΡΠ°Π²Π΅Π½Π° Π²ΠΎ Π³ΡΠ°Π½ΠΊΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎΡΠΎ ΡΠ°Π΄ΡΠΎ. Linux 6.3.
ΠΠ° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π° Spectre, ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΠΌΠΎΠΆΠ°Ρ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ°Ρ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ prctl PR_SET_SPECULATION_CTRL ΠΈΠ»ΠΈ Π΄Π° ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° seccomp. Π‘ΠΏΠΎΡΠ΅Π΄ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅, Π½Π΅ΡΠΎΡΠ½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π²ΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ 6.2 ΡΡΠΎ Π³ΠΎ ΠΎΡΠΊΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π³ΠΎ ΠΎΡΡΠ°Π²ΠΈΠ»Π° Π±Π΅Π· ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π° Π·Π°ΡΡΠΈΡΠ°. ΠΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Π±Π°ΡΠ΅ΠΌ Π΅Π΄Π΅Π½ Π³ΠΎΠ»Π΅ΠΌ Π΄Π°Π²Π°ΡΠ΅Π» Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ, ΠΈ ΠΏΠΎΠΊΡΠ°Ρ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° Π½Π°ΠΏΠ°Π΄ΠΈΡΠ΅ spectre-BTI ΠΏΡΠ΅ΠΊΡ prctl. Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° ΡΠ΅ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ° ΠΈ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠΎ ΡΠ°Π΄ΡΠΎ 6.2, ΠΊΠΎΠ΅ ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° βspectre_v2=ibrsβ ΠΏΡΠΈ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅.
Π‘ΡΡΡΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠ° Π΅ ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·Π±ΠΎΡΠΎΡ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π·Π° Π·Π°ΡΡΠΈΡΠ° IBRS ΠΈΠ»ΠΈ eIBRS, Π²ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΡ STIBP (Single Thread Indirect Branch Predictors), ΠΊΠΎΡ Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π΅Π½ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΏΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΊΠΈ (SMT ΠΈΠ»ΠΈ Hyper- ΠΠ°Π²ΠΎΡΡΠ²Π°ΡΠ΅). Π‘Π΅ΠΏΠ°ΠΊ, ΡΠ°ΠΌΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ eIBRS ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΈΡΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ Π½ΠΈΡΠΊΠΈΡΠ΅, Π½ΠΎ Π½Π΅ ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΎΡ IBRS, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ Π±ΠΈΡΠΎΡ IBRS, ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΈΡΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ Π»ΠΎΠ³ΠΈΡΠΊΠΈΡΠ΅ ΡΠ°Π΄ΡΠ°, ΡΠ΅ Π±ΡΠΈΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΊΠΎΠ³Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° ΡΠ΅ Π²ΡΠ°ΡΠ° Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ, ΡΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π½ΠΈΡΠΊΠΈ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ Π½Π΅ ΡΠ΅ Π·Π°ΡΡΠΈΡΠ΅Π½ΠΈ ΠΎΠ΄ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π° Spectre v2.
ΠΠ·Π²ΠΎΡ: opennet.ru
