Sever & DeepLoop
Sever Sever
Π― Ρ‚ΡƒΡ‚ ΠΈΠ·ΡƒΡ‡Π°Π» косвСнныС ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π² ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, ΠΈ ΠΌΠ½Π΅ каТСтся, я нашСл Ρ‚ΠΎΠ½ΠΊΠΈΠΉ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΎΠ²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ. Как ΡΡ‡ΠΈΡ‚Π°Π΅ΡˆΡŒ?
DeepLoop DeepLoop
ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, классичСская ситуация – Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³. Π“Π΄Π΅ Ρƒ тСбя Ρ‚ΠΎΡ‡ΠΊΠ° отсчёта ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΊΠ°ΠΊ Ρ‚Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅ΡˆΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ…? Π”Π°Π²Π°ΠΉ сначала схСму ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π½ΠΎ-слСдствСнной связи набросаСм; Ρ‚Π°ΠΌ, Π³Π΄Π΅ прСдполоТСния, Ρ‚Π°ΠΌ ΠΈ ΠΏΠΎΠ΄Π²ΠΎΡ….
Sever Sever
1. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ экспонСнцированиС ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, Π° счётчик Ρ†ΠΈΠΊΠ»Π° Π²ΠΈΠ΄Π΅Π½ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ процСссора. 2. КаТдая итСрация Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½ΠΎΠ΅ врСмя ΠΈΠ·-Π·Π° прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ состояния кэша. 3. ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ снаруТи ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° с часами с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π² наносСкунду. 4. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ мноТСство ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ счётчика Ρ†ΠΈΠΊΠ»Π°. 5. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½ΠΈΠΆΠ½ΠΈΡ… частот ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ случайныС колСбания, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΈ простой Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ рСгрСссионный Π°Π½Π°Π»ΠΈΠ· для сопоставлСния смСщСний Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ значСниями счётчика Ρ†ΠΈΠΊΠ»Π°. 6. ПослС установлСния сопоставлСния, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹ сСкрСтного ΠΊΠ»ΡŽΡ‡Π°, наблюдая Π·Π° счётчиком Ρ†ΠΈΠΊΠ»Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся нСбольшая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°, вносимая прСдсказатСлСм ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²; ΡˆΡƒΠΌ изолируСтся ΠΏΡƒΡ‚Π΅ΠΌ поддСрТания постоянной Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты систСмы ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ использованиСм высокочастотного счСтчика Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
DeepLoop DeepLoop
ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, классичСская ΡƒΡ‚Π΅Ρ‡ΠΊΠ° ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π½Π°Π» уязвимости, Π½ΠΎ эти, казалось Π±Ρ‹, "Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅" Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ прСдсказатСля Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° всю Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°. Π•ΡΡ‚ΡŒ нСсколько ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ: 1) процСссор сбрасываСт ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΈΠ»ΠΈ состояниС пСрСносится ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ? 2) насколько Π»ΠΈΠ½Π΅ΠΉΠ½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ количСством ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° строки кэша находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… состояниях? 3) Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½ΠΈΠΆΠ½ΠΈΡ… частот Π·Π°Π³Π»ΡƒΡˆΠΈΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ эффСкт прСдсказатСля. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚, Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ измСрСния – ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° подряд с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, Π½ΠΎ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ сСкрСтными частями, это Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ постоянного ΡˆΡƒΠΌΠ°. И Π΅Ρ‰Π΅, линСйная рСгрСссия Π½Π° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ процСссС ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΈΡΠΊΠ°ΠΆΠ΅Π½Π½ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ Π½Π°ΠΊΠ»ΠΎΠ½Π°. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΏΠ»Π°Π½ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ, Π½ΠΎ всС Π½ΡŽΠ°Π½ΡΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² этих ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… колСбаниях Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ замаскируСт Ρ‚Π²ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€. Π£Π΄Π°Ρ‡ΠΈ, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉ ΠΏΡ€ΠΈΡΡ‹Π»Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
Sever Sever
Π’ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄: 1. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π½Π΅ сбрасываСт ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° – состояниС сохраняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ очСрСдями, это Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. 2. ΠšΡ€ΠΈΠ²Π°Ρ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ†ΠΈΠΊΠ»Π° выглядит ΠΊΠ°ΠΊ ломаная линия, Π½ΠΎ Π½Π°ΠΊΠ»ΠΎΠ½ Ρ€Π΅Π·ΠΊΠΎ мСняСтся, ΠΊΠΎΠ³Π΄Π° строка кэша ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· L1 Π² L2. 3. Π”ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ – Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚; вычитая Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΡˆΡ‚Π°ΠΌΠΏΠ°, Ρ‚Ρ‹ ΡƒΠ±ΠΈΡ€Π°Π΅ΡˆΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ постоянной Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π—Π°ΠΏΡƒΡ‰Ρƒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° с ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСкрСтным Π±Π°ΠΉΡ‚ΠΎΠΌ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’Π°ΠΊ я смогу Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ колСбания прСдсказатСля ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΎΠΌΠ°Π½ΡƒΡŽ модСль вмСсто ΠΎΠ΄Π½ΠΎΠΉ прямой. Бохраняй Π»ΠΎΠ³ΠΈ; Π΄Π°ΠΆΠ΅ микросСкунда отклонСния ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.