Фотографии в заложниках. Первый взлом цифровых камер по WiFi (протокол PTP/IP)

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

На хакерской конференции DEF CON 2019 Эяль Иткин из Check Point Software Technologies показал первый в мире действующий эксплоит для протокола PTP (Picture Transfer Protocol). Многие современные DSLR поддерживают передачу файлов по WiFi. В данном случае описана зловредная точка доступа WiFi, к которой автоматически подключаются окружающие камеры.

Экплоит работает и при физическом подключении камеры к компьютеру по PTP/USB. В обоих случаях злоумышленник может установить соединение с камерой и загрузить на неё исполняемый код. Например, для шифрования всех изображений на карте.

Для примера Эяль Иткин из Check Point загрузил на камеру Canon EOS 80D демо-версию зловреда-вымогателя, который шифрует файлы на флэш-карте. Иткин предполагает, что это вполне реальная модель монетизации: часто там хранятся фотографии важных жизненных событий, поэтому люди захотят заплатить, чтобы получить их обратно.

Кроме вымогателя, теоретически возможны и другие способы использования эксплоита:

  • Полное выведение из строя
  • Использование камеры для шпионажа (она уже делает фотографии)

Модель Canon выбрали, потому что этот производитель контролирует более 50% мирового рынка цифровых камер. Кроме того, вокруг камер Canon сложилось обширное моддерское движение. Активисты провели реверс-инжиниринг прошивки и аппаратного обеспечения для выпуска свободных прошивок с расширенной функциональностью: см. Magic Lattern и Canon Hack Development Kit (CHDK).

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

  • никакой аутентификации и шифрования (протокол изначально создавался под USB, тогда не предполагалось существование PTP/IP);
  • поддержка десятков сложных команд с богатой функциональностью;
  • поддержка WiFi.

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

Видеодемонстрация

Технические детали атаки

Первым делом хакер провёл реверс-инжиниринг и анализ прошивки камеры. Оказалось, что она зашифрована AES, а ключа нет. Но сообщество Magic Lattern уже решило эту проблему. Они использовали ROM Dumper и раздобыли ключи.

Дамп загружается в IDA, а у Magic Lattern есть хорошая база с документированными адресами, откуда вызывается та или иная функция. В камерах Canon используется проприетарная ОС реального времени DryOS. Благодаря ей девайс способен перезагрузиться всего за три секунды.

Вот список команд PTP с опкодами в DryOS. Чтобы найти необходимый код в прошивке, достаточно запустить поиск соответствующей константы, указанной в списке для каждой команды.

Поверхностный анализ некоторых функций, которые работают с командами PTP показал, что они довольно сложно реализованы (148 уникальных обработчиков в одной функции) и там присутствуют явные уязвимости на переполнение буфера.

Иткин нашёл четыре уязвимости с переполнением буфера при вызове четырёх команд PTP (SendObjectInfo, NotifyBtStatus, BLERequest, SendHostInfo): номера уязвимостей CVE-2019-5994, CVE-2019-5998, CVE-2019-5999, CVE-2019-6000). Интересно, что две уязвимости связаны с обработкой Bluetooth, хотя данная модель камеры не поддерживает Bluetooth.

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

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

Иткин также разработал способ установки вредоносного обновления прошивки на камеру без участия пользователя (CVE-2019-5995).

В презентации на DEF CON автор говорит, что это первый эксплоит для протокола PTP и «надёжный способ захвата большинства DSLR без эксплуатации каких-либо уязвимостей».



ссылка на оригинал статьи https://habr.com/ru/post/463881/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *