Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-6.2-2023) Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° Π² Linux ΡΠ΄ΡΠΎΡΠΎ 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