Blacksmith — новая Π°Ρ‚Π°ΠΊΠ° Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ DRAM ΠΈ Ρ‡ΠΈΠΏΡ‹ DDR4

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· ШвСйцарской Π²Ρ‹ΡΡˆΠ΅ΠΉ тСхничСской ΡˆΠΊΠΎΠ»Ρ‹ Π¦ΡŽΡ€ΠΈΡ…Π°, АмстСрдамского свободного унивСрситСта ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Qualcomm ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ класса RowHammer, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² динамичСской ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти (DRAM). АтакС присвоСно ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Blacksmith ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ CVE-2021-42114. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‡ΠΈΠΏΡ‹ DDR4, снабТённыС Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ Ρ€Π°Π½Π΅Π΅ извСстных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса RowHammer. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ для тСстирования своих систСм Π½Π° ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ уязвимости ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π° GitHub.

Напомним, Ρ‡Ρ‚ΠΎ Π°Ρ‚Π°ΠΊΠΈ класса RowHammer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΊΠ°Π·ΠΈΡ‚ΡŒ содСрТимоС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² памяти ΠΏΡƒΡ‚Ρ‘ΠΌ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎΠ³ΠΎ чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· сосСдних ячССк памяти. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΠΌΡΡ‚ΡŒ DRAM прСдставляСт собой Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ячССк, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΈΠ· кондСнсатора ΠΈ транзистора, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ чтСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ области памяти ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ„Π»ΡƒΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ напряТСния ΠΈ аномалиям, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ заряда сосСдних ячССк. Если ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ чтСния большая, Ρ‚ΠΎ сосСдняя ячСйка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ достаточно большой ΠΎΠ±ΡŠΡ‘ΠΌ заряда ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ» Ρ€Π΅Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ успССт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ измСнСнию значСния сохранённых Π² ячСйкС Π΄Π°Π½Π½Ρ‹Ρ….

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ RowHammer ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Ρ‡ΠΈΠΏΠΎΠ² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ TRR (Target Row Refresh), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ искаТСния ячССк Π² сосСдних строках, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ «Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΡΡΠ½ΠΎΡΡ‚ΡŒ (security by obscurity), ΠΎΠ½Π° Π½Π΅ Ρ€Π΅ΡˆΠ°Π»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² ΠΊΠΎΡ€Π½Π΅, Π° Π·Π°Ρ‰ΠΈΡ‰Π°Π»Π° лишь ΠΎΡ‚ извСстных частных случаСв, Ρ‡Ρ‚ΠΎ позволяло Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹. НапримСр, Π² ΠΌΠ°Π΅ компания Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ Half-Double, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ дСйствовала Π·Π°Ρ‰ΠΈΡ‚Π° TRR, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π°Ρ‚Π°ΠΊΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π»ΠΈΡΡŒ ячСйки, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅ ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΠ΅ ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ.

Новый ΠΌΠ΅Ρ‚ΠΎΠ΄ Blacksmith ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΠ½ΠΎΠΉ способ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ TRR, основанный Π½Π° Π½Π΅ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ с Ρ€Π°Π·Π½ΠΎΠΉ частотой ΠΊ Π΄Π²ΡƒΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ строкам-агрСссорам для Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ заряда. Для опрСдСлСния шаблона обращСния ΠΊ памяти, приводящСго Ρƒ Ρ‚Π΅Ρ‡ΠΊΠ΅ заряда, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ fuzzer, автоматичСски ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π°Ρ‚Π°ΠΊΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ°, Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡ порядок, ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ обращСния ΠΊ ячСйкам.

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΡ…ΠΎΠ΄, Π½Π΅ связанный с воздСйствиСм Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ячСйки, Π΄Π΅Π»Π°Π΅Ρ‚ нСэффСктивным Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ TRR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ сводятся ΠΊ подсчёту числа ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ячСйкам ΠΈ ΠΏΡ€ΠΈ достиТСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ пСрСзарядки сосСдних ячССк. Π’ Blacksmith шаблон доступа размазываСтся сразу Π½Π° нСсколько ячССк c Ρ€Π°Π·Π½Ρ‹Ρ… сторон ΠΎΡ‚ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ заряда Π½Π΅ достигая ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.

ΠœΠ΅Ρ‚ΠΎΠ΄ оказался Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивнСС Ρ€Π°Π½Π΅Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… способов ΠΎΠ±Ρ…ΠΎΠ΄Π° TRR — исслСдоватСлям ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ искаТСния Π±ΠΈΡ‚ΠΎΠ² Π²ΠΎ всСх ΠΈΠ· 40 Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΊΡƒΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² памяти DDR4 производства Samsung, Micron, SK Hynix ΠΈ нСизвСстного производитСля (Π½Π° 4 Ρ‡ΠΈΠΏΠ°Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π½Π΅ Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½). Для сравнСния Ρ€Π°Π½Π΅Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ исслСдоватСлями ΠΌΠ΅Ρ‚ΠΎΠ΄ TRRespass оказался эффСктивСн лишь для 13 ΠΈΠ· 42 протСстированных Π² Ρ‚ΠΎ врСмя Ρ‡ΠΈΠΏΠΎΠ².

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Blacksmith ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ 94% ΠΈΠ· всСх DRAM-Ρ‡ΠΈΠΏΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, Π½ΠΎ ΠΏΠΎ заявлСнию исслСдоватСлСй, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡ΠΈΠΏΡ‹ Π±ΠΎΠ»Π΅Π΅ уязвимы ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ для Π°Ρ‚Π°ΠΊΠΈ, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ‡ΠΈΠΏΠ°Ρ… ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ ошибок (ECC) ΠΈ удвоСния частоты обновлСния памяти Π½Π΅ обСспСчиваСт ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Π½ΠΎ услоТняСт ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Ρ‡ΠΈΠΏΠ°Ρ… ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, поэтому Π°Ρ‚Π°ΠΊΠ° останСтся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹.

Π’ качСствС практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ примСнСния Blacksmith для измСнСния содСрТимого записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ страниц памяти (PTE, page table entry) для получСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ядра, поврСТдСния хранящСгося Π² памяти ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° RSA-2048 Π² OpenSSH (ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π² Ρ‡ΡƒΠΆΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ VM ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹) ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ памяти процСсса sudo для получСния ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ root. Π’ зависимости ΠΎΡ‚ Ρ‡ΠΈΠΏΠ° для измСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° трСбуСтся ΠΎΡ‚ 3 сСкунд Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… часов провСдСния Π°Ρ‚Π°ΠΊΠΈ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° LiteX Row Hammer Tester для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ памяти ΠΎΡ‚ Π°Ρ‚Π°ΠΊ класса RowHammer, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Antmicro ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρƒ Google. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ основан Π½Π° использовании FPGA для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ управлСния ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ‡ΠΈΠΏ DRAM для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ влияния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° памяти. Для взаимодСйствия с FPGA прСдлагаСтся инструмСнтарий Π½Π° языкС Python. Шлюз Π·Π° Π±Π°Π·Π΅ FPGA Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (опрСдСляСт ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ обращСния ΠΊ памяти), Payload Executor, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π° Π±Π°Π·Π΅ LiteDRAM (ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всю Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ для DRAM Π»ΠΎΠ³ΠΈΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ строк ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ памяти) ΠΈ CPU VexRiscv. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ использованиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ FPGA, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Lattice ECP5, Xilinx Series 6, 7, UltraScale ΠΈ UltraScale+.

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