ΠΡΡΠΏΠ° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Π¨Π²Π΅ΠΉΡΠ°ΡΡΠΊΠΈΡ ΡΠ΅Π΄Π΅ΡΠ°Π»Π΅Π½ ΠΈΠ½ΡΡΠΈΡΡΡ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² Π¦ΡΡΠΈΡ , Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Qualcomm ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π½ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Π°ΡΠ°ΠΊΠ° ΠΎΡ ΠΊΠ»Π°Ρ RowHammer, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±ΠΈΡΠΎΠ²Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (DRAM). ΠΠ° Π°ΡΠ°ΠΊΠ°ΡΠ° Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ Blacksmith ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ CVE-2021-42114. ΠΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠΎΠ²Π΅ DDR4, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΎΡ ΠΊΠ»Π°Ρ RowHammer, ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ»ΠΈΠ²ΠΈ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΠΎΠ΄Π°ΡΠ»ΠΈΠ²ΠΎΡΡ Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ Π½Π° GitHub.
ΠΡΠΈΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ Π°ΡΠ°ΠΊΠΈΡΠ΅ ΠΎΡ ΠΊΠ»Π°Ρ RowHammer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±ΠΈΡΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ ΡΡΠ΅Π· ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΡΡΠ΅Π΄Π½ΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ DRAM ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π΄Π²ΡΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ² ΠΎΡ ΠΊΠ»Π΅ΡΠΊΠΈ, Π²ΡΡΠΊΠ° ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΊΠΎΠ½Π΄Π΅Π½Π·Π°ΡΠΎΡ ΠΈ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ Π½Π° Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠΈ ΠΌΠ°Π»ΠΊΠ° Π·Π°Π³ΡΠ±Π° Π½Π° Π·Π°ΡΡΠ΄ Π² ΡΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ. ΠΠΊΠΎ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ Π΅ Π³ΠΎΠ»ΡΠΌΠ°, ΡΡΡΠ΅Π΄Π½Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π³ΡΠ±ΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΠΎΠ»ΡΠΌ ΠΎΠ±Π΅ΠΌ Π·Π°ΡΡΠ΄ ΠΈ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ ΡΠΈΠΊΡΠ» Π½Π° ΡΠ΅Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½Π΅ ΡΡΠΏΡΠ²Π° Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΡΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΎΡΠΎ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° Π΄Π°Π½Π½ΠΈ.
ΠΠ° Π·Π°ΡΠΈΡΠ° ΠΎΡ RowHammer ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° TRR (Target Row Refresh), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ Π² ΡΡΡΠ΅Π΄Π½ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, Π½ΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° βΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΡΡΠ΅Π· Π½Π΅ΡΡΠ½ΠΎΡΡβ, ΡΡ Π½Π΅ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ°, Π° Π·Π°ΡΠΈΡΠ°Π²Π° ΡΠ°ΠΌΠΎ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»Π΅ΡΠ½ΠΎ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΈΠ½ΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π· ΠΌΠ°ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Google ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΠΌΠ΅ΡΠΎΠ΄ Half-Double, Π½Π° ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΄Π΅ΠΉΡΡΠ²Π°Π»Π° Π·Π°ΡΠΈΡΠ°ΡΠ° TRR, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°ΡΠ°ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ½Π°ΡΡΠ»Π° Π·Π° ΠΊΠ»Π΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π² Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π° Π±Π»ΠΈΠ·ΠΎΡΡ Π΄ΠΎ ΡΠ΅Π»Π΅Π²Π°ΡΠ°.
ΠΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Blacksmith ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° TRR, ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½Π° ΡΠ΅ΡΡΠΎΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π°Π³ΡΠ΅ΡΠΎΡΡΠΊΠΈ ΡΠ΅Π΄Π° Ρ ΡΠ΅Π» ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π·Π°Π³ΡΠ±Π° Π½Π° Π·Π°ΡΡΠ΄. ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π²ΠΎΠ΄Π΅Ρ Π΄ΠΎ Π·Π°Π³ΡΠ±Π° Π½Π° Π·Π°ΡΡΠ΄, Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΡΠ·Π΅Ρ, ΠΊΠΎΠΉΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π°ΡΠ°ΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΡ ΡΠΈΠΏ, ΠΏΡΠΎΠΌΠ΅Π½ΡΠΉΠΊΠΈ ΡΠ΅Π΄Π°, ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅.
ΠΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π½Π΅ΡΠ²ΡΡΠ·Π°Π½ Ρ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΡΡ Ρ ΡΡΡΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ, ΠΏΡΠ°Π²ΠΈ ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° Π·Π°ΡΠΈΡΠ° TRR Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ, ΠΊΠ°ΡΠΎ Π² Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ Π²ΠΈΠ΄ ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎ Π±ΡΠΎΠ΅Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏΠΈ Π΄ΠΎ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ° ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ. Π Blacksmith ΡΠ°Π±Π»ΠΎΠ½ΡΡ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° Π²Π΅Π΄Π½Π°Π³Π° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈ Π½Π° ΡΠ΅Π»Π΅Π²Π°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΡΠ΄, Π±Π΅Π· Π΄Π° ΡΠ΅ Π΄ΠΎΡΡΠΈΠ³Π°Ρ ΠΏΡΠ°Π³ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
ΠΠ΅ΡΠΎΠ΄ΡΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° TRR β ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΏΡΡ Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΡΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΎΡ 40 Π½Π°ΡΠΊΠΎΡΠΎ Π·Π°ΠΊΡΠΏΠ΅Π½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ DDR4 ΡΠΈΠΏΠ° ΠΏΠ°ΠΌΠ΅Ρ Ρ ΠΏΡΠΎΠΈΠ·Ρ ΠΎΠ΄ Samsung, Micron, SK Hynix ΠΈ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π» (Π·Π° 4 ΡΠΈΠΏΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠΎΡΠ΅Π½). ΠΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΎΡ ΡΡΡΠΈΡΠ΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ TRRespass ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠ°ΠΌΠΎ Π·Π° 13 ΠΎΡ 42 ΡΠ΅ΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠΈΠΏΠ°.
Π ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΡΡ Blacksmith Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ Π·Π° 94% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ DRAM ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° ΠΏΠ°Π·Π°ΡΠ°, Π½ΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, Π½ΡΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΠ° ΠΏΠΎ-ΡΡΠ·Π²ΠΈΠΌΠΈ ΠΈ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΈ Π·Π° Π°ΡΠ°ΠΊΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ (ECC) ΠΈ ΡΠ΄Π²ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΡΠ»Π½Π° Π·Π°ΡΠΈΡΠ°, Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ°. ΠΠ°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ Π² Π²Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²Π° Π·Π°ΡΠΈΡΠ° Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ, Π·Π°ΡΠΎΠ²Π° Π°ΡΠ°ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ Π°ΠΊΡΡΠ°Π»Π½Π° ΠΎΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
ΠΠ°ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΡΠ΅ ΠΏΠΎΡΠΎΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Blacksmith Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Ρ ΠΏΠ°ΠΌΠ΅Ρ (PTE, page table entry) Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠ΅Π½ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° RSA-2048 ΠΊΠ»ΡΡ Π² OpenSSH (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΎΡΠΊΡΠΈΡΠΈΡΡ ΠΊΠ»ΡΡ Π² ΡΡΠΆΠ΄ΠΎΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π½Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ°) ΠΈ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠ°Π²ΠΎΠΌΠΎΡΠΈΡ ΡΡΠ΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° sudo Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° root ΠΏΡΠ°Π²Π°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΈΠΏΠ°, Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΅Π΄ΠΈΠ½ ΡΠ΅Π»Π΅Π²ΠΈ Π±ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΡ 3 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΄ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ°. Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΊ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π½Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ°) ΠΈ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠ°Π²ΠΎΠΌΠΎΡΠΈΡ ΡΡΠ΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° sudo Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° root ΠΏΡΠ°Π²Π°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΈΠΏΠ°, Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΅Π΄ΠΈΠ½ ΡΠ΅Π»Π΅Π²ΠΈ Π±ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΡ 3 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΄ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ°.

ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΡΠ°ΠΌΠΊΠ° LiteX Row Hammer Tester Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈ ΠΎΡ ΠΊΠ»Π°Ρ RowHammer, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Antmicro ΠΏΠΎ ΠΏΠΎΡΡΡΠΊΠ° Π½Π° Google. Π Π°ΠΌΠΊΠ°ΡΠ° Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° FPGA Π·Π° ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ
Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΡΠΈΠΏΠ° DRAM, Ρ ΡΠ΅Π» Π΄Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈ Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ FPGA ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π½Π° Python. Π¨Π»ΡΠ·ΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° FPGA Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠΎΠ΄ΡΠ» Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ (ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°), Payload Executor, ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° LiteDRAM (ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΡΠ»Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° DRAM, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°) ΠΈ CPU VexRiscv. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ under Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0. ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ FPGA, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Lattice ECP5, Xilinx Series 6, 7, UltraScale ΠΈ UltraScale+.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
