Обратное проектирование встроенных устройств

  • Вид работы:
    Отчет по практике
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    4,86 Мб
  • Опубликовано:
    2015-09-28
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Обратное проектирование встроенных устройств

О компании


ЗАО "НПО "Эшелон" специализируется на комплексном обеспечении информационной безопасности.

Основными направлениями деятельности являются:

·              проектирование, внедрение и сопровождение комплексных систем обеспечения информационной безопасности

·              сертификация средств защиты информации и систем в защищенном исполнении

·              аттестация объектов информатизации, в том числе защищенных помещений, автоматизированных рабочих мест, локальных вычислительных сетей

·              лицензирование деятельности в области создания средств защиты информации

·              проведение анализа защищенности компьютерных систем

·              аудит информационной безопасности организаций

·              проектирование и аудит систем управления (менеджмента) информационной безопасностью

·              разработка стратегий, политик, стандартов и процедур по обеспечению информационной безопасности, профилей защиты, заданий по безопасности

·              обучение сотрудников компаний по вопросам обеспечения информационной безопасности

·              поставка оборудования и средств защиты информации

·              разработка средств защиты информации, средств анализа эффективности защиты информации и устройств (схемотехнических решений) в защищенном исполнении

·              обеспечение технической поддержки и сопровождение поставляемых решений, систем и продуктов

·              испытания, экспертизы, исследования в области безопасности информации и др.

Более детальную информацию о предлагаемых услугах и продуктах Вы можете найти в разделах Услуги, Решения, Продукты.

 

Задание


Изучение различных устройств и протоколов, помогающих при обратном проектировании.

Эта статья предназначена для коллег, которые заинтересованы в изучении обратного проектирования встроенных устройств, начиная от введения в оборудование, которое используется для обратного проектирования. Протоколы связи и интерфейсы часто используются во встроенных устройствах, так же как и другие важные вещи. Обратное проектирование встроенных устройств, само по себе нацелено на выяснение того как они работают, находя возможности для активации или добавления свойств, на этом устройстве.

Средства обмена


Далее представлены некоторые средства, которые могут помочь в обратном проектировании.

Мультиметр


Это устройство используется для измерения различных типов токов, включая большие токи и напряжения (AC/DC). Так же существует свойство для проверки транзистора. Если вы хотите купить мультиметр, купите цифровой автоматический прибор, и тогда у вас не будет ограничений на то что вы хотите измерить. Профессиональные устройства с брендовыми именами, такими как Fluke, Gossen, Aglient, и UNI-T относительно дорогие. Нет нужды в профессиональном мультиметре, если вы любитель, а не занимаетесь этим профессионально. UNI-T и Extech делают хорошие мультиметры среднего звена.

Рис. 1. - Мультиметр.

Паяльник

 

Паяльник используется для соединения компонентов, используя свинцовый припой. В процессе обратного проектирования иногда требуется припаять перемычки или переместить компоненты из платы. Есть различные типы пайки, но лучше использовать паяльник с регулятором температуры, для лучшего управления процессом. Также если вы используете безсвинцовую пайку, вам нужен паяльник с более высокой температурой, чем если бы при использовании обычного оловянного припоя. Однако, если можете себе позволить, лучше использовать паяльную установку, которая оборудована воздуходувкой, для легкой работы с компонентами. Технология монтажа поверхности (SMT/SMD) - это метод монтажа электронных компонентов при легком помещеннии на плату, без проделывания отверстий в плате.

Рис. 2. - Паяльник

Свинцовый припой


Есть два типа припоев, которые часто используются: оловянный без-свинцовый припой и свинцово-оловянный. Диаметр припоя варьируется с его размером. Обычно, оловянный припой имеет размер 0.8 мм. Для повседневных нужд, вы можете использовать свинцово-оловянный припой с соотношением материалов 60/40 с ядром канифоли. В центре находится канифолевый флюс, который даст лучшие результаты при пайке. Вы можете также купить флюс отдельно. Это полезно в процессе пайки и теперь доступно в форме, которая легко растворяется в воде, что помогает в очистке остатков.

 

Фитиль припоя


Фитиль припоя используется чтобы очистить остатки припоя или для легкого перемещения электронных компонентов с платы. Дополнительно к использованию фитиля припоя, вы также можете использовать вакуумный отсос, особенно если вы работаете со всеми компонентами.

