FlippyRAM — дистрибутив Π·Π° тСстванС Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° Rowhammer

На конфСрСнцията 38C3 бСшС прСдставСн Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡŠΡ‚ FlippyRAM, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° уязвимости, позволяващи Π°Ρ‚Π°ΠΊΠΈ ΠΎΡ‚ класса Rowhammer Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° инструмСнта Π΅ написан Π½Π° C++ ΠΈ сС разпространява ΠΏΠΎΠ΄ MIT Π»ΠΈΡ†Π΅Π½Π·. Π—Π° улСсняванС Π½Π° тСстванСто Π΅ създадСн Π³ΠΎΡ‚ΠΎΠ² live-дистрибутив (1 Π“Π‘), ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Ρ€Π΅Π· Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ USB Ρ„Π»Π°Ρˆ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅Π½ ΠΎΠ±Ρ€Π°Π· Π·Π° Docker.

Π¦Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ Π΄Π° ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π΄Π° участват Π² изслСдванС, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅ статистика Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ уязвимости ΠΎΡ‚ клас Rowhammer сС проявяват Π² систСмитС, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²ΠΈΠ΅Ρ‚ΠΎ. Π”Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ тСстванСто ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚ зарСдСния дистрибутив, Ρ‚Π°ΠΊΠ° ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½Π° сайта Π½Π° изслСдванСто.

ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Π½Π° Π°Ρ‚Π°ΠΊΠ° Rowhammer бСшС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΈ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΈΠ³Ρ€Π° Π½Π° "ΠΊΠΎΡ‚ΠΊΠ° ΠΈ мишка" ΠΌΠ΅ΠΆΠ΄Ρƒ изслСдоватСли ΠΏΠΎ сигурността ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ…Π° Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚ уязвимостта, Π° изслСдоватСлитС Π½Π°ΠΌΠΈΡ€Π°Ρ…Π° Π½ΠΎΠ²ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ заобикалянС. ОсвСн ΠΏΡ€ΠΈ DDR3 Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Intel x86, бяха ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π°Ρ‚Π°ΠΊΠ° Π²ΡŠΡ€Ρ…Ρƒ DDR4 ΠΈ DDR5 Ρ‡ΠΈΠΏΠΎΠ²Π΅, систСми с AMD ΠΈ ARM процСсори, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π·Π° заобикалянС Π½Π° корСкцията Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ECC, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Ρ‡Ρ€Π΅Π· изпълнСниС Π½Π° JavaScript ΠΊΠΎΠ΄ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°.

Атаката RowHammer позволява изкривяванС Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π±ΠΈΡ‚ΠΎΠ²Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° DRAM Ρ‡Ρ€Π΅Π· Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ съсСдни ΠΊΠ»Π΅Ρ‚ΠΊΠΈ. Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° DRAM прСдставлява Π΄Π²ΡƒΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ масив ΠΎΡ‚ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Π΄Π΅Π½Π·Π°Ρ‚ΠΎΡ€ ΠΈ транзистор, Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎΡ‚ΠΎ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ място Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ„Π»ΡƒΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ Π½Π° Π½Π°ΠΏΡ€Π΅ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‰ΠΈ ΠΌΠ°Π»ΠΊΠ° Π·Π°Π³ΡƒΠ±Π° Π½Π° заряд Π² ΡΡŠΡΠ΅Π΄Π½ΠΈΡ‚Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ. Ако ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π½Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ Π΅ голям, ΡΡŠΡΠ΅Π΄Π½Π°Ρ‚Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π³ΡƒΠ±ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ голям ΠΎΠ±Π΅ΠΌ заряд ΠΈ слСдващият Ρ†ΠΈΠΊΡŠΠ» Π½Π° рСгСнСрация няма Π΄Π° успСС Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΠΉ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ промяна Π½Π° стойността Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°. Π—Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ RowHammer ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ…Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ TRR (Target Row Refresh), ΠΊΠΎΠΉΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π° изкривяванСто Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ случаи, Π½ΠΎ Π½Π΅ Π·Π°Ρ‰ΠΈΡ‚Π°Π²Π° ΠΎΡ‚ всички възмоТни Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° Π°Ρ‚Π°ΠΊΠ°.

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

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