Внешние интерфейсы
Полезно идентифицировать любые внешние интерфейсы устройства, которые оно использует для связи с внешним миром. Связь с внешним миром с помощью внешнего интерфейса может быть самой различной: от простого подключения внешних (периферийных) устройств (как, например, мыши, монитора, клавиатуры, настольного компьютера) до прикладного программирования или обновления. Любой интерфейс, через который передается информация от одного устройства до другого, может представлять интерес для злоумышленника и стать объектом атаки. Некоторые из типичных внешних интерфейсов перечислены ниже. Это ни в коем случае не законченный список внешних интерфейсов. Правильнее рассматривать это как начальную точку рассмотрения интерфейсов. Итак, известны следующие интерфейсы:
• по спецификации PCMCIA;
• инфракрасные;
• Ethernet/RJ45;
• USB;
• радио/антенны;
• последовательный/RS-232 порт (DB9);
• параллельный порт (DB25);
• iButton/однопроводной интерфейс.
Часто устройства снабжены интерфейсом расширения или программирования своих функций. Подобные интерфейсы не предназначены для повседневного использования пользователем, но для потенциального злоумышленника могут оказаться очень полезными. Обратите внимание на любые типы соединений, необычные отверстия, заслонки или конструктивные особенности блоков, которые могут подсказать расположение входов / выходов устройства или эксплуатационной панели, предназначенных для совершенствования или отладки устройства. Эти подсказки помогут выявить местоположение возможных малозаметных точек подключения к устройству для отладки или интерфейсов программирования. На рисунках 14.3 и 14.4 в качестве примера приведены два устройства: ключевой брелок, выполняющий функции аппаратного устройства идентификации, и «карманный» компьютер PDA. Корпуса этих устройств снабжены программным или тестирующим интерфейсом, который доступен всем пользователям. Показанные на рис. 14.3 точки тестирования имеют вид пяти точек медного цвета, которые становятся доступными после простого удаления небольшой пластмассовой замазки с задней части корпуса. После исследования или использования точек тестирования замазка может быть заменена на новую, уничтожая все улики вмешательства. На рисунке 14.4 показаны семь отверстий в пластмассовом корпусе устройства (они расположены в нижней части правой фотографии), которые позволяют воспользоваться точками тестирования при закрытом корпусе.
Рис. 14.3. Внешний интерфейс в задней части корпуса ключевого брелока RSA SecurID Hardware Authenticator Key
Рис. 14.4. Внешний интерфейс исследования «карманного» компьютера PDA BlackBerry 957 Device
Устройство может быть легко взломано или модифицировано, если через подобные интерфейсы передается важная информация или если интерфейсы используются для управления устройством или его программирования, но при этом полностью игнорируются требования безопасности и аутентификации или же на них обращается минимум внимания. Например, операционная система Palm для передачи системного пароля через последовательный порт во время операции HotSync использует не самые лучшие средства (для более подробных сведений см. пункт «Криптоанализ и методы запутывания»).
Анализ протокола
Передача данных может происходить как между элементами печатной платы, так и через внешний интерфейс с внешним миром. Понимание используемых при передаче данных методов является наиболее трудной частью хакинга аппаратных средств. В случае успеха это позволит отыскать важную информацию, управлять устройством или перепрограммировать его.
Контролировать неизвестные протоколы можно с помощью цифрового осциллографа или анализатора логических состояний (более подробные сведения можно узнать из пункта «Необходимый набор инструментов»). С их помощью передаваемые данные можно сначала перехватить, а затем сохранить для последующего анализа. Для анализа известных протоколов используются специализированные анализаторы протоколов. Атака на известный протокол может быть основана на генерации анализатором протокола деформированных или преднамеренно плохих пакетов с последующим наблюдением за результатами. Если управляющее устройством программное обеспечение правильно не обрабатывает ошибки или неверные пакеты (другими словами, не соответствует спецификации протокола), то ошибка может вызвать непредусмотренную операцию, полезную для злоумышленника. Для различных механизмов передачи данных разработано большое количество протоколов и спецификаций.
Читать дальше
Конец ознакомительного отрывка
Купить книгу