Довгий час головною загрозою для сучасної криптографії вважалися лише квантові комп’ютери, адже на звичайних кремнієвих процесорах для того, щоб підібрати, наприклад, 2048-бітний ключ шифрування, потрібно кілька століть. Однак нещодавно хакери продемонстрували, що квантові комп’ютери і не потрібні, використавши вразливість 2016 року. TechToday тоді писав, що це діра, яку вендори не знають, як закрити.
Атака типу Rowhammer під назвою RAMBleed дозволяє шкідливим програмам красти дані з оперативної пам’яті, при цьому не допомагає навіть активність захисту ECC.
У Rowhamer використовується особливість роботи апаратної частини оперативної пам’яті. Якщо постійно «довбати» одні й ті ж адреси, можна змінити вміст сусідніх комірок пам’яті.
У RAMBleed використали такий особливий зв’язок між сусідніми комірками оперативної пам’яті для зчитування даних з них без безпосереднього доступу до них. Практичний приклад використання цієї атаки показали дослідники зі США, Австралії та Австрії, які зламали шифроване інтернет-з’єднання за протоколом OpenSSH, отримавши 2048-бітний ключ шифрування RSA. Науковці кажуть, що таким чином можна читати й інші дані.
Зчитування даних при RAMBleed базується на «довбанні» комірок пам’яті. Зловмисник спостерігає, як змінюються значення цих комірок, і таким чином може робити висновок про значення сусідніх комірок. Адже біти мають більшу ймовірність змінити своє значення, якщо комірки у рядку нижче та вище мають протилежний заряд. Якщо сусідні комірки належать іншому додатку, зловмисник може зчитати дані цього додатка, не маючи до нього доступу та не викликаючи тривог в операційної системи і антивірусів.
При цьому, на відміну від Rowhammer, використання RAMBleed не потребує постійної зміни значень бітів у комірках оперативної пам’яті. Це робить атаку ефективною проти механізму контролю цілісності пам’яті ECC, яка має захищати від випадкових змін вмісту бітів оперативної пам’яті.
Дослідники кажуть, що зменшити ризик атаки RAMBleed можна з переходом на оперативну пам’ять DDR4. Вона має стандартний режим targeted row refresh (TRR) з періодичним оновленням вмісту комірок.