Внутренний анализ устройства: атаки на электрическую схему
Внутренний анализ устройства: атаки на электрическую схему
Многие из уязвимостей и изъянов в системе защиты, конструктивных недостатков устройства обнаруживаются на этапе анализа электрической схемы. К этому моменту корпус устройства уже вскрыт (будем надеяться) и исследователь получил полный доступ к схеме и другим внутренним компонентам устройства.
Реинжиниринг устройства
Электрическая схема устройства по существу является картой путей прохождения электрических сигналов и формирует основу для определения любых уязвимостей, имеющих отношение к электричеству. Для реинжиниринга сложных систем может потребоваться куда больше времени, чем для небольших портативных устройств, как, например, устройства идентификации. Для инженерного анализа устройств окажутся чрезвычайно полезными любые их схемы и технические руководства по ремонту, какие только удастся достать у производителя.
При инженерном анализе исследуемого устройства необходимо определить маркировку и выполняемые функции большинства, если не всех компонентов. Конкретное понимание деталей работы компонентов с определенными сигнальными шинами может оказаться полезным для активного исследования устройства во время его работы. Почти все производители интегральных схем помещают спецификации своих компонентов в Интернете, поэтому даже простой поиск позволит найти приличное количество необходимой информации. На сайте «Интерактивный мастер интегральных схем» (IC MASTER Online), www.icmaster.com, находятся маркировки компонентов, данные по выводам и конструкции корпусов, логотипы, инструкции по применению, вторичные поставщики, перекрестные ссылки по списку из более чем 135 000 базовых компонент свыше 345 производителей. Эскиз схемы может быть сделан вручную, но системы ввода описаний схем, как, например, OrCAD Capture компании Cadence Design Systems (www.orcad.com/Product/Schematic/Capture/default.asp), позволяют заметно упростить задачу. Физическое обследование монтажной платы может выявить малоизвестные порты отладки, кнопки сброса или установленные на плату групповые пробники для подключения анализатора логических состояний, каждый из которых может оказаться полезным для активного сбора данных.
На рисунке 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 подобные функциональные возможности не реализованы. Для противодействия этим способам защиты часто используются современные методы, например анализ кремниевых чипов.
В докладе Гутмана (Gutmann) «Данные об остаточной намагниченности в полупроводниковых приборах» (Труды десятого симпозиума USENIX по вопросам безопасности (Proceedings of the Tenth USENIX Security Symposium), 2001, www.usenix.org/publications/library/proceedings/sec01/gutmann.html) показано, насколько трудно обеспечить безопасность даже при полном удалении данных из оперативной и энергонезависимой (долговременной) памяти. Это означает возможность сохранения и восстановления остатков временных данных, криптографических ключей и других секретных данных в памяти устройства в течение длительного времени после отключения электропитания или перезаписи содержимого памяти. Извлечение данных по описанному способу предполагает наличие современного оборудования, обычно доступного в академических кругах.
Атаки на таймерАтаки на таймер преследуют цель изменить или измерить характеристики таймера схемы и обычно разделяются на две категории: активные и пассивные атаки на таймер. Активные атаки на таймер – агрессивные нападения, для успешного осуществления которых необходим физический доступ к кварцевому генератору синхронизирующих (тактовых) импульсов или другой схеме синхронизации. Главная цель состоит в изменении частоты синхронизации, вызвав тем самым отказ или выполнение непреднамеренной операции. Схемы, использующие для точной синхронизации генераторы тактовых импульсов, могут быть атакованы для «ускорения» или «замедления» скорости их работы. Подобные схемы используются, например, в устройствах идентификации, основанных на измерении временных интервалов. Замедление устройства может оказаться полезным для его отладки и анализа, что не всегда возможно при высоких скоростях его работы.
Пассивные атаки на таймер – неагрессивное измерение времени вычисления для определения данных или устройств криптографических операций. Вооружившись гипотезой о необходимости различного времени для различных вычислений, возможно в результате пассивной атаки определить секретные компоненты схемы или взломать криптографические устройства. Подобные нападения обсуждены в статье Пауля Кочера (Paul Kocher) «Атаки на таймер при нападении на реализации алгоритмов Диффи-Хелмана, RSA, систем поддержки принятия решений DSS и других систем» ( Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems), www.cryptography.com/timingattack/ timing.pdf.Данный текст является ознакомительным фрагментом.