Вернуться в блог

Уязвимость OLED-дисплеев и меры предотвращения

Андрей Лунев

Андрей Лунев

Команда Cryptonist
14 октября 2019Время прочтения: 5 мин
Навигация по статье
Скрыть

Про уязвимость USB-устройств с OLED-дисплеями, касающаяся в том числе аппаратных кошельков

В этой статье описывается утечка информации, обнаруженная на OLED-дисплее, который используется аппаратными кошельками. Мы хотим объяснить, как работает эта атака через побочный канал, и какие измерения предприняли SatoshiLabs для предотвращения этой угрозы на примере Trezor One. Эта атака затрагивает только Trezor One (имеется ввиду из кошельки линейки Trezor, Keepkey, Ledger также имеют OLED дисплеи); кошелек Trezor Model T невосприимчив к этой атаке благодаря совершенно другому дисплею.

Кристиан Рейтер, независимый исследователь безопасности, тесно сотрудничающий с SatoshiLabs, обнаружил эту уязвимость и сообщил о ней SatoshiLabs в начале апреля этого года. Организация MITRE присвоила эту уязвимость Trezor One с идентификатором CVE-2019–14353.

После того как в апреле Кристиан обнаружил эту угрозу, он также заметил, что уязвимость оборудования затрагивает множество других устройств безопасности, которые имеют аналогичный OLED-дисплей, включая множество аппаратных кошельков. Следовательно, Кристиан организовал ответственный процесс раскрытия информации с общей датой выпуска среди производителей, чтобы гарантировать, что у них была возможность оценить и убрать эту проблему.

Эта атака осуществляется только тогда, когда злоумышленник физически завладел устройством. В других ситуациях это не затрагивает пользователей.

Нет никаких доказательств того, что злоумышленники когда-либо использовали эту уязвимость.

Эта угроза ликвидирована в Trezor One, начиная с прошивки 1.8.2, выпущенная 7 августа 2019г.

Подробности атаки OLED-дисплея по стороннему каналу

Основная проблема

Эта уязвимость работает с тем фактом, что общий тип экрана SSD13XX OLED, используемый в Trezor One и других встроенных устройствах безопасности, отображает информацию только по одной пиксельной строке за раз вместо всех сразу (как, например, типично для экранов TFT) и требует для этого относительно большого количества энергии. Хотя в Satoshilabs ожидали, что отображение содержимого экрана множеством ярких пикселей увеличивает энергопотребление OLED-экрана, Кристиан обнаружил, что существует прямая корреляция между количеством подсвеченных пикселей в каждой строке и общим энергопотреблением устройства в конкретный момент.

В области компьютерной безопасности эти нежелательные эффекты обычно называются сторонним каналом, и прилагается немало усилий, чтобы их избежать.

Подтверждение этой концепции на примере Trezor One

Следующий график осциллографа иллюстрирует общее поведение стороннего канала.
Желтый след на картинке отображает захват дисплея в моменте проверки мнемонической фразы со словом “weird”, а оранжевый след – со словом “cram”. В красном квадрате отображаются слова через осциллограф, и они заметно отличаются. Этот результат подчеркивает удобство использования стороннего канала для атаки через категоризацию слов мнемонической фразы.

oled-display

Воздействие

Злоумышленник, имеющий возможность выполнять анализ энергопотребления устройства во время отображения ваших секретов на экране, может использовать эту частичную информацию о распределении пикселей в каждой строке для восстановления конфиденциальной информации посредством статистического анализа. В частности, это актуально для слов в мнемонической фразе или комбинации ПИН-кодов.
Примечательно, что содержимое дисплея не может быть изменено с помощью этого эффекта, поэтому на целостность отображаемой информации это не влияет. Это означает, что вы все еще можете доверять дисплею своего Trezor.

Сценарий атаки

