Мало кто знает, что буква S в аббревиатуре IoT означает Security.
В этой статье я расскажу о дистрибутиве Attify OS, предназначенном для тестирования IoT- устройств.
Internet of Things
Интернет вещей (IoT) находится только в начале своего пути, но уже развивается с огромной скоростью, и все вводимые новшества добавляют серьёзные проблемы, связанные с информационной безопасностью. В мире IoT превалирует парадигма security through obscurity — пока проблема не будет выявлена — её как бы не существуют. Система, полагающаяся на «security through obscurity», может иметь существующие или предполагаемые уязвимости, но её владельцы или разработчики считают, что если недостатки неизвестны, то злоумышленник не сможет их обнаружить.
Использование этой концепции приводит к катастрофическим последствиям — после обнаружения уязвимости устройства атакуются тысячами и используются злоумышленниками.
Основные сложности в защите IoT приходятся на следующие факторы:
- их нельзя обновить/пропатчить;
- пользователь не знает/не хочет обновляться;
- они сняты с поддержки.
Attify OS
Существует множество дистрибутивов тестирования на проникновение, в том числе и узкоспециализированных, под конкретную технологию или тип устройств/уязвимостей. AttifyOS предназначен для тестирования IoT устройств.
Attify содержит набор инструментов для анализа прошивок (Firmware Analysis Toolkits) — это набор инструментальных средств, созданный для того, чтобы помочь исследователям безопасности анализировать и выявлять уязвимости в прошивках IoT и встроенных (embedded) устройств.
IoT устройства и встроенные системы используют прошивку, в которой часто хранятся много полезной, а зачастую и критичной информации. Это могут быть «захардкоженные» учетные данные, триггеры для получения отладочной и системной информации, недокументированные возможности, бэкдоры и многое другое.
Для облегчения выявления такой информации Attify OS содержит несколько крайне полезных инструментов:
Утилиты
Binwalk
Основным средством анализа прошивок является утилита binwalk. Binwalk — это быстрый, простой в использовании инструмент для анализа, реверс-инженеринга и извлечения firmware.
Attify Badge tool
Attify Badge GUI-утилита для взаимодействия с UART, SPI, JTAG, GPIO etc. Утилита разработана контрибьюторами Attify OS и является удобным инструментом взаимодействия и является отличительной особенностью данного дистрибутива.
Baudrate.py
Небольшой инструмент, написанный на Python, для выявления скорости обмена последовательными соединениями.
Openocd
Популярная система отладки для микроконтроллеров. Open On-Chip Debugger (открытый отладчик для чипов). OpenOCD предоставляет инструментарий отладки (debugging), внутрисхемного программирования (in-system programming, ISP), внутрисхемного тестирования (boundary-scan testing) для встраиваемых систем (микроконтроллеров, FPGA и т. п.).
Flashrom
Универсальная утилита для чтения/записи flash-чипов.
Spiflash.py
Программатор Spiflash, написанный на Python и предназначенный для анализа FlashROM.
Firmware-Mod-Kit (FMK)
Предназначен для анализа и пересборки прошивок.
Firmware Analysis Toolkit (FAT)
Инструментарий, созданный для того, чтобы помочь исследователям безопасности проанализировать и выявить уязвимости в прошивке IoT иembedded устройств. Утилита разработана контрибьюторами Attify OS.
radare2
Популярная утилита для реверс-инженеринга. Рассматривалась в одной из наших публикаций.
IDA Demo
IDA Pro — это интерактивный дизассемблер и отладчик одновременно. Она позволяет превратить бинарный код программы в ассемблерный текст, который может быть применен для анализа работы программы. Демо-версия имеет ряд ограничений.
Dex2Jar
Транслятор байт-кода Dalvik в байт-код JVM, на основе которого можно получить код на языке Java.
JADx
Декомпилятор байт-кода Dalvik в код на Java.
ROPGadget
Этот инструмент позволяет выявлять уязвимости в бинарных файлах. ROPgadget поддерживает формат ELF, PE и Mach-O на платформах x86, x64, ARM, ARM64, PowerPC, SPARC и MIPS.
GQRX
Gqrx программный ресивер на основе GNU Radio и GUI-интерфейсом, написанном на Qt.
GNURadio
Программный инструментарий, предоставляющий разработчикам программно-определяемых радиосистем «строительные блоки», обеспечивающие основные функции цифровой обработки сигналов.
Ubertooth-Utils
Платформа для разработки беспроводных технологий (Bluetooth) с открытым исходным кодом. Ubertooth поставляется с анализатором BLE (Bluetooth Smart).
KillerBee / Attify ZigBee Framework
Инструмент (и обертка к нему) для анализа ZigBee и IEEE 802.15.4.
Ссылки на дистрибутив
Автор: Лука Сафонов