Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π΅ Kasper, скСнСр Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със спСкулативното изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π² ядрото Π½Π° Linux

Π“Ρ€ΡƒΠΏΠ° изслСдоватСли ΠΎΡ‚ Бвободния унивСрситСт Π² АмстСрдам ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…Π° инструмСнта Kasper, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π² ядрото Π½Π° Linux ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Сксплоатация Π½Π° уязвимости ΠΎΡ‚ клас Spectre, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ спСкулативно изпълнСниС Π½Π° ΠΊΠΎΠ΄ ΠΎΡ‚ процСсора. Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ тСкстовС Π½Π° инструмСнта сС разпространяват ΠΏΠΎΠ΄ лицСнзия Apache 2.0.

НапомнямС, Ρ‡Π΅ Π·Π° ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ Spectre v1, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π°Π²Π°Ρ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° сС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² привилСгирования ΠΊΠΎΠ΄ Π΄Π° ΠΈΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° послСдоватСлност ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ), която Π²ΠΎΠ΄ΠΈ Π΄ΠΎ спСкулативно изпълнСниС Π½Π° инструкции. Π‘ Ρ†Π΅Π» оптимизация, ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° изпълнява ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ Π² спСкулативСн Ρ€Π΅ΠΆΠΈΠΌ, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ установява, Ρ‡Π΅ прСдсказаниСто Π½Π° Ρ€Π°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Π±ΠΈΠ»ΠΎ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ ΠΈ отмСня ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π΄ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативното изпълнСниС Π΄Π°Π½Π½ΠΈ сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Ρ‚ Π² кСша ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ Π±ΡƒΡ„Π΅Ρ€ΠΈ ΠΈ са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° опрСдСлянС Π½Π° ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· странични ΠΊΠ°Π½Π°Π»ΠΈ.

По-Ρ€Π°Π½ΠΎ Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ инструмСнти Π·Π° сканиранС Π½Π° Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ Π·Π° уязвимостта Spectre, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΈ шаблони, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ…Π° ΠΌΠ½ΠΎΠ³ΠΎ висок ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Ρ„Π°Π»ΡˆΠΈΠ²ΠΈ сработки, пропускайки ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π°Π»Π½ΠΈ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ (СкспСримСнтитС ΠΏΠΎΠΊΠ°Π·Π°Ρ…Π°, Ρ‡Π΅ 99% ΠΎΡ‚ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ‚Π΅ с Ρ‚Π°ΠΊΠΈΠ²Π° инструмСнти Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Π°Ρ‚Π°ΠΊΠΈ, Π° 33% ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈΡ‚Π΅ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ, способни Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ Π°Ρ‚Π°ΠΊΠ°, Π½Π΅ бяха ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ).

Π—Π° повишаванС Π½Π° качСството Π½Π° опрСдСлянС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ, Kasper ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π° уязвимости, ΠΊΠΎΠΈΡ‚ΠΎ атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° всяка ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΠΈ ΠΎΡ‚ клас Spectre β€” ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ Π΄Π°Π½Π½ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, подмяна Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° атакуващия Π² ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ структури Π·Π° влияниС Π²ΡŠΡ€Ρ…Ρƒ послСдващото спСкулативно изпълнСниС Ρ‡Ρ€Π΅Π· Π°Ρ‚Π°ΠΊΠΈ ΠΎΡ‚ клас LVI), Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° информация (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ слСд освобоТдаванСто ѝ) ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° информация (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° кСша Π½Π° процСсора ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° MDS).

Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π΅ Kasper, скСнСр Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със спСкулативното изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π² ядрото Π½Π° Linux

ΠŸΡ€ΠΈ тСстванС ядрото сС ΡΠ²ΡŠΡ€Π·Π²Π° с runtime-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Kasper ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ работят Π½Π° Π½ΠΈΠ²ΠΎ LLVM. Π’ процСса Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Смулация Π½Π° спСкулативното изпълнСниС Π½Π° ΠΊΠΎΠ΄Π°, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° checkpoint-restore, ΠΊΠΎΠΉΡ‚ΠΎ спСциално изпълнява Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ прСдсказания ΠΊΠ»ΠΎΠ½ Π½Π° ΠΊΠΎΠ΄Π°, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡŠΡ‰Π° към ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ. Kasper ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ софтуСрни ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ уязвимости, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° влияниСто Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈ ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° fuzzing-тСстовС Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ дСйствия Π½Π° атакуващия. Π—Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡ€Ρ‚ΡŠΡ‚ DataFlowSanitizer Π·Π° ядро Π½Π° Linux, Π° Π·Π° fuzzing-тСстовСтС – ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° вСрсия Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° syzkaller.

Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π΅ Kasper, скСнСр Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със спСкулативното изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π² ядрото Π½Π° Linux

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° сканиранСто Π½Π° ядрото Π½Π° Linux с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Kasper са ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ 1379 ΠΏΡ€Π΅Π΄ΠΈ нСизвСстни Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ водят Π΄ΠΎ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативното изпълнСниС Π½Π° инструкциитС. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ вСроятно само част ΠΎΡ‚ тях ΠΌΠΎΠΆΠ΅ Π΄Π° прСдставлява Ρ€Π΅Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π½ΠΎ Π·Π° Π΄Π° сС ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π΅, Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΈ Ρ€Π΅Π°Π»Π½Π° опасност, Π° Π½Π΅ само Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½Π°, Π·Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡŠΡΠΈ ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Сксплоит, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° информация ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ядрото.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster