Уязвимость в NAND Flash может привести к повреждению чужих данных на SSD-накопителях
21 мая 2017 года
Группа исследователей из Университета Карнеги-Меллона, компании Seagate и Швейцарской высшей технической школы Цюриха выявила низкоуровневую уязвимость в организации хранения информации на современных NAND Flash-чипах, применяемых в SSD-накопителях. Атакующий может сформировать определённую активность со своими данными на накопителе, в результате которой будет нарушена целостность неподконтрольных ему данных, которыми манипулируют другие процессы.
Уязвимость вызвана особенностями хранения данных чипами NAND Flash, поддерживающими технологию MLC (Multi-Level Cell), при которой каждая ячейка может принимать одно из четырёх пороговых напряжений (низкое — 0, два промежуточных — 01/10 и высокое — 11), т.е. MLC обеспечивает хранение в одной ячейке сразу двух битов, в отличие от классической схемы SLC (Single-Level Cell), при которой низкое напряжение в ячейке соответствует 0, а высокое — 1. Из-за паразитной ёмкостной связи между соседними ячейками программирование содержимого ячеек может влиять на уровень заряда в соседних ячейках и появлению ошибок в них, когда к ранее незаряженной ячейке прикладывается высокий уровень напряжения.
Для обхода подобного эффекта производители применяют двухэтапный метод программирования ячеек, при котором вначале устанавливается бит, задаваемый промежуточным напряжением, а затем напряжение ячейки доводится до высокого. Исследователи показали, что подобная мера не является полностью надёжной и имеет слабое звено. В частности, доказано, что частично запрограммированные ячейки, для которых завершён первый этап программирования, но ещё не выполнен второй, значительно более подвержены влиянию изменения напряжения в соседних ячейках и возникновению искажений при чтении ("read disturb"), чем полностью запрограммированные ячейки. В результате разработаны две атаки, нацеленные на искажение значений в частично запрограммированных ячейках.
Первая атака реализуется через выполнение операций записи данных, соответствующих определённому шаблону, который позволят в 4,9 раза увеличить вероятность возникновения ошибки при работе алгоритма программирования ячеек MLC и в качестве косвенного влияния приводит к повреждению значений в соседних ячейках, находящихся в первой фазе программирования. Метод во многом напоминает атаку Rowhammer, нацеленную на повреждение содержимого ячеек DRAM и также разработанную в университете Карнеги-Меллон.
Вторая атака направлена на искажение данных при чтении значений частично запрограммированных ячеек из-за возникновения ошибок "read disturb" при выполнении большого числа операций чтения за очень короткий отрезок времени. Так как искажаются считываемые данные, то данный вид атаки приводит как к повреждению содержимого, уже сброшенного в частично запрограммированные ячейки, так и страниц, которые только готовятся к записи. Для производителей исследователи разработали несколько методов предотвращения атак, которые рекомендованы для внедрения.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.