ΠΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° 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
