Исследователи безопасности нашли способ расшифровать образы встроенного ПО, встроенные в маршрутизаторы D-Link.
Прошивка - это кусок кода, который передает низкоуровневую функциональность аппаратным устройствам.
Компании шифруют образы микропрограмм на своих устройствах, чтобы предотвратить обратное проектирование со стороны конкурентов и угроз, а также чтобы их клиенты - (или, что еще лучше, вредоносные программы) - не могли заменить устройство на специальную прошивку.

Чтобы расшифровать что-либо, вам понадобится либо секретный ключ дешифрования, либо средство взлома алгоритм шифрование. Если образы прошивки действительно зашифрованы, как их можно так легко расшифровать?
Анализ шифрования образа прошивки D-Links
В начале своего анализа Starke загрузил последнюю версию прошивки D-Link (1.11B02) с сайта поддержки и использовал Binwalk для анализировать.
Binwalk - это простая утилита программа обратный инжиниринг, специально разработанный для извлечения и анализа прошивки.
К удивлению исследователя, Бинволк ничего не раскрыл:

Результатом стало немедленное указание на то, что прошивка была зашифрована.
Интересно, что распаковка более ранней версии 1.02B03, полученной с того же сайта поддержки D-Link, выявила два файла прошивки:
DIR3040A1_FW102B03.bin
DIR3040A1_FW102B03_uncrypted.bin
Наличие двоичного файла, заканчивающегося на «… _ uncrypted.bin», было прямым указанием на то, что он был потенциально незашифрованным, в то время как другой, вероятно, был зашифрован.
Анализ binwalk на «DIR3040A1_FW102B03_uncrypted.bin» выявил некоторую полезную информацию:

Приведенная выше информация исследователи что образ содержит незашифрованную двоичную прошивку, которую затем можно извлечь и проанализировать для сохранены ключи дешифрования.
«Бинго, заголовок uImage и соответствующая файловая система. Мы можем экспортировать его с помощью binwalk -eM DIR3040A1_FW102B03_uncrypted.bin. Глядя на файловую систему, я первым делом поискал полномочия", - объясняет Старке в своем блоге.
Ключи встроены в старые прошивки
После дальнейшего анализа его подозрения были верны, и ключи дешифрования и шифрования были найдены встроенными в двоичный файл.

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

Сделав ряд шагов, исследователь смог создать среду для адекватной расшифровки последнего релиз прошивка 1.11B02.
Запуск двоичного кода imgdecrypt для зашифрованного образа микропрограммы открывает секретный ключ: C05FBF1936C99429CE2A0781F08D6AD8

«Он не только извлекает ключ для расшифровки образа файла прошивки, но и помещает расшифрованную версию в /tmp/.firmware.orig», - говорится в сообщении.
Это означает, что теперь обратный инженер может приступить к анализу зашифрованного образа прошивки.
Этот же метод был использован ранее в этом месяце другим исследователем безопасности, Риком Санчесом, который сделал углубленную статическую анализ алгоритма дешифрования в посте на его блоге, который был разделен на несколько частей.
Санчес, который впервые обнаружил это дефектполагался на покупку физического устройства D-Link, которое может стоить до 200 долларов, как объяснено в части 1 этого поста.
Поскольку секретный ключ остается неизменным для всех зашифрованных изображений прошивка (на любом устройстве), получение предыдущего изображения с сайта поддержки позволит достичь той же цели.
Оба исследователя обнаружили дефект самостоятельно в разное время, и существуют четкие различия в подходах к их исследованиям и используемым инструментам.