Bus pirate


Это устройство, используемое для наблюдения и взаимодействия, используя различные протоколы связи, обычно используемых электронными устройствами, такими как UART, SPI и I2C. Вы можете прочитать полную документацию по устройству на сайте dangerous prototype.

Рис. 3. - Bus pirate V3.6

Осциллоскоп


Осциллоскоп - это устройство, которое может быть использовано для наблюдения изменений в сигналах в определенный период. Сигнал на осциллоскопе отображает отношение вольтажа ко времени. Существует несколько типов осциллоскопов. Первоначально, вы можете использовать USB осциллоскоп, соединенный с вашим компьютером и использующий приложения на компьютере для отоброжения сигналов. Также есть осциллоскоп с интегрированным монитором.

Рис. 4. - Осциллоскоп

Логический анализатор


Логический анализатор используется для анализа логических сигналов в цифровых системах. Сигнал для анализа, сперва записывается, а потом может быть декодирован, исходя из протокола, используемого в образце. Образцы хранятся логическим анализатором последовательно (несжато) и находятся в их оригинальном состоянии, или же как сжатые образцы. Для проведения отбора проб, используйте триггер логического анализатора, который определит, когда начать собирать сигналы, которые будут использоваться для анализа. Есть две части триггера логического анализатора, временной режим, и режим положения. Обычно используется временной режим. Обычный логический анализатор включает Saleae Logic, Open Bench Logic Sniffer, Asix Sigma2, USBee-SX и так далее. Для части клиентского программного обеспечения, существуют альтернативыне обусловленным открытым исходным кодом, таким как MHK и Sigrok.

Рис 5. - Логический анализатор Saleae

JTAG адаптер


Вы можете использовать Bus Pirate как JTAG адаптер, оснащенный OpenOCD. Если у вас нет Bus Pirate, вы можете использовать другие JTAG адаптеры для коммуникации/дебаггинга с протоколом JTAG. Есть много типов адаптеров JTAG, которые вы можете использовать, такие как GoodFET, JTAGulator. Die Datenkrake, Flyswatter2 и Bus Blaster. Для большего понимания JTAG, вы можете прочитать форму IEEE 1149.1

Програмное обеспечение Binwalk


Binwalk - это общедоступное приложение, которое используется для анализа и получения прошивки, установленной на встроенных устройствах. Анализ прошивки проводится для выяснения функций, которые часто отсутствуют в документации, включая возможности бэкдоров приложениями, которые вставляются создателями встроенных устройств.

обратный проектирование протокол

Програмное обеспечение Flashroom


Flashroom - это общедоступное приложение, которое используется для чтения, записи и верификации данных, хранящихся на флэш-чипе (EEPROM). Флэш-чипы обычно хранят прошивку, например BIOS чип на компьютере. Flashroom сам по себе очень гибкий и поддерживает большое количество типов флэш-чипов и различных аппаратных программ и может быть использован на различных операционных системах.


Другое оборудование


Другое оборудование, которое вам следует иметь: набор отверток, кусачки, плоскогубцы, пинцет, увеличительное стекло, соединительные кабели, горячий клей, LCR метр, счетчик частоты и многие другие вспомогательные устройства. Более того, вам нужны базовые знания электроники, в особенности функции дискретных компонентов, таких как транзисторы, резисторы, конденсаторы и другие, а также знания архитектуры микроконтроллеров / микропроцессоров, которые обычно используются во встроенных устройствах.

Протоколы и интерфейсы


UART/USART

UART/USART (Универсальный асинхронный / синхронный ресивер-передатчик) так называется последовательный интерфейс связи, обычно используемый во встроенных устройствах. Общие протоколы, используемые в этом интерфейсе - RS-232 и RS-485. Есть два важных сигнальных пути, используемых для связи в данном интерфейсе, такие как:

·        Tx (передача). Как гласит название, контакт Tx (передача). Функция для передачи данных

·        Rx (получение). Контаут Rx (получение). Функция для получения данных

