Хабрахабр

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

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

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

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

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

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

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

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

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

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

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

Показать больше

Похожие публикации

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

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

Кнопка «Наверх»