- Регистрация
- 23 Янв 2019
- Сообщения
- 1,351
- Баллы
- 0
- Общие продажи
- 0$
- Общие покупки
- 0$
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В наше время ни одно устройство с сетевым подключением не защищено от потенциального взлома. Даже фотоаппарат.
На хакерской конференции DEF CON 2019 Эяль Иткин из Check Point Software Technologies первый в мире действующий эксплоит для протокола (Picture Transfer Protocol). Многие современные DSLR поддерживают передачу файлов по WiFi. В данном случае описана зловредная точка доступа WiFi, к которой автоматически подключаются окружающие камеры.
Экплоит работает и при физическом подключении камеры к компьютеру по PTP/USB. В обоих случаях злоумышленник может установить соединение с камерой и загрузить на неё исполняемый код. Например, для шифрования всех изображений на карте.
Для примера Эяль Иткин из Check Point загрузил на камеру Canon EOS 80D демо-версию зловреда-вымогателя, который шифрует файлы на флэш-карте. Иткин предполагает, что это вполне реальная модель монетизации: часто там хранятся фотографии важных жизненных событий, поэтому люди захотят заплатить, чтобы получить их обратно.
Кроме вымогателя, теоретически возможны и другие способы использования эксплоита:
Но аналогичные методы применимы и для других камер, поскольку все они поддерживают PTP стандартным образом. А этот протокол обладает важными свойствами, которые благоприятствуют взлому:
Видеодемонстрация
Технические детали атаки
Первым делом хакер провёл реверс-инжиниринг и анализ прошивки камеры. Оказалось, что она зашифрована AES, а ключа нет. Но сообщество Magic Lattern уже решило эту проблему. Они использовали ROM Dumper и раздобыли ключи.
Дамп загружается в IDA, а у Magic Lattern есть хорошая база с документированными адресами, откуда вызывается та или иная функция. В камерах Canon используется проприетарная ОС реального времени DryOS. Благодаря ей девайс способен перезагрузиться всего за три секунды.
Вот с опкодами в 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 без эксплуатации каких-либо уязвимостей».
На хакерской конференции DEF CON 2019 Эяль Иткин из Check Point Software Technologies первый в мире действующий эксплоит для протокола (Picture Transfer Protocol). Многие современные DSLR поддерживают передачу файлов по WiFi. В данном случае описана зловредная точка доступа WiFi, к которой автоматически подключаются окружающие камеры.
Экплоит работает и при физическом подключении камеры к компьютеру по PTP/USB. В обоих случаях злоумышленник может установить соединение с камерой и загрузить на неё исполняемый код. Например, для шифрования всех изображений на карте.
Для примера Эяль Иткин из Check Point загрузил на камеру Canon EOS 80D демо-версию зловреда-вымогателя, который шифрует файлы на флэш-карте. Иткин предполагает, что это вполне реальная модель монетизации: часто там хранятся фотографии важных жизненных событий, поэтому люди захотят заплатить, чтобы получить их обратно.
Кроме вымогателя, теоретически возможны и другие способы использования эксплоита:
- Полное выведение из строя
- Использование камеры для шпионажа (она уже делает фотографии)
Но аналогичные методы применимы и для других камер, поскольку все они поддерживают PTP стандартным образом. А этот протокол обладает важными свойствами, которые благоприятствуют взлому:
- никакой аутентификации и шифрования (протокол изначально создавался под USB, тогда не предполагалось существование PTP/IP);
- поддержка десятков сложных команд с богатой функциональностью;
- поддержка WiFi.
Видеодемонстрация
Технические детали атаки
Первым делом хакер провёл реверс-инжиниринг и анализ прошивки камеры. Оказалось, что она зашифрована AES, а ключа нет. Но сообщество Magic Lattern уже решило эту проблему. Они использовали ROM Dumper и раздобыли ключи.
Дамп загружается в IDA, а у Magic Lattern есть хорошая база с документированными адресами, откуда вызывается та или иная функция. В камерах Canon используется проприетарная ОС реального времени DryOS. Благодаря ей девайс способен перезагрузиться всего за три секунды.
Вот с опкодами в 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 без эксплуатации каких-либо уязвимостей».