Конференция DefCon 27: за кулисами создания электронных бэйджей. Часть 2
Трудность заключается в том, что светодиоды разного цвета требуют разное напряжение. Красные и зеленые потребляют меньше энергии, а белый, синий или фиолетовый больше, и батарейка быстро садится, особенно при использовании нескольких LED. Поэтому буквально в последнюю минуту мы добавили в бэйдж девятиканальный драйвер TI LP5569, который программно управляет свечением диодов в мобильных устройствах, обеспечивая экономный расход электроэнергии. Таким образом мы получили систему с очень низким энергопотреблением.
На этом слайде показаны ранние концепты светового решения нашего бэйджа. Я поехал в Сиэтл, чтобы встретиться там с ребятами из DTI и обсудить, что мы можем сделать.
Когда я увидел присланную Джефом фотографию, на которой была женщина с ноутбуком в пастельных тонах, то решил, что должен сделать что-то подобное. Обычно мы носим все черное, так что я испытывал трудности с использованием других цветов. И тут мне пришла в голову идея использовать геммы – природные самоцветы, потому что это очень круто. Мы должны были узнать, как можно соединить жесткую электронную начинку с природным материалом, поэтому я решил пойти в ювелирный магазин, купить несколько гемм и попробовать. В моей лаборатории было все для электроники, но не было ничего для обработки самоцветов, и я ничего об этом не знал. На желтом стикере вы видите эскиз, который я нарисовал в то время – это схема крепления начинки к гемме. В общем, мы сидели в каком-то мексиканском кафе, и я говорил без остановки. Я думал, что светодиоды должны светить сквозь гемму, вроде как электронные часы светят через стакан.
Следующий слайд изображает этапы создания прототипа и разработки конструкции. В январе-феврале мы начали заказывать компоненты для бэйджей, еще до того, как смогли убедиться в работоспособности нашей схемы.
Это было очень рискованно, потому что мы потратили много денег DefCon, полагаясь всего лишь на слова людей, которые работали над этой электроникой и разрабатывали технологии, например, NXP. То есть, раз они сказали, что сделали микроконтроллер, который должен подсоединяться к радио, значит, так оно и есть.
У нас были оценочные платы для тестирования работы радиомодуля и LED-драйвера, и мы тестировали работу этих компонентов, просто подсоединяя платы к компьютеру. Это был огромный риск, и эта работа добавила мне множество седых волос. Слева показана плата, моделирующая значок, с которой мы начали разработку, на ней расположены 4 LED разного цвета. Вверху справа вы видите нечто вроде дорожной карты разработки электронной схемы устройства. Я рисовал, пробовал, ошибался, зачеркивал и рисовал снова.
Внизу справа показан окончательный дизайн печатной платы. Если вы заметили, на печатной плате расположены действительно крохотные детали. В моей расширенной презентации имеются слайды, показывающие подробный процесс создания устройства, это просто сумасшедшая конструкция с очень трудоемким процессом изготовления. На следующем слайде показана обратная сторона прототипа значков. Я отправил прототип изготовителю за день до отъезда на китайский DefCon, и когда мы вернулись через 2 недели, то получили фабричный экземпляр.
У меня было всего 7 дней, чтобы написать низкоуровневую прошивку для проверки работоспособности устройства, чтобы можно было заказать изготовление 28 тысяч значков. Прошу вас, никогда так не поступайте, потому что очень и очень трудно проделать подобную работу за одну неделю. Итак, мы прошли путь от 6 прототипов до 28 тысяч устройств, даже не имея возможности проверить работу финальной версии значка и те изменения, которые я внес в конструкцию в последний момент. Это отняло много нервов и денег, и хотя мы получили достаточно средств на изготовление бэйджей, я переживал, что мы угрохаем деньги DefCon в то, что не будет работать. Однако мы зашли уже настолько далеко, что не могли повернуть назад. В итоге я очень доволен, что мы смогли это сделать.
Вернемся к геммам. Мы попытались использовать хакерский дух и найти место, где можно раздобыть около 30 тысяч ювелирных камней. Рядом с моим домом в Портленде был ювелирный магазин в стиле New age. Я выбрал подходящие геммы и спросил продавца, где можно достать 30 тысяч таких камней, на что он ответил: «Это слишком много!», и посоветовал посетить специализированную выставку ювелирных изделий Tucson Gem Show, где можно было найти поставщиков такого количества гемм. Это типа DefCon для ювелиров. В поисках сокровищ мы отправились в Техас на выставку, где на протяжении 2-х недель проходили 48 демонстраций ювелирной продукции, в которых участвовало почти 50 тысяч человек.
Среди них были коллекционеры, розничные торговцы, оптовики, владельцы шахт и прочие представители ювелирного мира. И у нас было всего 36 часов, чтобы решить, что делать. Я позвонил оттуда Джеффу и сказал, что нахожусь на ювелирной выставке. Я забронировал отель, который был ужасен, так как напоминал отели самых первых DefCon, зато там проживало множество вендоров ювелирной отрасли. Я бросил все свои вещи в президентском люксе, у меня нет его фотографий, но мне сказали, что это именно президентский люкс, и пошел вниз чтобы зарегистрироваться и пойти на поиски оптовых продавцов гемм. И тут я увидел то, что изображено на этой картинке. Драгоценные камни были повсюду! Я решил поговорить с владельцем одной оптовой компании и рассказал ему, что делаю значки для хакерской конференции DefCon. Вы знаете, что обычно люди пугаются, услышав про хакеров, может, мы собираемся сделать какие-то лазеры из этих драгоценных камней и тому подобное. Я сказал, что мне нужно 30 тысяч гемм, и он ответил, что они не смогут мне в этом помочь. Я подумал: «Боже, что же мне делать?». Он посоветовал обратиться к такому-то парню, я отправился его искать, в этом отеле его не было, но я нашел другого человека, сказал ему, кто меня послал, в общем, все эти люди знают друг друга. Однако они тоже не могли мне помочь, так что я был просто в отчаянии. В конце концов я нашел местную компанию под названием North Cross Madagascar, это огромное предприятие, занимающаяся резьбой по камню, вы наверняка знакомы с их ювелирными изделиями в виде гемм. Мне удалось встретится с президентом, владельцем этой компании, может, это была судьба, но у нас оказались почти одинаковые фамилии, только у него в конце была буква «Т», а не «Д», как у меня. Оказалось, что у него есть шахта на Мадагаскаре, в которой добывают агаты.
Поскольку я понятия не имел, какой материал мы можем использовать для бэйджей, этот человек на часок стал моим наставником в этом деле. Например, он сказал, что мы не сможем использовать клей для соединения геммы с печатной платой, и помог мне дельными советами по этому поводу.
Однако он выразил сомнение, что сможет осуществить поставку в нужные нам сроки, потому что на это понадобится 6 или 8 недель, и послал меня еще к одному парню на выставку для оптовиков, которая должна была закрыться через 15 минут. Типа я смогу попасть туда, потому что этот парень даст мне бизнес-сертификат, но для этого я должен с ним связаться по WhatsApp. Я не пользуюсь технологиями, я их создаю, поэтому на моем смартфоне не было этого приложения и мне пришлось срочно скачивать и устанавливать WhatsApp, пока я ждал заказанное такси.
В общем, я ворвался на выставку с рекомендациями некоего Роберта, встретился там с Мисс Радугой, за 15 минут до закрытия рассказал ей про DefCon, все объяснил и получил от неё образцы того, что нам требовалось. Вот такие у меня получились безумные гонки.
Даже если вы не страдаете любовью к красивым вещам, увиденное все равно поражает, как будто вы оказались в подземном царстве. Это было бы особенно красиво и безупречно, если бы существовало само по себе, без людей, или в окружении одних роботов. Кстати, внизу справа я поместил фото черепа динозавра, жившего 100 миллионов лет назад в то же время, когда образовались агаты, показанные на верхнем фото.
Итак, мы остановились на агатах, которые имеют очень много разновидностей, решив использовать пластины ручной резки из месторождения в Бразилии. На слайде вы видите, как выглядит один из цельных кристаллов агата.
Если вы обратили внимание, все геммы отличаются друг от друга, так что каждый бэйдж получился уникальным, как и каждый из вас!
Я ждал целых 6 месяцев, чтобы произнести эту фразу (аплодисменты зала). Это действительно так – мы все разные, как и эти геммы. Некоторые из них изначально имели трещины, и получившие такие значки уже успели их сломать – такова жизнь, это естественно! Но не переживайте, мы все починим, у нас есть запасные материалы.
История этих гемм начинается в шахте – на левой фотографии показана шахта, где они были добыты. Вы видите кристаллы, которые режутся на пластины, а справа показан один из таких кристаллов в натуральном размере. Этот агат очень тяжелый, как и все камни. На следующем слайде показан процесс резки кристаллов на пластины.
Кстати, у нас с изготовителями установились очень доверительные отношения, особенно с Робертом из North Cross, и будучи на первом китайском DefCon’е, я смог посетить завод. Все наши 30 тысяч гемм уже были разложены по огромным коробкам, так что я смог их сфотографировать. Они не очень любят разделывать камни с помощью станков, поэтому используют ручную распиловку. Сначала на одном станке камень распиливается на крупные куски, которые затем переносятся на другой станок, где режутся на пластины толщиной 5 мм. После этого, как показано на фото, рабочий карандашом наносит по трафарету контуры геммы и вырезает её вручную.
На этом видео показан процесс вырезания круглой геммы на станке, и вы видите, что этот парень работает без перчаток, так что было не по себе, когда я за ним наблюдал.
Таким образом вырезаются практически все камни для ювелирных изделий. Далее гемма подвергается грубой шлифовке песком и её края обтачиваются с помощью шлифовальной машинки.
На следующем слайде вы видите команду администраторов, которая управляла рабочим персоналом, упакованные ящики с геммами и образцы гемм разного цвета.
Я не представлял, как свет диодов будет проходить через геммы, какие будут вариации цветов, но был уверен, что у нас все получится как надо.
Я написал прошивку для системы, состоящей из Flash-девайса KL27 размером 56 килобайт и 5,3 Кб RAM, которая представляла собой около 3 тысяч строк кода, включая оптимизацию, потому что я переживал, что мне может не хватить памяти. Эти 3 тысячи строк служили операционной системой бэйджа, а для остальных функций использовались готовые библиотеки.
Если вы посмотрите на этот код, то просто вспомните, что я разработчик «железа», а не программист, поэтому способен написать только низкоуровневый код. На предыдущем DefCon я ещё извинялся за это, но больше уже не извиняюсь. Просто взгляните на него и если можете сделать что-то покруче, то можете изменять этот код как хотите. Среда разработки размещена на медиасервере DefCon, и если вы хотите взломать прошивку значка, то можете это проделать. Мы использовали MCUXPRESSO, которая является бесплатной стандартной средой разработки NXP, и набор средств разработки SDK для FRDM-KL27Z, представляющий собой набор низкоуровневых библиотек для различных интерфейсов.
Для радиомодуля и LED в значке использована среда разработки общего назначения, и как я уже сказал, благодаря этому вы можете использовать наши решения для своих хакерских штучек.
Здесь использованы два разных коннектора. Первый, более сложный SWD (ARM serial wire debug) предназначается для отладки и программирования и является разновидностью интерфейса JTAG. Нам также понадобился некий вид программера, хардверный интерфейс NXP LPC Link-2, который представляет собой датчик отладки и программирования, настраиваемый для поддержки различных средств разработки и IDE путем загрузки образов микропрограмм. Еще одним часто применяемым открытым ресурсом является крохотная плата Black Magic Probe, которая служит адаптером JTAG и SWD и предназначена для программирования и отладки микроконтроллеров ARM Cortex.
Мы также использовали соединительный кабель –шлейф компании Tag-Connect марки TC2050-IDC-NL-050 –All (Normal orientation). Эти интерфейсы использовались для загрузки прошивки и отладки системы бэйджа. С помощью интерфейса можно также извлечь код значка, но он есть и на нашем медиасервере. Вы можете загрузить свой собственный код и «вскрыть» чужой значок или сделать что-либо такого рода.
Для людей, которые интересуются взломом железа, но не слишком в этом сильны, отправной точкой может послужить UART — интерфейс. С его помощью можно получить root-доступ и взламывать некоторые вещи. Когда вы подключаете UART, то получаете интерактивное меню, основанное на использовании команд, что позволяет управлять различными аспектами работы бэйджа и видеть рабочее состояние. Когда ваш значок считывает информацию чужого бэйджа, он помещает в дамп пакет информации, так что это хороший способ узнать, что происходит.
Когда вы полностью завершите квест, режим активирует некоторые дополнительные команды, добавляющие замысловатость в сюжет нашей игры. Мы используем UART напряжением всего 1,8В, при том что большинство хакеров привыкли иметь дело с UART напряжением 3,3 или 5В, так что использование такой экономичной в энергопотреблении системы является хорошей практикой. Конечно, многим непривычно использовать устройство напряжением всего 1,8В, однако это прогресс в практике хакерства, ведь наша система показывает, что для выполнения одной и той же работы подходят разные инструменты. И Black Magic Probe, и JTAG будут без проблем работать при напряжении 1,8В в режиме passthrough. Точно так же будут работать и плата Bus Pirate, любой интерфейс FTDI или USB, вы просто должны подключиться к этим четырем пинам, показанным на схеме.
На этом слайде вы видите несколько фото, связанных с изготовлением печатных плат для бейджей, и небольшое видео процесса изготовления.
Здесь используется робот, который помещает на плату несколько компонентов, при этом на одной подложке располагаются 12 заготовок для изготовления печатных плат значков. Получается, что всего нужно было изготовить примерно 2000 таких подложек для размещения компонентов всех 28000 бэйджей. Качество компонентов каждой изготовленной платы проверяется оптическим сканером. Такой контроль качества известен под названием Gold Standard, при этом проверке подлежит каждая отдельная плата. Если качество печати неудовлетворительно, то дефект выделяется на экране монитора красным цветом. Внизу вы видите фрагмент видео, на котором запечатлен выход подложки с готовыми проверенными печатными платами для 12 бэйджей. Это напоминает машину для изготовления пиццы, «выпекающую» печатные платы.
Интересно, что платы изготовлялись на небольшой местной фабрике, а не на крупном производстве электроники. Они также проходили проверку на рентгеновском аппарате, и вы видите логотип DefCon, напечатанный на каждой плате.
На этой фабрике были заняты 20 временных рабочих, таких, как студенты ВУЗов, интересующиеся инженерными науками.
На этом слайде вы видите заключительную стадию сборки значка – прикрепление геммы к электронной начинке, для чего используется двусторонний скотч. Далее показано распределение количества значков по цветовой дифференциации: 26500 штук белого цвета для рядовых участников DefCon, 550 штук красных значков для ведущих, 375 синих значков для выступающих, 250 фиолетовых для вендоров, 250 зеленых для прессы и т.д. На фото показан вид значков с окрашенными печатными платами до того, как к ним прикрепляли геммы.
Итак, сообщаю важную информацию для тех, кто участвует в квесте бэйджей: это перечень задач, которые вы должны решить на протяжении конференции DefCon.
Первая задача – вы просто должны с кем-нибудь связаться. Я не упоминал об этом, но на слайдах была информация, как выглядят светодиоды значка, пребывающего в состоянии коммуникации. Затем на протяжении DefCon ваш значок должен пройти ещё через 5 состояний. Вы посещаете шоу, выступления, участвуете в конкурсах или смотрите конкурсы, посещаете деревню хакеров и вечеринки, и на всех этих мероприятиях присутствуют ведущие, у которых имеются магические токены в виде гемм разной расцветки из разного материала.
В каждом таком токене закодирован флаг, и когда ваш значок начинает с ним «общаться», то меняет свое состояние. Вы даже не можете представить, сколько людей работает за кулисами DefCon и обеспечивает работу конференции. Одних только ведущих свыше 5 сотен. Ваш значок позволяет установить связь с каждым, кто присутствует на DefCon, и это действительно круто. Батарейки достаточно для работы бэйджа в течение 4-х дней в зависимости от режима, в котором он пребывает.
Переход радиомодуля в спящий режим экономит батарейку. Больше всего энергии потребляют светодиоды, так что если значок находится в режиме поиска Attract mode, батарея разрядится быстрее, но мы надеемся, что её в любом случае хватит на все время проведения конференции, то есть на 96 часов. У нас есть запасные батарейки, так что если они вам понадобятся – обращайтесь.
Еще один интересный момент. Поскольку при проведении DefCon в Китае нам понравилось работать со всякими интерактивными штуками, мы решили добавить интерактивный компонент в работу этого DefCon. Мы подумали, что раз уж мы общаемся друг с другом с помощью бэйджей, давайте реализуем какой-то сумасшедший совместный проект.
Мы обратились к команде дизайнеров мультимедиа Zebbler Studios, которая специализируется на крутом видео-маппинге для различных шоу, в том числе и для нашей конференции. Эти парни просто убили нас, потому что буквально за неделю до начала DefCon мы сказали как бы между прочим: «Кстати, нам не помешал бы какой-нибудь крутой артворк...», и они успели создать такую штуку, которая визуализировала процесс переноса и обработки данных значка с помощью Raspberry Pi. Сейчас эта интерактивная штука установлена в Chill-out lounge, вы можете пойти туда, отсканировать свой значок и увидеть прогресс обработки и тип значка. Возможно, в процессе визуализации вам удастся увидеть какие-то необычные вещи, например, поймать баги в нашем коде, кто знает?
Можете попытаться взломать это устройство, заменив прошивку, взломайте ридер, сведите ребят из Zebbler с ума! Пробуйте, ведь это DefCon!
Конечно, в процессе реализации нашей идеи возникало множество проблем, без которых не бывает никакого крупного проекта. Среди них: жесткие временные рамки, необходимость изготовления уникальных печатных плат, использование редких технологий и нестандартных материалов и разбивка проекта на множество отдельных частей, причем каждая из этих проблем имела решающее значение и затронула, если можно так сказать, каждый аспект моей души. Однако их решение развило мои профессиональные навыки и сделало меня более уверенным инженером-хардверщиком, потому что если вы найдете первопричину проблемы, то сможете её исправить, даже если это займет много времени.
Принципы работы этих бэйджей можно использовать при развитии других технологий, например, передачи данных, секретного обмена сообщениями, не требующего RF-сигнатур, в робототехнике и т.д.
Я хочу поблагодарить всех, кто помогал нам в реализации этого проекта, которая потребовала действительно глобальных коллективных усилий. Мы работали над этими значками, как говорится, всем миром.
На последнем слайде приведен список ресурсов. Если ваш бэйдж сломался, обращайтесь в деревню хакеров Hardware Hacking Village, там есть куча запчастей и находится «живой» инженер компании NXP по имени Энтони, техническая документация, коды и все такое. Я тоже буду рядом, но помните, что в нашем квесте нет никаких скрытых головоломок, так что просто наслаждайтесь процессом!
Благодарю всех за внимание и надеюсь встретится с вами в следующем году.
Немного рекламы :)
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Автор: ua-hosting.company