Для практического анализа этого стороннего канала мы должны достаточно подробно измерить энергопотребление целевого устройства за несколько миллисекунд. Эта атака возможна без каких-либо модификаций самого аппаратного кошелька, но требует уникальных компонентов, которые обычно отсутствуют в схемах USB. Например, мы могли бы с высокой скоростью проверить падение напряжения на шунтирующем резисторе в линии питания USB (которая питает целевое устройство) с помощью аналого-цифрового преобразователя.
В лабораторных условиях захват выполняется с помощью громоздкого внешнего измерительного оборудования, такого как осциллограф или радиоуправляемая программа, для достижения высококачественных результатов. Однако электрические свойства этого стороннего канала позволяют предположить, что необходимое измерительное оборудование может быть настолько уменьшено в размерах, что оно будет соответствовать размерам полых участков внутри вредоносного USB-кабеля или другой USB-периферии.

Правдоподобность атаки

Как и на примерах других физических атак на встроенные аппаратные системы, оценка фактического воздействия на безопасность для обычного владельца устройства зависит от многих предположений, которые трудно подкрепить эмпирическими данными. Поэтому представим несколько соответствующих углубленных соображений в этом разделе.
Как описано в предыдущем разделе, злоумышленник должен обмануть владельца конкретного устройства во время выполнения целевых действий на устройстве с помощью какого-либо вредоносного USB-оборудования, соединяющего Trezor One и компьютер.
Нам неизвестны какие-либо существующие схемы доброкачественных измерений в обычном USB-оборудовании или USB-хостах, которые могли бы быть использованы неправильно для выполнения требуемого анализа сигнала без физических модификаций. Поэтому злоумышленнику придется проделать некоторые манипуляции, заменив оригинальный кабель в какой-то момент процесса покупки / доставки (-> «атака по цепочке поставок») или через прямой физический доступ к целевому устройству (-> «атака злой горничной»).

В зависимости от конструкции и конкретного сценария атаки, сложная версия кабеля может также отдельно атаковать хост-компьютер с помощью других USB-атак, таких как эмуляция HID, или захват трафика устройства на шине USB, чтобы обойти определенные ограничения атаки.
Примеры в открытом доступе других аппаратных имплантов показывают, что модификации USB-кабеля могут включать активные компоненты, такие как микроконтроллеры и даже беспроводное соединение через WIFI & GSM. Это охватывает значительную часть аппаратного набора функций, требующиеся здесь. В целом, создание надежного и скрытого импланта для этого стороннего канала не считается тривиальным, но это может быть возможным.

По этим причинам было решено реализовать активные контрмеры на основе встроенного программного обеспечения, которые делают сторонний канал непригодным для восстановления конфиденциальной информации, даже если присутствует вредоносное оборудование.

Как SatoshiLabs обошли проблему

Детальное исследование поведения сигнала показало, что разница в количестве подсвечиваемых пикселей на каждой строке существенно влияет на сторонний канал. Точное горизонтальное положение отдельных пикселей не является необходимым. Это было использовано это для реализации соответствующих контрмер в прошивке.
В примерах дисплея, находящихся ниже, определенное количество пикселей-приманок белого цвета добавляется в каждую строку дисплея для маскировки их в стороннем канале. Этот метод эффективно удаляет зависимый от слова сигнал в поведении побочного канала. Ниже приведены примеры пикселей-ловушек, используемых в обновленной прошивке 1.8.2 для защиты экранов, содержащих секретную информацию.

trezor-display

Этот первый раунд смягчения угрозы является частью последней стабильной прошивки 1.8.2.

Купить кошелек
Trezor One
5900 руб. Купить

Рекомендуемые меры безопасности

Пользователям Trezor One настоятельно рекомендуется обновить прошивку до версии 1.8.2.
Пользователи Trezor Model T не подвержены этой уязвимости в любом случае. Trezor Model T использует совершенно другой дисплей, который полностью защищен от этой атаки.
Как всегда, мы настоятельно рекомендуем обновлять все устройства Trezor до последней версии, чтобы обеспечить максимальный уровень безопасности и обеспечить новейшую функциональность.

Как обновить прошивку?