Скорость связи в UART подсчитывается, используя блок передачи, который есть число сигналов в секунду, но в соответствии с меняющимся временем, среднее устройство, использующее UART, уже имеет возможность для нахождения скорости передачи автоматически. Вещи к рассмотрению для протокола UART/USART: соединение между устройством рабом и хозяином. Контакт Tx на хозяине, соединен с Rx у раба, Tx у раба соединен с Rx у хозяина. Теперь последовательная связь во встроенном устройстве в основном используется между последовательным и USB адаптером, и микросхема используется как адаптер, сделанная в FTDI, к примеру FT232 серии.

SPI

SPI или последовательный периферийный интерфейс - это протокол связи, который широко используется электронными устройствами с UART. Протокол SPI может соединять различные периферийные устройства, которые становятся хозяевами, а какие-то рабами. Связь между хозяином и рабом использует линии SCLK, тоже само что MISO и MOSI. Этот протокол связи использует 4 части пути для сигнала.

Эти пути:

·        SCLK (Последовательные часы) это путь используется устройством хозяином для генерации часов, которые нужны для регуляции потока данных при связи между хозяином и рабом.

·        MISO - используется для передачи данных от раба к хозяину.

·        MOSI - путь, используемый для передачи данных от хозяина к рабу.

·        SS / CS функция для включения периферийных устройств рабов, которые хотят связаться с хозяином и выключить другие периферийные устройства, которые не используются. Однако, есть условия, когда это так не работает. Это вызвано тем, что выходные линии рабов (MISO) не поддерживает троичную логику.

I 2 C

I 2 C (интер-интегральная схема) - это протокол, который был открыт Philips Semiconductor (теперь NXP). Этот протокол часто называют TWI (Двух проводной интерфейс), так как первое имя I 2 C - это патент NXP. Преимущество этого протокола в том, что он требует только два пути сигналов для передачи данных, такие как:

·        SCL. Устройство, которое является хозяином генерирует часы для передачи через SCL, одновременно устройство раб получает часы от хозяина и после предоставляет ответ в форму, чтобы получить или отправить данные.

·        SDA - это путь, который используется для обмена данными между хозяином и рабом.

Как и с SPI, некоторые устройства могут быть соединены, используя протокол I 2 C и лимит - это максимальное количество адресов соединенных устройств, а общая емкость соединения между устройствами 400 пФ.

Обычные устройства, использующие I 2 C протокол - это EEPROM, сенсор IMU, RTC и другие.

JTAG

JTAG - это метод тестирования электронных компонентов, регулируемый стандартом IEEE 1149.1 и оригинально - рекомендация группой предприятий электронных компонентов в группе Joint Test Action. Преимущество JTAG в том, что его возможность предоставлять тестирование электронных компонентов без прямого физического воздействия с контактом, с которого требуется прочитать или изменить значение. Это очень важно, учитывая электронные компоненты меньшего размера с контактами, которых очень сложно достичь, такими как с BGA packaging / WLCSP.JTAG интерфейсами, известными как TAP (test access port), далее приведены сигнальные пути, используемые интерфейсами.

·        TMS - это путь, который регулирует TAP интерфейсы

·        TCK - это путь, который посылает часы для управления потоком данных в интерфейс TAP.

·        TDI - это путь, который используется для получения данных, тестируемых компонентов.

·        TRST - это контакт, который опционален, его функция в том чтобы сбрасывать интерфейс TAP. Это должно быть отмечено, так как это только в форме JTAG, и каждый компонент производитель должен реализоваться в соответствии с тем, что он хочет.

Протоколы и интерфейсы, описанные выше - это только часть протоколов, содержащихся во встроенных устройствах. Есть еще много других протоколов, которые вы можете выучить, такие как I 2 S, используемый для аудио сигналов, SWD, разработанный ARM, SBW, разработанный Texas Instruments, CSI, DSI, разработанные MIPI Alliance, CANBUS, который в основном используется в транспортных средствах, LVDS, обычно используемый в LCD дисплеях и множество других.

MAXIM MG3500A3-37B

1920x1080i HD H.264 Codec Сhip Soc для координации мультимедиа процессов, таких как изображения и звук. Этот чип основан на ARM9 и экипирован двумя программируемыми мультимедиа двигателями (MME), соответственно для обработки изображений и аудио.

Аналоговые устройства ADV7611


