- •От издательства
- •О техническом обозревателе
- •О соавторах
- •Об авторах
- •Вступительное слово
- •Благодарности
- •Предисловие
- •Почему важна защита интернета вещей?
- •Чем защита интернета вещей отличается от традиционной ИТ-защиты?
- •Законы хакинга интернета вещей
- •Заключение
- •Моделирование угроз для интернета вещей
- •Схема моделирования угроз
- •Определение архитектуры
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Использование деревьев атак для обнаружения угроз
- •Распространенные угрозы интернета вещей
- •Атаки с подавлением сигнала
- •Атаки с воспроизведением
- •Атаки со взломом настроек
- •Клонирование узла
- •Заключение
- •Пассивная разведка
- •Физический или аппаратный уровень
- •Периферийные интерфейсы
- •Среда загрузки
- •Блокировки
- •Предотвращение и обнаружение несанкционированного доступа
- •Прошивка
- •Интерфейсы отладки
- •Физическая устойчивость
- •Разведка
- •Атаки на сетевой протокол и службы
- •Тестирование беспроводного протокола
- •Оценка веб-приложений
- •Картирование приложений
- •Элементы управления на стороне клиента
- •Аутентификация
- •Управление сеансом
- •Проверка ввода
- •Логические ошибки
- •Сервер приложений
- •Исследование конфигурации хоста
- •Учетные записи пользователей
- •Привилегии учетной записи
- •Уровни патчей
- •Удаленное обслуживание
- •Управление доступом к файловой системе
- •Шифрование данных
- •Неверная конфигурация сервера
- •Мобильное приложение и облачное тестирование
- •Заключение
- •4. Оценка сети
- •Переход в сеть IoT
- •VLAN и сетевые коммутаторы
- •Спуфинг коммутатора
- •Двойное тегирование
- •Имитация устройств VoIP
- •Идентификация устройств IoT в сети
- •Обнаружение паролей службами снятия отпечатков
- •Атаки MQTT
- •Настройка тестовой среды
- •Написание модуля MQTT Authentication-Cracking в Ncrack
- •Тестирование модуля Ncrack на соответствие MQTT
- •Заключение
- •5. Анализ сетевых протоколов
- •Проверка сетевых протоколов
- •Сбор информации
- •Анализ
- •Создание прототипов и разработка инструментов
- •Работа с Lua
- •Общие сведения о протоколе DICOM
- •Генерация трафика DICOM
- •Включение Lua в Wireshark
- •Определение диссектора
- •Определение основной функции диссектора
- •Завершение диссектора
- •Создание диссектора C-ECHO
- •Начальная загрузка данных функции диссектора
- •Анализ полей переменной длины
- •Тестирование диссектора
- •Разработка сканера служб DICOM для механизма сценариев Nmap
- •Написание библиотеки сценариев Nmap для DICOM
- •Коды и константы DICOM
- •Написание функций создания и уничтожения сокетов
- •Создание заголовков пакетов DICOM
- •Написание запросов контекстов сообщений A-ASSOCIATE
- •Чтение аргументов скрипта в движке сценариев Nmap
- •Определение структуры запроса A-ASSOCIATE
- •Анализ ответов A-ASSOCIATE
- •Создание окончательного сценария
- •Заключение
- •6. Использование сети с нулевой конфигурацией
- •Использование UPnP
- •Стек UPnP
- •Распространенные уязвимости UPnP
- •Злоупотребление UPnP через интерфейсы WAN
- •Другие атаки UPnP
- •Использование mDNS и DNS-SD
- •Как работает mDNS
- •Как работает DNS-SD
- •Проведение разведки с помощью mDNS и DNS-SD
- •Злоупотребление на этапе проверки mDNS
- •Атаки «человек посередине» на mDNS и DNS-SD
- •Использование WS-Discovery
- •Как работает WS-Discovery
- •Подделка камер в вашей сети
- •Создание атак WS-Discovery
- •Заключение
- •UART
- •Аппаратные средства для связи с UART
- •Как найти порты UART
- •Определение скорости передачи UART
- •JTAG и SWD
- •JTAG
- •Как работает SWD
- •Аппаратные средства для взаимодействия с JTAG и SWD
- •Идентификация контактов JTAG
- •Взлом устройства с помощью UART и SWD
- •Целевое устройство STM32F103C8T6 (Black Pill)
- •Настройка среды отладки
- •Кодирование целевой программы на Arduino
- •Отладка целевого устройства
- •Заключение
- •Как работает SPI
- •Как работает I2C
- •Настройка архитектуры шины I2C типа «контроллер–периферия»
- •Заключение
- •9. Взлом прошивки
- •Прошивка и операционные системы
- •Получение доступа к микропрограмме
- •Взлом маршрутизатора Wi-Fi
- •Извлечение файловой системы
- •Статический анализ содержимого файловой системы
- •Эмуляция прошивки
- •Динамический анализ
- •Внедрение бэкдора в прошивку
- •Нацеливание на механизмы обновления микропрограмм
- •Компиляция и установка
- •Код клиента
- •Запуск службы обновления
- •Уязвимости служб обновления микропрограмм
- •Заключение
- •10. Радио ближнего действия: взлом rFID
- •Радиочастотные диапазоны
- •Пассивные и активные технологии RFID
- •Структура меток RFID
- •Низкочастотные метки RFID
- •Высокочастотные RFID-метки
- •Настройка Proxmark3
- •Обновление Proxmark3
- •Клонирование низкочастотных меток
- •Клонирование высокочастотных меток
- •Имитация RFID-метки
- •Изменение содержимого RFID-меток
- •Команды RAW для небрендированных или некоммерческих RFID-тегов
- •Подслушивание обмена данными между меткой и считывателем
- •Извлечение ключа сектора из перехваченного трафика
- •Атака путем подделки RFID
- •Автоматизация RFID-атак с помощью механизма скриптов Proxmark3
- •Пользовательские сценарии использования RFID-фаззинга
- •Заключение
- •11. Bluetooth Low Energy (BLE)
- •Как работает BLE
- •Необходимое оборудование BLE
- •BlueZ
- •Настройка интерфейсов BLE
- •Обнаружение устройств и перечисление характеристик
- •GATTTool
- •Bettercap
- •Взлом BLE
- •Настройка BLE CTF Infinity
- •Приступаем к работе
- •Заключение
- •12. Радиоканалы средней дальности: взлом Wi-Fi
- •Как работает Wi-Fi
- •Атаки Wi-Fi на беспроводные клиенты
- •Деаутентификация и атаки «отказ в обслуживании»
- •Атаки на Wi-Fi путем подключения
- •Wi-Fi Direct
- •Атаки на точки доступа Wi-Fi
- •Взлом WPA/WPA2
- •Взлом WPA/WPA2 Enterprise для сбора учетных данных
- •Методология тестирования
- •Заключение
- •13. Радио дальнего действия: LPWAN
- •Захват трафика LoRa
- •Настройка платы разработки Heltec LoRa 32
- •Настройка LoStik
- •Превращаем USB-устройство CatWAN в сниффер LoRa
- •Декодирование протокола LoRaWAN
- •Формат пакета LoRaWAN
- •Присоединение к сетям LoRaWAN
- •Атаки на LoRaWAN
- •Атаки с заменой битов
- •Генерация ключей и управление ими
- •Атаки воспроизведения
- •Подслушивание
- •Подмена ACK
- •Атаки, специфичные для приложений
- •Заключение
- •14. Взлом мобильных приложений
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Защита данных и зашифрованная файловая система
- •Подписи приложений
- •Аутентификация пользователя
- •Управление изолированными аппаратными компонентами и ключами
- •Проверенная и безопасная загрузка
- •Анализ приложений iOS
- •Подготовка среды тестирования
- •Статический анализ
- •Динамический анализ
- •Атаки путем инъекции
- •Хранилище связки ключей
- •Реверс-инжиниринг двоичного кода
- •Перехват и изучение сетевого трафика
- •Анализ приложений Android
- •Подготовка тестовой среды
- •Извлечение файла APK
- •Статический анализ
- •Обратная конвертация двоичных исполняемых файлов
- •Динамический анализ
- •Перехват и анализ сетевого трафика
- •Утечки по побочным каналам
- •Заключение
- •15. Взлом умного дома
- •Физический доступ в здание
- •Клонирование RFID-метки умного дверного замка
- •Глушение беспроводной сигнализации
- •Воспроизведение потока с IP-камеры
- •Общие сведения о протоколах потоковой передачи
- •Анализ сетевого трафика IP-камеры
- •Извлечение видеопотока
- •Атака на умную беговую дорожку
- •Перехват управления интеллектуальной беговой дорожкой на базе Android
- •Заключение
- •Инструменты для взлома интернета вещей
- •Предметный указатель
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
|
X |
|
|
|
|
|
|||
|
|
|
- |
|
|
|
|
|
d |
|
||
|
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
BUY |
|
|
|||
Нарушения безопасности |
и конфиденциальности |
w Click |
to |
|
|
|
|
m |
||||
|
|
|
|
|
||||||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
|
-x cha |
|
|
|
|
Нарушения конфиденциальности– одна из самых больших и наиболее постоянных угроз в системах интернета вещей. Часто конфиденци- альность пользовательских данных защищена незначительно, по- этому вы можете найти эту угрозу практически в любом протоколе связи, который передает данные на устройство и с него. Сопоставьте архитектуру системы, найдите компоненты, которые могут содер- жать конфиденциальные пользовательские данные, и отслеживайте конечные точки, которые их передают.
Осведомленностьпользователей о безопасности
Даже если вам удастся уменьшить все другие угрозы, у вас, вероятно, возникнут проблемы с осведомленностью пользователей о безопас ности. Одни не умеют распознавать фишинговые письма, которые могут поставить под угрозу их рабочие станции, другие допускают неавторизованных людей в конфиденциальные зоны.У людей, рабо- тающих с медицинским оборудованием интернета вещей, есть пого- ворка: если вы ищете способы взлома или обхода бизнес-логики или что-то,чтоускоритрешениевашихзадач,простоспроситемедсестру, работающую с системой.Поскольку медсестры используют эту систе- му ежедневно, они знают все системные комбинации клавиш управ- ления.
Заключение
В этой главе вы познакомились с моделированием угроз, процес- сом выявления и списком возможных атак на исследуемую систему. Проходя через модель угроз для инфузионной помпы, мы обрисова- ли в общих чертах основные этапы процесса моделирования угроз и описали некоторые из основных угроз, с которыми сталкиваются устройства интернета вещей. Подход, который мы объяснили, был простым и, возможно, не лучшим для каждой ситуации, поэтому ре- комендуем вам изучить и другие структуры.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
3
МЕТОДОЛОГИЯ
ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ
С чего начать, если вы хотите протестировать систему интернета вещей на наличие уязвимостей? Если поверх- ностьатакидостаточномала,каквслучаеодноговеб-пор- тала, который управляет камерой видеонаблюдения, пла- нирование проверки безопасности может быть простым.
Однако,когдатестирующая команда не следует установленной мето- дологии, она может пропустить критические точки приложения.
В этой главе представлен подробный список шагов, которые необ- ходимо выполнить при тестировании на преодоление защиты. Для этого мы разделим поверхность атаки IoT на логические уровни, как показано на рис. 3.1.
При тестировании систем интернета вещей вам понадобится на- дежная методология оценивания, подобная этой, поскольку системы интернета вещей часто состоят из множества взаимодействующих компонентов. Давайте рассмотрим случай, когда кардиостимулятор подключен к домашнему устройству мониторинга. Устройство мо- ниторинга может отправлять данные пациента на облачный портал через соединение 4G, чтобы врачи могли проверять аномалии сер-
Методология тестирования безопасности 63
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
Патенты |
|
|
Знания |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
пользователя |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Пассивная разведка |
|
|
|
|
|
|
Сопоставление |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
Элементы |
|
приложений |
|
|
Контрольдоступа/ |
||||
|
|
Руководства |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
управления |
|
|
|
|
|
авторизация |
|||||||
|
|
и документы |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
Тестирование |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Аутенти |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
Управление |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
сессией |
|
веб-приложения |
|
|
|
фикация |
||||
|
|
|
Загрузочная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Проверка |
|
|
|
|
|
Сервер |
|
||||||
Периферийные |
|
|
среда |
|
|
Порты |
|
ввода |
|
Логические |
|
|
приложений |
|
|||||||
интерфейсы |
|
|
|
|
|
|
|
отладки |
|
|
|
|
недостатки |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Замки |
|
Физический/аппаратный |
|
Физическая |
|
|
|
|
|
|
|
|
|||||
|
уровень |
|
|
|
|
|
|
|
|
|
|||||||
|
|
надежность |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
Удаленная |
|
|
|
Веб- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
поддержка |
|
|
|
приложение |
|
|
Защита |
|
|
Прошивка |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
отвторжения |
|
|
|
|
|
|
|
Облачноетестирование |
||||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
API |
|
|
Жестко закодиро- |
||
|
|
Приложение |
|
|
Упаковка |
|
|
|
|
|
|
ванные секреты |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Тестирование мобильных приложений |
|
|
|
|
|
|
|
|
|
Аккаунты |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Уровень |
|
|
пользователей |
|
|
Привилегии |
|
|
|||
|
|
|
|
API |
|
|
|
|
|
|
|
исправлений |
|
|
|
|
|
аккаунта |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
Надежность |
|
Обзор конфигурации хоста |
Шифрование |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
пароля |
|
|
данных |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Удаленное |
|
|
Неправильная |
|
|
Доступ к файловой |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обслуживание |
|
|
конфигурация |
|
|
|
системе |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сервера |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обнаружение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
хоста |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Определение |
|
|
|
|
|
|
Идентификация |
|
|
|
|
|
|
|
|||||||||
|
|
|
версии службы |
|
|
Разведка |
|
|
операционной |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
системы |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Карта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
топологии |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сетевойуровень |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Аутентификация |
|
|
Шифрование |
|
|
|
|
|
|
|
|
|
Сканирование |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
Анализ |
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
уязвимостей |
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
сетевого |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Тестирование |
|
|
трафика |
|
|
Атаки на сетевой |
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
беспроводного протокола |
|
|
|
|
|
|
|
протокол / службы |
|
|
|
|
|
|
|||||||||||||
|
|
Реверс- |
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
инжиниринг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Уязвимостиуровня |
|
|
|
|
|
|
|
Взлом |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
восприятия |
|
|
|
|
|
|
|
|
|
|
|
служб |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.3.1.Логические уровни в тесте,оценивающем защищенность
64 Глава 3
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
дечного ритма. Медицинский персонал также может настроить кар- |
|
|
|
|
|
m |
||||
w Click |
|
|
|
|
|
|
||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
диостимулятор с помощью программатора, использующего модульdf-x chan |
.c |
|
||||||||
|
. |
|
|
|
|
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
e |
|
беспроводной связи ближнего радиусадействия (NFC) и собственный протокол беспроводной связи. Эта система состоит из множества ча- стей, каждая из которых имеет потенциально существенную поверх- ность для атаки, которую слепая неорганизованная оценка безопас ности,скорее всего,не сможетуспешно выявить.Чтобытестирование прошло успешно,мы выполнимпассивную разведку,а затем обсудим методы тестирования физического оборудования, сети, веб-прило- жения, хоста, мобильного приложения и облака.
Пассивная разведка
Пассивная разведка, также называемая расследованием на основе от-
крытых данных (Open-source intelligence, OSINT), представляет собой процесс сбора данных о целях без связи напрямую с системами. Это один из начальных шагов для любого оценивания; вы всегда должны выполнять его, чтобы получить представление об общем положении дел.Например,вы можете загрузить и изучить руководства к устрой- ствамиспецификациичипсетов,просмотретьинтернет-форумыисо- циальные сети или задать наводящие вопросы пользователям и тех- ническому персоналу. Вы также можете собрать внутренние имена хостов из сертификатов TLS, выпущенных в результате применения Certificate transparency – стандарта, который требует от доверенных центров сертификации записывать всю информацию о выданных сертификатах в общедоступные журналы, что позволяет идентифи- цировать ошибочно или злонамеренно выданные сертификаты.
Руководства и документы
Руководства по эксплуатации системы могут предоставить массу ин- формации о внутренней работе устройств. Обычно их можно найти на официальном сайте производителя устройства. Если это не помо- жет, попробуйте расширенный поиск в Google документов PDF, со- держащих имя устройства: например, выполнив поиск устройства и добавив в запрос inurl:pdf.
Удивительно, сколько важной информации можно найти в ру- ководствах. Наш опыт показывает, что они могут раскрыть име- на пользователей и пароли по умолчанию, которые часто остаются
впроизводственных средах,подробные спецификации системы и его компоненты, схемы сети и архитектуры, а также разделы по устране- нию неполадок, которые помогают определить слабые места.
Если вы идентифицировали определенные чипсеты, установлен- ные на оборудовании,также стоит поискать соответствующие табли- цы данных (руководства для электронных компонентов), поскольку они могут содержать информацию о контактах чипсетов, используе- мыхдля отладки (например,интерфейсы отладки JTAG,обсуждаемые
вглаве 7).
Методология тестирования безопасности 65
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
Еще одним полезным ресурсом для устройств, использующих ра- |
|
|
|
to |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
m |
||
w Click |
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
df-x chan |
|
o |
|
|||||
диосвязь, является онлайн-база данных FCC ID (https://fccid.io/). FCC |
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
ID–это уникальный идентификатор,присвоенный устройству,заре- гистрированному в Федеральной комиссии связи США. Все беспро- водные излучающие устройства,продаваемые в США,должны иметь FCC ID. Выполнив поиск по FCC ID определенного устройства, вы можете найти подробную информацию о рабочей частоте беспро- водной сети и мощности оборудования, внутренние фотографии устройства,руководства пользователя и многое другое.FCC ID обыч- но выгравирован на корпусе электронного компонента или устрой- ства (рис. 3.2).
Рис.3.2.FCC ID указан на чипе RFM95C USB-модуля CatWAN,который мы будем использовать в главе 13 для взлома LoRa
Патенты
Патентымогутпредоставитьинформациюовнутреннейработеопре- деленных устройств. Попробуйте поискать название поставщика на сайте https://patents.google.com/ и посмотрите,что появится.Например, поиск по ключевым словам «medtronic bluetooth» должен привести вас к описанию протокола обмена информацией между импланти- руемыми медицинскими устройствами (Implantable medical devices – IMD), опубликованному в 2004 году.
Патенты почти всегда будут содержать блок-схемы, которые могут помочь вам при оценке канала связи между устройством и другими системами.На рис.3.3 простая блок-схемадлятого же IMD показыва- ет критический вектор атаки.
Обратите внимание, что стрелки входят в столбец IMD и выходят из него. Действие удаленной системы «Действие пациента и совет» можетинициироватьподключениекустройству.Проследивзацепоч- кой стрелок,обратите внимание,что действие также может обновить программу устройства, чтобы изменить настройки, которые могут нанести вред пациенту. По этой причине удаленная система создает риски удаленного взлома либо через небезопасное мобильное при- ложение, либо через саму удаленную систему (обычно реализуемую в облаке).
66 Глава 3
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|||||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
P |
|
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
o |
m |
|
Модульсвязи 100 / |
Система коммуникации |
|
|
|
|
|
|
o |
m |
|||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
Удаленная система w |
|
|
|
|
|
|
|
|
|
||||||
w |
p |
|
|
|
|
g |
|
|
|
IMD 10 |
|
|
w |
|
p |
|
|
|
|
g |
|
|
|
||||
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
.c |
|
|||||||||
|
. |
|
-xcha |
|
|
|
|
мобильный телефон 110 |
120 |
130 |
|
. |
|
-x cha |
|
|
|
||||||||||
|
|
|
df |
|
e |
|
|
|
|
|
df |
|
e |
|
|||||||||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
n |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
Монитор пациента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Загрузкапланового |
Передача |
Подключение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
оповещения |
или хранение |
к удаленному |
Анализ данных |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о болезни/опрос |
и передача |
серверу |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пациента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Расположение |
Опрос |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
местоположения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вышки связи |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пациента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ближайшего врача |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование |
Получение |
Подключение |
Указания и советы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/ обновление/ |
действий |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
к пациенту |
пациенту |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
удаленныйопрос |
и указаний |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Отображение |
Связьс врачом |
Данные пациента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указаний |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.3.3.Блок-схема из патента Medtronic показывает,что между устройством |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
и удаленной системой может осуществляться двунаправленная связьчерез |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
мобильный телефон.Это указывает на важный вектор атаки |
|
|
|
|
|
|
|
|
|
|
|
|
|
Знания пользователей
Удивительно, сколько общедоступной информации можно найти всоциальныхсетях,онлайн-форумахичатах.Выдажеможетеисполь- зовать обзоры Amazon и eBay в качестве источника знаний. Ищите пользователей, жалующихся на определенные функции устройства; ошибки в его работе иногда указывают на уязвимость. Например, вы можете найти пользователя, который жалуется на сбой устройства при совпадении нескольких условий. Это хороший повод изучить ситуацию поподробнее, так как виной всему может быть логическая ошибка или уязвимость,вызывающая повреждение памяти в резуль- тате ввода определенных данных или команды в устройство. Кроме того, многие пользователи публикуют подробные обзоры продуктов со спецификациями и фотографиями устройств в разобранном виде.
Методология тестирования безопасности 67