На момент написания этой статьи уже существует прошивка 1.8.3. Мы рекомендуем вам обновить устройство, так как это приносит вам последние исправления безопасности. Для прошивки 1.6.2 или новее процесс обновления прост.
Если вы используете более старую прошивку (1.6.1 и более ранние), вам необходимо обновить прошивку до 1.6.3. Была добавлена функция в веб-кошелек, которая обновляет ваш Trezor в два этапа, если это необходимо.
Обратите внимание, что если на вашем устройстве Trezor One в настоящее время установлена прошивка версии 1.6.1 (загрузчик версии 1.4.0), обновление прошивки 1.6.3 стирает память устройства. Пожалуйста, убедитесь, что у вас есть правильная мнемоническая фраза, так как она требуется для восстановления устройства Trezor из резервной копии начального уровня.
Мы рекомендуем протестировать вашу фразу восстановления перед обновлением прошивки устройства.

Проверка мнемонической фразы

Мы хотим поблагодарить Кристиана Райттера за его ответственное раскрытие этой угрозы, обширные исследования и сопутствующую документацию по этой уязвимости. Также важно отметить, что процесс обмена информацией между отдельными поставщиками значительно способствовал смягчению атаки.

Павол «Stick» Руснак, технический директор SatoshiLabs

Часто задаваемые вопросы

Здесь я собрал наиболее частые вопросы.

Затрагивает ли угроза модель Трезор Т?

Trezor Model T использует другую технологию отображения (TFT), поэтому эта уязвимость на нее не влияет.

Я собираюсь купить новый Trezor One. Будет ли он подвержен этой уязвимости?

Мы отправляем устройства Trezor без предустановленной прошивки. Поэтому последняя доступная прошивка с последними исправлениями всегда устанавливается во время инициализации устройства.

Что произойдет, если мой Trezor One будет украден?

Этот сторонний канал никак не позволяет злоумышленнику восстановить информацию с украденного устройства.

Затронуты ли угрозой другие аппаратные кошельки?

Да. Как описано ранее, уязвимость существует в обычном компоненте дисплея OLED, который используется многими другими встроенными устройствами безопасности. Практический уровень воздействия зависит от нескольких факторов, таких как использование ими дисплея для отображения конфиденциальных данных.

Подпишитесь на рассылку

Свежие новости из мира криптовалюты,
блокчейна, обзоры аппаратных кошельков

Похожие статьи
trezor-t-monero-xmr-cover02
Интеграция Trezor T с Monero GUI: Как получить, хранить и тратить криптовалюту Monero XMR

В этой статье мы узнаем, как интегрировать аппаратный кошелек Trezor T с интерфейсом Moner...

Время прочтения: 7 мин 06.11.2019
trezor-firmware-bitcoin-only-cover
Кошельки Trezor – новая прошивка только для Биткоина: особенности, как установить и пользоваться

Эта статья будет полностью посвещена новой прошивке для биткоина, которую недавно выпустил...

Время прочтения: 3 мин 07.10.2019
trezor-exodus_cover
Интеграция горячего кошелька Exodus с Trezor!

Зачем мне эта интеграция? В первую очередь это дополнительный клиент для управления крипт...

Время прочтения: 7 мин 07.08.2019
Tether_Usdt_Trezor_Ledger_Keepkey_cover
Отправляем и получаем Tether Usdt с помощью кошелька Trezor T

Многих пользователей аппаратных кошельков волнует один и тот же вопрос – как можно получат...

Время прочтения: 5 мин 14.07.2019
obzor-apparatnogo-koshelka-trezor-model-t-cover
Обзор аппаратного кошелька Trezor Model T

Trezor T – это флагманская модель от популярного чешского производителя SatoshiLabs по про...

Время прочтения: 24 мин 19.03.2019

Подпишитесь на наш Youtube-канал и узнайте,
как пользоваться кошельками и обеспечить
полную безопасность своим средствам

Подписаться
Подписка успешно
оформлена!

Вы всегда сможете отменить подписку
по ссылке «Отменить подписку» в письме.

Спасибо, за Ваш отзыв!

После проверки модератором,
отзыв будет опубликован.

Спасибо, Ваша
заявка отправлена!

Мы свяжемся с вами в ближайшее время.

Заказать
обратный звонок

Оставьте свои данные и мы свяжемся с вами




Начать обучение
«Обзор аппаратного кошелька Trezor Model T»

Оставьте свои данные
и мы свяжемся с вами