Π ΡΠ΄ΡΠΎΡΠΎ Π½Π° 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-Threading). ΠΡΠΈ ΡΠΎΠ²Π° Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΎΡ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠΈΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ°ΠΌΠΎ ΡΠ΅ΠΆΠΈΠΌΡΡ eIBRS, Π½ΠΎ Π½Π΅ ΠΈ ΡΠ΅ΠΆΠΈΠΌΡΡ IBRS, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ Π½Π΅Π³ΠΎ Π±ΠΈΡΡΡ IBRS, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ΄ΡΠ°, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠ΅ ΠΈΠ·ΡΠΈΡΡΠ²Π° ΠΏΡΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΠΎΡΠΎΠΊΠΈΡΠ΅ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π΅Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΎΡ Π°ΡΠ°ΠΊΠΈ ΠΎΡ ΠΊΠ»Π°Ρ Spectre v2.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
