CROSSTalk — ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² CPU Intel, приводящая ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· АмстСрдамского свободного унивСрситСта выявила Π½ΠΎΠ²ΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2020-0543) Π² ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… структурах процСссоров Intel, ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… инструкций, выполняСмых Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ядрС CPU. Π­Ρ‚ΠΎ пСрвая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° спСкулятивного выполнСния инструкций, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ядрами CPU (Ρ€Π°Π½Π΅Π΅ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ядра). Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ присвоили ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ имя CROSSTalk, Π½ΠΎ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Intel ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ упоминаСтся ΠΊΠ°ΠΊ SRBDS (Special Register Buffer Data Sampling).

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ относится ΠΊ прСдставлСнному Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ классу ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ MDS (Microarchitectural Data Sampling) ΠΈ основываСтся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… структурах. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия CROSSTalk Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ уязвимости RIDL, Π½ΠΎ отличаСтся источником ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ.
Новая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΡ‚Π΅Ρ‡ΠΊΠΎΠΉ ΠΈΠ· Ρ€Π°Π½Π΅Π΅ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ совмСстно всСми ядрами CPU.

CROSSTalk - ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² CPU Intel, приводящая ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами

Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструкции микропроцСссора, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ RDRAND, RDSEED ΠΈ SGX EGETKEY, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ с использованиСм Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ микроархитСкстурной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ SRR (Special Register Reads). На ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹Ρ… уязвимости процСссорах Π΄Π°Π½Π½Ρ‹Π΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ для SRR, ΠΎΡΠ΅Π΄Π°ΡŽΡ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅, ΠΎΠ±Ρ‰Π΅ΠΌ для всСх ядСр CPU, послС Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Π±ΡƒΡ„Π΅Ρ€ заполнСния, привязанный ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ физичСскому ядру CPU Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Π° опСрация чтСния. Π”Π°Π»Π΅Π΅, ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° заполнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ копируСтся Π² рСгистры, Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ прилоТСниям.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ совмСстного Π±ΡƒΡ„Π΅Ρ€Π° соотвСтствуСт Π»ΠΈΠ½ΠΈΠΈ кСша, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ большС, Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ смСщСния Π² Π±ΡƒΡ„Π΅Ρ€Π΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ совмСстный Π±ΡƒΡ„Π΅Ρ€ копируСтся Π² Π±ΡƒΡ„Π΅Ρ€ заполнСния Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Ρ‚ΠΎ пСрСмСщаСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нуТная для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ порция, Π½ΠΎ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΎΡ‚ выполнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ядрах CPU.

CROSSTalk - ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² CPU Intel, приводящая ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами

CROSSTalk - ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² CPU Intel, приводящая ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами

Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Ρ‚Π°ΠΊΠΈ, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² систСмС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния инструкций RDRAND, RDSEED ΠΈ EGETKEY Π² Ρ‡ΡƒΠΆΠΎΠΌ процСссС ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°Π½ΠΊΠ»Π°Π²Π° Intel SGX, нСзависимо ΠΎΡ‚ ядра CPU, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΊΠΎΠ΄.
Π’Ρ‹ΡΠ²ΠΈΠ²ΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ исслСдоватСли ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ эксплоита, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ свСдСний ΠΎ случайных значСниях, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· инструкции RDRAND ΠΈ RDSEED, для восстановлСния Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ECDSA, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Π°Π½ΠΊΠ»Π°Π²Π΅ Intel SGX, послС осущСствлСния Π² систСмС всСго ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью.


ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ сСрвСрных процСссоров Intel, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Core i3, i5, i7, i9, m3, Celeron (сСрии J, G ΠΈ N), Atom (сСрии Π‘, E ΠΈ X), Xeon (сСмСйства E3, E5, E7, W ΠΈ D), Xeon Scalable ΠΈ Ρ‚.Π΄. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ компания Intel Π±Ρ‹Π»Π° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Π° ΠΎΠ± уязвимости Π² сСнтябрС 2018 Π³ΠΎΠ΄Π°, Π° Π² июлС 2019 Π³ΠΎΠ΄Π° Π±Ρ‹Π» прСдоставлСн ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ эксплоита, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами CPU, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° исправлСния Π·Π°Ρ‚ΡΠ½ΡƒΠ»Π°ΡΡŒ ΠΈΠ·-Π·Π° слоТности Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ сСгодня ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΡƒΡ‚Ρ‘ΠΌ измСнСния повСдСния инструкций RDRAND, RDSEED ΠΈ EGETKEY для ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ пСрСзаписи Π΄Π°Π½Π½Ρ‹Ρ… Π² совмСстном Π±ΡƒΡ„Π΅Ρ€Π΅ для нСдопущСния осСдания Π² Π½Ρ‘ΠΌ остаточной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° приостановка обращСния ΠΊ Π±ΡƒΡ„Π΅Ρ€Ρƒ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния ΠΈ пСрСзаписи содСрТимого.

ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктом ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ являСтся ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ RDRAND, RDSEED ΠΈ EGETKEY, ΠΈ сокращСниС пропускной способности ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ выполнСния Π΄Π°Π½Π½Ρ‹Ρ… инструкций Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… логичСских процСссорах. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ RDRAND, RDSEED ΠΈ EGETKEY Ρ‚Π°ΠΊΠΆΠ΅ приостанавливаСт доступ ΠΊ памяти ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… логичСских процСссоров. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ особСнности ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, поэтому Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ прСдусмотрСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ (RNGDS_MITG_DIS) для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ инструкций RDRAND ΠΈ RDSEED, выполняСмых Π²Π½Π΅ Π°Π½ΠΊΠ»Π°Π²Π° Intel SGX.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