ΠΠΊΠΈΠΏ ΠΎΡ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ETH Zurich, Vrije Universiteit Amsterdam ΠΈ Qualcomm ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° Π½ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π°ΡΠ°ΠΊΠ° RowHammer, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±ΠΈΡΠΎΠ²Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π΄ΠΎΡΡΡΠΏ (DRAM). ΠΡΠ°ΠΊΠ°ΡΠ° Π±Π΅ΡΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ Blacksmith ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ CVE-2021-42114. ΠΠ½ΠΎΠ³ΠΎ DDR4 ΡΠΈΠΏΠΎΠ²Π΅, ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ΠΈ ΡΡΡ Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΎΡ ΠΊΠ»Π°Ρ RowHammer, ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ»ΠΈΠ²ΠΈ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π² GitHub.
Π‘ΠΏΠΎΠΌΠ½Π΅ΡΠ΅ ΡΠΈ, ΡΠ΅ Π°ΡΠ°ΠΊΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°Ρ RowHammer Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π±ΠΈΡΠΎΠ²Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ΅Π· ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΡΡΠ΅Π΄Π½ΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ DRAM ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ Π΄Π²ΡΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ² ΠΎΡ ΠΊΠ»Π΅ΡΠΊΠΈ, Π²ΡΡΠΊΠ° ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΊΠΎΠ½Π΄Π΅Π½Π·Π°ΡΠΎΡ ΠΈ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡ, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΎΠ±Π»Π°ΡΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ Π½Π° Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Ρ ΠΌΠ°Π»ΠΊΠ° Π·Π°Π³ΡΠ±Π° Π½Π° Π·Π°ΡΡΠ΄ Π² ΡΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ. ΠΠΊΠΎ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ Π΅ Π²ΠΈΡΠΎΠΊ, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ΅Π΄Π½Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π³ΡΠ±ΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΡΡΠ΄ ΠΈ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ ΡΠΈΠΊΡΠ» Π½Π° ΡΠ΅Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ° Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΡΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΎΠΌΡΠ½Π° Π² ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° .
ΠΠ° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ RowHammer, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° TRR (Target Row Refresh), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈ Π² ΡΡΡΠ΅Π΄Π½ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, Π½ΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΡΠ΅ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° βΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΡΠ΅Π· Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡβ, ΡΠΎΠ²Π° Π½Π΅ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ root, Π½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΌΠΎ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΠΈ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΠ½ΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π· ΠΌΠ°ΠΉ Google ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Half-Double, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΠ½ ΠΎΡ TRR Π·Π°ΡΠΈΡΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°ΡΠ°ΠΊΠ°ΡΠ° Π·Π°ΡΠ΅Π³Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π±ΡΡ Π° Π² Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π° Π±Π»ΠΈΠ·ΠΎΡΡ Π΄ΠΎ ΡΠ΅Π»ΡΠ°.
ΠΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Blacksmith ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° TRR Π·Π°ΡΠΈΡΠ°ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π°Π³ΡΠ΅ΡΠΎΡΠ½ΠΈ ΡΡΡΡΠ½ΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΡΠΈ, Π·Π° Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΡΠ΄. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΡΠ΄, Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ fuzzer, ΠΊΠΎΠΉΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·Π±ΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° Π°ΡΠ°ΠΊΠ° Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠΈΠΏ, ΠΏΡΠΎΠΌΠ΅Π½ΡΠΉΠΊΠΈ ΡΠ΅Π΄Π°, ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°.
ΠΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΡΡ Ρ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ, ΠΏΡΠ°Π²ΠΈ Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ Π½Π°ΡΡΠΎΡΡΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° TRR, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° ΡΠΎΡΠΌΠ° ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎ ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡΠ΅Π΄Π½ΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ. Π Blacksmith ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½Π° Π΄ΠΎΡΡΡΠΏ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»Π΅ΡΠΊΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈ Π½Π° ΡΠ΅Π»ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΡΠ΄ Π±Π΅Π· Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π³ΠΎΠ²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
ΠΠ΅ΡΠΎΠ΄ΡΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΎΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ-ΡΠ°Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° TRR - ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΏΡΡ Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ Π±ΠΈΡΠΎΠ²ΠΎ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈΡΠ΅ 40 Π½Π°ΡΠΊΠΎΡΠΎ Π·Π°ΠΊΡΠΏΠ΅Π½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ DDR4, ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ ΠΎΡ Samsung, Micron, SK Hynix ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π» (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ Π±Π΅ΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π½Π° 4 ΡΠΈΠΏΠ°). ΠΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΠΌΠ΅ΡΠΎΠ΄ΡΡ TRRespass, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΡ ΡΡΡΠΈΡΠ΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠ°ΠΌΠΎ Π·Π° 13 ΠΎΡ 42 ΡΠΈΠΏΠ°, ΡΠ΅ΡΡΠ²Π°Π½ΠΈ ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΡΡ Π½Π° Blacksmith Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΠΊΡΠΌ 94% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ DRAM ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° ΠΏΠ°Π·Π°ΡΠ°, Π½ΠΎ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΠ° ΠΏΠΎ-ΡΡΠ·Π²ΠΈΠΌΠΈ ΠΈ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΈ Π·Π° Π°ΡΠ°ΠΊΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ (ECC) Π² ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΠ΄Π²ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΎΠΏΡΠ΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠ»Π½Π° Π·Π°ΡΠΈΡΠ°, Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ Π²ΡΠ² Π²Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π° Π·Π°ΡΠΈΡΠ° Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ, ΡΠ°ΠΊΠ° ΡΠ΅ Π°ΡΠ°ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ Π°ΠΊΡΡΠ°Π»Π½Π° Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Blacksmith Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (PTE, Π·Π°ΠΏΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°), Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°ΠΉΠΊΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ RSA-2048, ΡΡΡ ΡΠ°Π½Π΅Π½ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² OpenSSH (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ Π² ΡΡΠΆΠ΄Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π·Π° Π΄Π° ΡΡΠΏΠΎΡΡΠ°Π²ΠΈ ΡΠ°ΡΡΠ½ΠΈΡ ΠΊΠ»ΡΡ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π½Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ°) ΠΈ Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° sudo, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ root ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΈΠΏΠ°, ΠΎΡΠ½Π΅ΠΌΠ° ΠΎΡ 3 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΄ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π°ΡΠ°ΠΊΠ°, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΅Π΄ΠΈΠ½ ΡΠ΅Π»Π΅Π²ΠΈ Π±ΠΈΡ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΡΠ°ΠΌΠΊΠ° LiteX Row Hammer Tester Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ ΠΎΡ ΠΊΠ»Π°Ρ RowHammer, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ Antmicro Π·Π° Google. Π Π°ΠΌΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° FPGA Π·Π° ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ DRAM ΡΠΈΠΏΠ°, Π·Π° Π΄Π° ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π² Python Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ FPGA. ΠΠ°Π·ΠΈΡΠ°Π½ΠΈΡΡ Π½Π° FPGA ΡΠ»ΡΠ· Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠΎΠ΄ΡΠ» Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΡΡΠ°Π½ΡΡΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈ (Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°), Payload Executor, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° LiteDRAM ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ (ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΡΠ»Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π·Π° DRAM, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°) ΠΈ VexRiscv CPU. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache 2.0. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ FPGA ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Lattice ECP5, Xilinx Series 6, 7, UltraScale ΠΈ UltraScale+.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru