Содержание статьи
- Про безопасность умных устройств
- Читай также
- Разбираем устройство
- Винты
- Защита от вскрытия: сторонние материалы на плате
- Защита от вскрытия: прочие варианты
- Изучение платы устройства
- Поиск информации в интернете
- Ищем информацию о чипах
- Изучаем разъемы
- Контакты микросхем
- Определяем интерфейсы на контактах
- Осциллограф
- Логический анализатор
- Мультиметр
- Arduino
- JTAGenum
- JTAGulator
- Взаимодействие с интерфейсами
- UART
- JTAG
- I2C
- SPI
- SWD
- Полезная нагрузка
- Получаем дамп прошивки…
- Получение root-консоли
- Подмена прошивки
- Метод швейной иглы
- Практическая часть: извлечение прошивки камеры
- В завершение
- Список литературы на лето
Где гарантия, что, подключившись к домашнему Wi-Fi, приставка втихаря не собирает пароли от наших любимых сайтов, а умный дом не транслирует с помощью камер видеонаблюдения стрим прямо из спальни? Чтобы обезопасить себя от подобного восстания машин, нужно тщательно изучить принцип работы гаджета и защитить его от проникновения любознательных доброжелателей.
И тут внезапно обнаруживается, что ни на одном русскоязычном ресурсе нет методологии анализа защищенности умных вещей. Что ж, самое время это исправить!
Про безопасность умных устройств
В 2018 году много обсуждалась безопасность интернета вещей, в том числе в связи с эпидемиями малвари вроде Mirai и VPNFilter, которая заражает домашние гаджеты. Чтобы защититься от подобных неприятностей, нужно хорошо представлять себе устройство и принципы работы умных гаджетов. А значит, мы должны уметь грамотно тестировать такие девайсы.
Читай также
«Хакер» неоднократно писал об уязвимостях умных гаджетов:
- Смотри во все глаза. Как взламывают IP- и веб-камеры и как от этого защититься
- Смешные и страшные вещи. Вспоминаем самые зрелищные взломы IoT за последние несколько лет
- Опасный IoT. Как найти уязвимые устройства и что мешает их взломать
- По следам Mirai. Разбираемся, как трояны поражают IoT, на примере самого злого из них
Тестирование интернета вещей можно разделить на четыре этапа:
- разведка — получение информации об устройстве из открытых источников с целью понять, какие протоколы поддерживает гаджет, с какими устройствами совместим, к каким серверам обращается;
- изучение аппаратного уровня — работа с электронной платой устройства;
- исследование программного уровня — изучение дампа прошивки;
- тестирование коммуникаций — сетевого и беспроводного общения.
В этой статье мы поговорим о проблемах безопасности аппаратного уровня, а именно узнаем, как разобрать девайс, чтобы исследовать интерфейсы отладки.
Объединим все это в общую задачу: получение прошивки устройства или доступа к консоли управления. Если ты новичок в этой области, статья предложит тебе подробный алгоритм действий, который позволит успешно справиться с подобной задачей.
Почему так важна возможность изучить плату устройства? Существуют три типа анализа защищенности. Тестирование «черным ящиком» — когда у нас нет вообще никакой информации о тестируемой системе. Тестирование «серым ящиком» — тот случай, если известны только некоторые особенности реализации тестируемой системы. Тестирование «белым ящиком» — когда нам известны все подробности о тестируемой системе.
То есть чем «светлее» «ящик», тем качественнее будет анализ защищенности. Значит, во время тестирования требуется постараться собрать как можно больше данных для перехода от одного типа тестирования к следующему.
Разберем на примере «обеление» тестирования. Когда мы впервые берем в руки устройство, мы ничего о нем не знаем. Это означает, что тестирование будет проводиться по методу «черного ящика».
Предположим, мы разобрали гаджет и смогли извлечь лог отладки запуска устройства через отладочные порты. Тестирование автоматически становится легче и переходит на уровень «серого ящика». А потом оказывается, что в логах отладки засветился пароль администратора, используя который мы смогли подключиться к консоли управления устройством и получили возможность считывать и записывать любой файл в файловой системе. На этом этапе тестирование перешло на последний уровень «белого ящика».
Разбираем устройство
Скорее всего, многие читатели решат пропустить эту часть статьи. Именно так я бы и поступил несколько месяцев назад, но оказалось, что в этой теме есть множество нюансов, знание которых может заметно облегчить жизнь начинающему исследователю.
Винты
Чтобы максимально усложнить задачу любителям покопаться в потрохах электронных устройств, их производители напридумывали огромное количество специальных винтов самой причудливой формы.
И не зря: в случае чего придется вскрывать устройство другими методами, в результате мы можем повредить плату и добровольно избавить разработчика гаджета от грустной обязанности выполнять гарантийные обязательства. На иллюстрации ниже показан классический пример нераскручиваемого винта.
А вот так выглядит концепт «безопасного» винта Apple.
Чтобы быть максимально готовым к подобным сюрпризам, тебе нужно заранее закупиться набором отверток с необходимыми переходниками. Не буду рекламировать решения конкретных производителей (тем более, они не платят за это денег редакции «Хакера»), но наборы, специально предназначенные для разборки мобильных устройств, в среднем стоят около шестидесяти баксов.
Однако даже самый крутой набор отверток не гарантирует стопроцентного успеха. На практике мне попадались устройства с нормальными винтами, при откручивании которых внутри корпуса ломалась пластмассовая часть с внутренней винтовой резьбой. Поэтому очень важно обращаться с хрупкими девайсами аккуратно, используя отвертки руками, растущими строго из нужного места.
WWW
О разных шлицах винтов и их происхождении ты можешь прочитать в статье «Тайная жизнь винтов: от имбуса до минус потая».
Защита от вскрытия: сторонние материалы на плате
Думаю, ты наверняка в детстве из любопытства разбирал электронику и изучал платы разных устройств. Очень часто на ней обнаруживалась странная черная «клякса» — примерно такая, как на картинке ниже.
Она называется «компаунд». Если сказать проще, это отвердевшая полимерная смола с некоторыми добавками. Используется она преимущественно как электроизоляционный материал и иногда может мешать подключиться к определенным контактам на плате. Примем за основу компаунда эпоксидную смолу, как самый популярный тип.
Если ты поищешь по форумам советы о том, чем ее убрать, то найдешь много разных способов для самых различных случаев. Бессмысленно перечислять их все, подскажу только самый проверенный: нагревать верхние слои смолы и удалять. Это, конечно, не так красиво, как растворение, но зато почти всегда работает!
Также стоит упомянуть, что на китайских платах иногда может встретиться прозрачный клей. Он легко удаляется, поэтому не будем на нем останавливаться.
Защита от вскрытия: прочие варианты
На практике другие методы защиты от вскрытия встречаются крайне редко. В специализированной литературе мне попадались упоминания о наличии специальных клипс, после вскрытия которых устройство уже будет нецелесообразно изучать. Так вот, это настолько диковинный способ защиты, что я даже не могу предложить пример такого устройства. Если тебе попадалось что-то подобное, обязательно поделись своим опытом в комментариях.
Изучение платы устройства
После вскрытия устройства нас будет интересовать только его электронная плата.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»