Коллектив авторов - Защита от хакеров корпоративных сетей
На рисунке 14.6 приведена монтажная плата устройства аутентификации eToken R1 USB компании Aladdin Knowledge Systems. Сравнительно легко на монтажной плате можно выделить главные компоненты: слева – микропроцессор серии CY7C63001A, а правее – устройство внешней памяти. На показанной внизу задней стороне платы видны вспомогательные схемы, выполненные по интегрирующей технологии (совокупности средств, обеспечивающих связывание стандартных компонентов в единую компонентную архитектуру), включая конденсаторы, кварцевые синхронизаторы и микропроцессор сброса интегральной схемы. У правого края платы находится светодиод зеленого цвета, а слева – явный разъем USB. На инженерный анализ устройства и восстановление его схемы, показанной на рис. 14.7, потребовалось около часа. Рассматривая в качестве примера это специфическое устройство, следует отметить, что первой целью атаки станет попытка прочитать при помощи программирующего устройства данные, хранимые в устройстве внешней памяти. Это позволит злоумышленнику собрать достаточно информации об особенностях системы защиты устройства и получении доступа к важным данным устройства в обход его системы защиты. Подробные детали этой атаки можно найти в статье Кингпина (Kingpin) «Атаки на USB-устройства идентификации и противодействие им» (Труды отмпозиума Скандинавских стран по вопросам безопасности систем информационных технологий (Proceeding of the Fifth Nordic Workshop on Secure IT Systems), www.atstake.com/research/reports/usb_hardware_token.pdf).
Рис. 14.6. Пример монтажной платы устройства аутентификации eToken R1 компании Aladdin Knowledge Systems
Рис. 14.7. Восстановленная схема устройства, показанного на рис. 14.6
Основные способы: общие атаки
После получения схемы устройства, которая отражает все лучшее, что известно об устройстве, можно приступать к выдвижению гипотез по определению возможного направления атаки. Нельзя ли добраться до каких-либо участков схемы без вскрытия устройства? Подобные сведения особенно полезны, если некоторые части устройства охраняются защитными механизмами и может случиться, что быстротечные атаки окажутся предпочтительнее полного вскрытия устройства. Чаще всего целью атак является извлечение данных из микропроцессоров или компонентов внешней памяти (см. пункт «Поиск компонент памяти»), в которых может храниться важная информация. Злоумышленник может ее прочитать или изменить в своих целях. К важной информации можно также подобраться, анализируя линии внутренних адресов и шины данных. Часто это можно сделать с помощью анализатора логических состояний или цифрового осциллографа. Злоумышленник, изменяя подаваемое к схеме напряжение или температурный режим ее работы при помощи направленного воздействия тепла или холода на отдельные компоненты или меняя в значительных пределах рабочую температуру обтекающего потока воздуха, может заставить устройство работать в нестандартных эксплуатационных режимах и извлечь пользу из благоприятных для него побочных эффектов.
Андерсон (Anderson) и Кун (Kuhn) в статье «Недорогие атаки на механизмы противодействия вскрытия» (Low Cost Attacks on Tamper Resistant Devices) (Протоколы безопасности, 5-ый Международный симпозиум (Security Protocols, 5th International Workshop), 1997, www.cl.cam.ac.uk/~mgk25/tamper2.pdf) описывают ряд способов, позволяющих злоумышленнику при небольших затратах взламывать смарт-карты и «безопасные» микроконтроллеры.
Типы корпусов устройстваНесколько замечаний о различных типах корпусов компонентов интегральной схемы и о способах их защиты, например при помощи металлического экрана или герметизации, будут весьма полезны. Некоторые корпуса сконструированы таким образом, что злоумышленник может легко добраться до выводов схемы и исследовать устройство. К подобным корпусам относятся прежде всего корпуса типа DIP (корпуса с двухрядным расположением выводов), интегральные схемы в малогабаритном корпусе типа SO (SOIC) или безвыводные пластиковые кристаллодержатели PLCC. Если выводы схемы расположены более плотно, как, например, в тонком корпусе с уменьшенным расстоянием между выводами (корпус типа TSSOP), то значительно труднее исследовать отдельные выводы без использования высококачественных пробников или адаптеров в виде пружинных зажимов для временных соединений, например компании Emulation Technology (www.emulation.com).
Корпус BGA (конструкция корпуса микросхемы с выводами в виде миниатюрных металлических шариков, расположенных в форме сетки снизу на его задней поверхности. Выводы прижимаются к контактным площадкам на печатной плате без применения пайки. Преимущество – более низкая стоимость изготовления и уменьшение размеров корпуса) обладает всеми преимуществами устройства с расположенными снизу выводами, сильно затрудняя доступ к внутренним выводам. При необходимости исследования потребовалось бы удалить чип и воспользоваться платой расширения или переходником. Устройства с корпусом BGA становятся все более популярными из-за их небольшой площади основания и низкого процента отказа в работе. Выполняемое в процессе производства тестирование этих устройств часто обходится дороже тестирования других конструкций корпусов из-за того, что при тестировании часто применяется рентгеновское излучение для контроля правильности соединения шариковых выводов.
В корпусе типа «кристалл на плате» COB (Chip-on-Board) кремниевый чип интегральной схемы установлен непосредственно на печатную плату PCB и герметично защищен эпоксидной смолой (рис. 14.8). В пункте «Современные способы атак…» приведены дополнительные сведения относительно получения доступа к устройствам типа COB и их анализу.
Рис. 14.8. Корпус типа «кристалл на плате» COBПоиск компонент памяти
Компоненты внешней памяти используются для хранения информации о конфигурации секретных данных (паролей, личных идентификационных кодов PIN, криптографических ключей) или временных переменных во многих устройствах, даже в устройствах, разработанных в интересах обеспечения безопасности. Эти данные легко обнаружить программным способом, с помощью программатора устройства. Например, программатор MAC Address Cloning фирмы Кингпин (Kingpin) (www.atstake.com/research/reports/mac_address_cloning.pdf) позволяет проводить детальную модификацию сетевых интерфейсных плат NIC, заменяя записанные в незащищенном серийном устройстве электронно-перепрограммируемой постоянной памяти EEPROM физические шестибайтовые MAC-адреса (MAC-адрес – уникальное 48-разрядное число, присваиваемое сетевому адаптеру производителем. MAC-адрес является физическим адресом, который используется для отображения в сетях TCP/IP). Серийные устройства EEPROM довольно часто применяются в машиностроении. Для осуществления чтения-записи данных устройства достаточно очень простой схемы. Конструкция серийных устройств памяти EEPROM позволяет подключить к нему программатор, одновременно подключая его к схеме устройства, и по своему желанию читать или записывать данные в устройство. Это позволяет успешно контролировать использование устройством памяти и определять хранимые в ней данные. Например, неоднократно изменяя записанный в устройство идентификации пароль пользователя и читая из постоянной памяти EEPROM данные после каждого изменения, можно определить, сохраняется ли пароль в памяти устройства, по какому адресу и какие используются (если используются) при этом методы запутывания или кодирования пароля перед его записью в память.
Чтение данных из оперативной запоминающей памяти (памяти произвольного доступа) RAM или из других энергозависимых запоминающих устройств во время работы устройства поможет найти полезные временно сохраненные данные или данные, сохраненные в открытом виде. Конечно, сделать это гораздо труднее, поскольку изменения адресной шины или шины данных во время работы устройства могут вызвать ошибки и отказ устройства.
Большинство схем памяти, включая оперативную память RAM, постоянную память ROM и флэш-память, печально известны своей небезопасностью. В некоторых устройствах памяти реализованы конструктивные особенности для предотвращения чтения сохраненных в них данных обычными программаторами, например плавкие предохранители постоянно запоминающих устройств или защита блока начальной загрузки во флэш-памяти. Электронно-перепрограммируемая постоянная память Dallas Semiconductor DS2432 (http://pdfserv.maxim-ic.com/arpdf/DS2432.pdf) является примером безопасного устройства памяти, в котором использован алгоритм стойкого кэширования SHA-1 (Secure Hash Algorithm) и возможность записи пользователем секретного кода защиты сохраненных данных в память, доступную только для записи. Но в большинстве других устройств EEPROM подобные функциональные возможности не реализованы. Для противодействия этим способам защиты часто используются современные методы, например анализ кремниевых чипов.