Этот чип служит входом с процессором HDMI и работает с частотой 165 MГц. Например, входы с камеры.

SMSC USB2513B

Этот чип функционирует как USB контроллер, который регулирует все аспекты, связанные с USB соединением на прямую с устройством вещателя.

Samsung K4T51163QJ-BCE6

Это чип DDR2 SDRAM, сделанный Samsung.

Micron MT29F2G08ABAEAWP-IT

Это 2 Гб NAND чип, который служит как медиа хранилище.

Как работает прямая трансляция


Рис 6. Сканирование Nmap

Когда передатчик прямого эфира активирован, он будет автоматически пытаться получить соединение с интернетом. Пользовательский передатчик имеет несколько вариантов связи, которые используют Ethernet, WiFi или USB модем. Пользователи также могут установить IP адрес устройства вручную, если они не хотят использовать DHCP. После соединения с сервером прямого эфира, устройство отобразит URL передатчика, который должен быть принят пользователем, введя PIN, отображенный на дисплее устройства передатчика.

Рис. 7. - SSH соединение

Последовательное соединение


Передатчик прямого эфира имеет контакт из 6 частей, расположенный между боком питания и портом HDMI. Однако, у этого контакта есть только минимальная информация, записанная на DBI, поэтому мы должны попытаться найти свою функцию каждого контакта. Если мы посмотрим, то 6-частичный контакт - это нечто похожее на последовательный контакт UART на UBNT маршрутизаторе. Для выяснения деталей, мы воспользуемся мультиметром для нахождения контактов, которые служат как Gnd, Tx и Rx. Фокус в том, чтобы выключить питание на передатчике, и первый на который мы обратим внимание - это контакт земли. Для обнаружения контакта земли, просто взгляните на открытую часть, которая имеет конденсатор на передатчике и приложите один контакт мультиметра. Далее другим контактом, найдите контакт, который имеет последовательное сопротивление равное 0.

Вы увидите, что почти все контакты, расположенные в корпусе, служат как Gnd. Далее найдите Tx/Rx, подсоедините один контакт мультиметра на контакт Gnd, найденный на прошлом шаге. Другой контакт используется для последовательной проверки оставшихся 5. Трогайте один за другим мультиметром. Tx обычно имеет вольтаж 1.8 В или 2.8 В, а Rx 1.7 В или 2.7 В. Эта информация получена из gsm форума в интернете. После проведения некоторых тестов, в конце концов Tx и Rx могут быть найдены с такой же конфигурацией как у последовательного контакта на ubnt маршрутизаторе. Далее представлена информация о последовательных контактах на передатчике прямого эфира.

Рис. 8 - Внутри передатчика

Последовательный журнал


После нахождения Tx и Rx на устройстве, вы можете соединиться с компьютером, используя последовательный адаптер. Для этой статьи мы использовали bus pirate v3.6, потому что расположение контактов в устройстве такого, что до них очень тяжело дотянуться, и мы использовали дополнительные кабели. Есть разница, когда последовательное соединение установлено с передатчиком, у которого установлены LCD панели, и когда они не использовались

Когда LCD панель установлена, входной сигнал, поступающий для остановки загрузки процесса, только перезагрузит передатчик. В то время как, если LCD панель не привязана, тогда процесс загрузки будет выполняться, используя подробную функцию, перед окончательным нахождением ошибки. Сообщение, которое появляется, когда выходит ошибка, несет много информации об устройстве. Далее приведен отрывок сообщения об ошибке, которое несет информацию о местонахождении программы счетчика.

Рис. 9. - Сообщение об ошибке

VidiU сертифицирован Ustream и новыми платформами вещания, но так же включает RTMP интерфейс, который позволяет трансляцию на любую платформу в сети.

Для детального рассмотрения, далее приведено сообщение, которое появляется, когда устройство прямого вещания загружает процесс без LCD панели.

Рис. 10. - Загрузка процесса

Рис. 11. - Загрузка процесса 2

Заключение


В ходе работы были изучены основные концепции обратного проектирования встроенных устройств.

Были рассмотрены инструменты для практического использования при обратном проектировании. Так же были рассмотрены основные протоколы, используемые при передачи данных.

Похожие работы на - Обратное проектирование встроенных устройств

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!