Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

Sekumpulan penyelidik dari Universiti Teknologi Graz (Austria), sebelum ini dikenali untuk membangunkan kaedah serangan MDS, NetSpectre, Throwammer ΠΈ ZombieLoad, ΠΏΡ€ΠΎΠ²Π΅Π»Π° исслСдованиС спСцифичных для процСссоров AMD Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ telah membangunkan Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π°Ρ‚Π°ΠΊ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° прСдсказания ΠΊΠ°Π½Π°Π»ΠΎΠ² кэша ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня процСссоров AMD. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для сниТСния эффСктивности Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ASLR, восстановлСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² уязвимых рСализациях AES ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности Π°Ρ‚Π°ΠΊΠΈ Spectre.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ выявлСны Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° прСдсказания ΠΊΠ°Π½Π°Π»Π° (way predictor) Π² кэшС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня CPU (L1D), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для прСдсказания Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅ кэша ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ адрСс памяти. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ Π² процСссорах AMD оптимизация основываСтся Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΞΌ-Ρ‚Π΅Π³ΠΎΠ² (ΞΌTag). ΞΌTag вычисляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ спСцифичной Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ адрСсу. Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ прСдсказания ΠΊΠ°Π½Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΞΌTag для опрСдСлСния ΠΊΠ°Π½Π°Π»Π° кэша ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΞΌTag позволяСт процСссору ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ сущСствСнно сниТаСт ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ энСргии CPU.

Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

Π’ Ρ…ΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы прСдсказания ΠΊΠ°Π½Π°Π»Π° Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… поколСниях процСссоров AMD, выпускаСмых с 2011 ΠΏΠΎ 2019 Π³ΠΎΠ΄, выявлСны Π΄Π²Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π°Ρ‚Π°ΠΊ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ:

  • Collide+Probe β€” Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ памяти для процСссов, выполняСмых Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ логичСском ядрС CPU. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² использовании Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… адрСсов, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Ρ…ΡΡˆ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, примСняСмой для вычислСния ΞΌTag, для отслСТивания доступа ΠΊ памяти. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ Flush+Reload ΠΈ Prime+Probe, примСняСмых Π½Π° процСссорах Intel, Collide+Probe Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· знания физичСских адрСсов.
  • Load+Reload β€” позволяСт ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ слСды доступа ΠΊ памяти Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ физичСском ядрС CPU. ΠœΠ΅Ρ‚ΠΎΠ΄ основываСтся Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ячСйка физичСской памяти ΠΌΠΎΠΆΠ΅Ρ‚ находится Π² кэшС L1D Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’.Π΅. доступ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ячСйкС памяти ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ адрСсу ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π²Ρ‹Ρ‚Π΅ΡΠ½Π΅Π½ΠΈΡŽ ячСйки ΠΈΠ· кэша L1D, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ доступ ΠΊ памяти. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π°Ρ‚Π°ΠΊΠ° зависит ΠΎΡ‚ раздСляСмой памяти, ΠΎΠ½Π° Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбросу Π»ΠΈΠ½ΠΈΠΉ кэша, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ провСдСния скрытых Π°Ρ‚Π°ΠΊ, Π½Π΅ Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша послСднСго уровня.

На основС Ρ‚Π΅Ρ…Π½ΠΈΠΊ Collide+Probe ΠΈ Load+Reload исслСдоватСлями продСмонстрировано нСсколько сцСнариСв Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ:

  • Показана Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ скрытого косвСнного ΠΊΠ°Π½Π°Π»Π° связи ΠΌΠ΅ΠΆΠ΄Ρƒ двумя процСссами, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° скорости Π΄ΠΎ 588 ΠΊB Π² сСкунду.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Π² ΞΌTag ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ сокращСния энтропии для Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ASLR (Address Space Layout Randomization) ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ASLR Π² ядрС Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΉ Linux-систСмС. Показана Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ сниТСнию энтропии ASLR ΠΊΠ°ΠΊ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ выполняСмого Π² sandbox-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ JavaScript-ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ΄Π°, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ гостСвом ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ.

    Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

  • На Π±Π°Π·Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Collide+Probe Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π°Ρ‚Π°ΠΊΠ° ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· уязвимой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π° основС T-table) ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ AES.
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ Collide+Probe Π² качСствС ΠΊΠ°Π½Π°Π»Π° для получСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ…ΠΎΠ΄Π΅ Π°Ρ‚Π°ΠΊΠΈ Spectre ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ядра, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся Π½Π° процСссорах AMD Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ ΠΈ Zen2.
Компания AMD Π±Ρ‹Π»Π° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Π° ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ 23 августа 2019 Π³ΠΎΠ΄Π°, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ выпустила ΠΎΡ‚Ρ‡Ρ‘Ρ‚ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ уязвимости. По Π΄Π°Π½Π½Ρ‹ΠΌ исслСдоватСлСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ обновлСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС MSR-Π±ΠΈΡ‚ΠΎΠ² для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмы прСдсказания ΠΊΠ°Π½Π°Π»Π°, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ поступила компания Intel для управлСния ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ².

Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

Sumber: opennet.ru

Tambah komen