Ведущий: приветствую всех на 27-конференции DefCon! Поскольку многие из вас здесь впервые, расскажу вам о некоторых основополагающих моментах нашего сообщества. Один из них состоит в том, что мы во всем сомневаемся, и если вы услышали или увидели что-то непонятное, просто задайте вопрос. Весь смысл DefCon в том, чтобы научиться чему-либо – выпивать, встречаться с друзьями, заниматься ерундой.
Это своего рода опыт, который я не мог оценить полной мерой, пока два или три года назад не поговорил с другом. Он сказал, что на этот раз вместо того, чтобы послать свою команду на конференцию BlackHat, он решил отправить их на DefCon. Я спросил его, в чем же разница? Друг ответил, что у него действительно хорошая, разумная и опытная команда, и он отправляет их на BlackHat для того, чтобы сделать их чуть-чуть умнее, как поступают с острым ножом, обновляя заточку. Но когда он посылает их участвовать в конференциях DefCon, то хочет, чтобы они научились лучше мыслить. Я сказал: «Боже, мне стоит об этом задуматься»! Это действительно то место, куда люди приходят, чтобы учиться.
Вы знаете, что бытует неофициальное мнение — если ты занимается информационной безопасностью, держись подальше от хакерства. Инфобезопасность – прекрасное место для работы, для зарабатывания денег, но получение денег и умение их зарабатывать отличаются от радости исследователя, удовольствия от неожиданных открытий, решения проблем и испытания неудач. Неудач, которых не стоит бояться, потому что здесь вы пребываете в окружении друзей. Думаю, в этом и состоит разница – ведь если вы просто работаете в информационной безопасности, то должны бояться провалов.
Джо Гранд: действительно, работа в Infosec не делает вас хакером, а если вы хакер, то это не значит, что вы занимаетесь информационной безопасностью! Мир хакерства больше, чем просто информационная безопасность.
Ведущий: да, и мы стараемся это принять. Если помните, год назад в качестве эксперимента мы провели DefCon в Китае. Это был первый случай проведения конференции за пределами США. В тот год это стало одним из крупнейших событий ИТ безопасности для китайского хакинга. Там произошла интересная история. Когда я спросил, сколько денег мы должны затребовать за проведение конференции, нам ответили: «никто никогда не берет никакой платы за проведение конференций, это маркетинговые расходы, так что все проходит бесплатно». Когда я спросил, стоит ли проводить конференцию в выходные дни, чтобы привлечь больше студентов или лучше в будни, чтобы привлечь представителей компаний, нам ответили, что прежде никто не проводил конференций по выходным. Я сказал, что мы хотим привезти с собой футболки DefCon, и спросил, почем их обычно продают, мне ответили: «никто раньше не продавал футболки на конференциях».
Потом у нас был второй DefCon в Китае, и я обратился к Kingpin и попросил его сделать что-то крутое, какие-то особенные значки Defcon.
Джо Гранд: да, ты был очень убедителен, и это должно было быть действительно что-то очень крутое, соответствующее сути DefCon.
Ведущий: у нас была идея сделать не простой бэйдж, а какой-то технологичный, электронный значок, и Джо воспринял эту идею с огромным энтузиазмом и решил сделать нечто совершенно необычное, чего еще никогда не было.
Джо Гранд: многие люди делают из бэйджей настоящие произведения искусства, так что я сомневался, что смогу сделать нечто подобное даже тем значкам сообщества, которые впервые появились 9 лет назад на DefCon 18. Сначала я очень волновался, но потом подумал, что просто буду создавать свой собственный стиль и не пытаться ни с кем конкурировать, как я всегда поступал, и людям это нравилось.
Ведущий: одной из причин создания этих хардверных бэйджей послужило то, что ни в сообществе BlackHat, ни у DefCon я не замечал таких хакерских навыков, которыми обладает Kingpin и еще несколько человек. Однако если мы хотим защитить себя от нехороших вещей типа роботов или тайной деятельности правительства, то должны обладать хакерскими навыками. Это была своего рода скрытая попытка привлечь внимание нашего сообщества к хакерскому hardware, и нам это удалось.
Джо Гранд: люди, получив такие значки, даже вроде бы зная, что с ними делать, все равно будут задавать вопросы, и это каким-то образом пробудит в них интерес к подобным вещам.
Ведущий: когда я попросил Джо сделать значки для Китая, мы хотели получить что-то совершенно новое.
Джо Гранд: у меня есть слайд, на котором показана история эволюции наших значков. Справа в нижнем ряду вы видите значок China 1.0 Badge для первой китайской конференции, представляющий собой гибкую печатную плату.
Этот бэйдж изображал наше сообщество в виде дерева, ветви которого символизируют разные задачи, по мере решения которых вспыхивают светодиоды. Здесь используется простая среда разработки Raspberry Pi, для которой вы легко написали бы код. Но это была вещь, которую создало наше сообщество, и для Китая она воплощала новую хакерскую культуру. Мы должны были объяснить им, для чего нужен электронный значок и что он делает, это было удивительно, и то, как китайцы восприняли эту вещь, вдохновило меня на разработку нового значка для второй конференции.
Ведущий: думаю, его было достаточно сложно изготовить.
Джо Гранд: да, всего 2 или 3 производителя согласились возиться с такой хрупкой деталью. Это гибкая крохотная плата, принтер ездит по ней туда-сюда и легко может её сломать, поэтому изготовление этих бэйджей обошлось достаточно дорого. Вы видите, что печатная плата покрашена в белый цвет, слой краски добавил ей немного толщины и придал значку немного прочности.
Конечно, это не было каким-то техническим прорывом, но мы с самого начала не хотели делать обычные бэйджи. С появлением каждого из них связана какая-то история, с которой можно ознакомиться в библиотеке медиаконтента сообщества. Мало-помалу мы старались внедрить новые технологии, новые компоненты и новые способы изготовления. На конференции DefCon 18, после которой я отошел от изготовления бэйджей, был представлен алюминиевый значок с лазерной гравировкой на лицевой стороне. Я помню наш разговор в комнате отеля, когда мы должны были отправить образец значка на одобрение совета сообщества. Я сказал, что это рискованная идея, а ты ответил: «Ну и что? Давай попробуем и посмотрим, что из этого получится».
Ведущий: случались и неудачи, когда, например, наши электронные значки повреждались при международной доставке. Но давай вернемся к бэйджам для Китая — они снабжены LED-светодиодами?
Джо Гранд: да, с обратной стороны печатной платы, и когда они загорались, то благодаря специальной подложке свет рассеивался сквозь плату, и это воспринималось не как свечение LED, а как какой-то орнамент на ветвях дерева.
Ведущий: главной особенностью значка для Китая стала возможность его физического подключения к станции визуализации и отображение ветвей-маршрутов в 3-D пространстве. Вы могли увидеть в символической форме, как сообщество решает проблемы, как процесс решения отображается в виде ветви дерева и как успех сопровождается вспышкой света.
Примечание переводчика: видео тестирования программируемого значка China 1.0 Badge можно посмотреть по ссылке www.youtube.com/watch?v=JigRbNXcMB8.
Можно считать, что наши бэйджи являются инструментом социальной инженерии. Мы используем значок для того, чтобы создать вам возможность встречаться с другими людьми, взаимодействовать друг с другом. Он погружает вас в своего рода ролевую игру, и мы потратили довольно много времени, чтобы придумать, как воплотить эту идею в реальном устройстве.
Итак, вернемся к сегодняшней конференции, которая является одной из крупнейших за всю историю DefCon. Мы заняли аж 4 отеля, и вероятно, не сможем уделить одинаковое внимание всем участникам, но если у вас возникнут проблемы, обращайтесь, мы вам поможем их решить. Если у вашего значка возникнут неполадки, у нас здесь имеется мастерская с необходимым набором инструментов. А сейчас я предоставляю слово Kingpin’y, который расскажет вам о бэйджах этого года.
Джо Гранд: никогда не думал, что мне придется вернуться сюда, чтобы говорить о значках. Я перестал делать значки, потому что почувствовал, что вроде бы сыграл свою роль. Из года в год я будто бы соревновался с самим собой, делая одно и то же, просто используя новые приемы и технологии. Поэтому я решил уступить свое место кому-то другому, пусть DefCon растет без меня и новый человек получит возможность придумывать бэйджи для нашего сообщества. Но я всегда говорил, что если DT меня позовет, я вернусь и снова буду делать значки.
Здорово видеть, как изменился DefCon, приятно видеть множество новых, разных людей, способных охватить большой объем разных направлений работы сообщества. Собственно, я делал свои значки в ожидании дня, когда наконец смогу рассказать о них и раскрыть все свои секреты. Знаете, последние пол-года я думал только об этом, и моя жена, и мои дети уже больше не в состоянии говорить со мной на эту тему.
Основная цель создания этих бэйджей заключалась не в том, чтобы они понравились технарям и людям, понимающим толк в электронных девайсах. Я хотел, чтобы этот значок охватывал интересы как можно большего количества людей, и вам не нужно быть хардверным хакером, чтобы им пользоваться. Мне хотелось, чтобы он стал своеобразным гидом, который бы провел вас через DefCon. Поэтому главными целями при создании бэйджей были: придумать игру, которая бы охватывала весь опыт DefCon, использовать технологию, которая бы объединила все наше сообщество и сделать вещь, которая бы удовлетворила всех участников DefCon.
У этой игры, или квеста DefCon, довольно простые правила, приведенные на этом слайде, увидев которые все, кто вчера хакнул свой значок, начинают плакать.
Я не встраивал в значок никаких головоломок. Головоломка – это бэйдж-квест. Существует множество значков-головоломок, и я даже не пытался сделать нечто подобное. Я решил создать единую общую задачу, поиск решения которой объединил бы множество людей, а значок служил бы индикатором выполнения этого квеста.
После того, как вы включите свой значок, он начинает медленно мигать. Это то, что я называю режимом притяжения, состоянием готовности к решению задач. Существует множество разных состояний индикации значка, через которые нужно пройти, чтобы достичь конечной цели. Я знаю людей, которые уже попытались применить к значку реверс-инжиниринг, но это бесполезно, так как существует несколько квестовых заданий, которые вам нужно будет выполнить во время конференции, именно так бэйджи собираются привить вам некий опыт DefCon. Предназначение значка не в том, чтобы вы могли обойти эти задания, попытавшись взломать бэйдж, и автоматически достигли бы победы, а в том, чтобы привить вам опыт их совместного решения. В процессе прохождения этого квеста вы встречаете новых людей, узнаете новые вещи, и это весело.
На следующем слайде показано, как выглядит «начинка» значка. Слева вверху находится антенна, внизу – чип NFMI, обеспечивающий связь на основе магнитной индукции ближнего поля, в отличие от традиционного RF. Позже мы говорим об этом подробнее. Сегодня я заметил, что многие из присутствующих как бы «целуются» своими значками. Бэйджи действительно имеют сходство с магнитами, поскольку магнит обладает магнитным полем, и наш значок его генерирует. Но вам не нужно соединять их вместе, достаточно расстояния в один фут или чуть больше, чтобы бэйджи могли свободно обмениваться данными.
Однако бэйджи не оставляют RF-подписей, так что хакер, специализирующийся на взломе значков на основе SDR-радио, ничего не сможет с ними сделать, разве что вооружится каким-то магнитным сенсором и встанет между мной и Джеффом. Это очень короткий диапазон, позволяющий вам организовать «связь под прикрытием» за пределами DefCon, например, сидя в классе, обмениваться с другом шпаргалками. Эта штука помогает связать всех вас в единое целое, обмениваясь информацией, но при этом не давая возможность извлечь какие-либо данные, что очень расстроит многих хакеров.
В значке также имеется микроконтроллер, LED драйвер и пьезоэлектрический динамик. Я старался придерживаться простого дизайна аппаратного обеспечения, что оказалось совсем не легко, хотя внешне все выглядит довольно просто. Хочу обратить ваше внимание на возможности ношения этого бэйджа. Легко сказать: «давай попробуем и посмотрим, что из этого получится», но когда вы создаете что-то новое, то должны представлять, как оно будет работать и придумать вариант использования. Мы придумали новый метод крепления. Обычно вы просто берете значок и цепляете его прищепкой к шнурку, но крепления нашего значка позволяют перемещать его по ленте, чтобы прицепить к ней карабин, носить на ремешке на запястье, как часы, или даже на ленте для волос или налобной повязке. Кроме того, его можно использовать как ювелирное изделие — брошь или амулет, повесив на шею. В общем, мы решили придумать что-то новое и посмотреть, что люди станут с этим делать. Этот значок в одинаковой мере и ювелирное изделие, и бэйдж.
На следующем слайде показана блок-схема устройства. Я не хочу вдаваться в подробности, просто покажу вам основные рабочие элементы.
На печатной плате значка расположен процессор NXP ARM Cortex-M0. Это микроконтроллер общего назначения, но достаточно мощный и способный обеспечить выполнение необходимых нам функций.
Кстати, вы можете ознакомиться с ранними версиями этой схемы и деталями разработки значка на медиасервере DefCon или на моем сайте.
В значке имеется LED-драйвер и NFMI радио, который представляет собой NXP чип. Пару лет назад я вынужден был в последнюю минуту добавить в свой значок еще один держатель для батарейки, потому что неправильно понял инструкцию, год назад я использовал в значках батарейки типа CR123a, а в этом бэйдже для экономии места решил использовать миниатюрный держатель «таблетки» напряжением 3 В. На следующем слайде представлены детали аппаратного обеспечения системы.
Оно управляет LED-драйвером, радиосвязью, обрабатывает квесты и представляет собой элементы, которые присутствуют в каждом электронном устройстве. Здесь имеется NXP-чип на платформе KL27, процессор ARM-CORTEX MO+ и такая крутая штука, как NFMI. Это система магнитной индукции ближнего радиуса действия, которая применяется уже долгое время, но реально её можно встретить только в высокотехнологичных электронных продуктах. Наверное, существует миллион компаний, которые даже не знают про существование этой технологии. Если вы простой хакер или инженер небольшой компании, то вам придется поработать над её использованием. Мы пришли к идее использования этой технологии благодаря моей предыдущей работе с ребятами из Freescale, у меня остались контакты одного из этих парней, который все ещё работает на компанию NXP. Я позвонил ему и объяснил, что хочу сделать для DefCon необычный бэйдж. Он посоветовал обратиться к специалистам по NFMI, это небольшая группа внутри NXP, которые смогли бы мне помочь.
Я отправил им электронное письмо, в котором рассказал про DefCon и о том, насколько круто распространять среди нашего сообщества новые технологии, и они согласились сотрудничать. Эти несколько парней из бельгийской компании NFMI серьезно мне помогли. В технологии NFMI очень многое зависит от расположения антенн приемника и передатчика, как показано на слайде справа. При перпендикулярном расположении антенн приемника и передатчика сигнал принять не удастся. Эта технология обеспечивает направленную передачу данных или аудио с высокой скоростью на расстояние до 1 м и используется, например, вместо Bluetooth в гарнитуре наушников. В её основе продуцирование магнитного поля, то есть фактически у нас имеется трансформатор с воздушным сердечником. При этом между устройствами не создается общего радиополя, когда ваш сигнал может помешать устройству другого человека, как при использовании Bluetooth.
Эта связь похожа на воздушный HiFi. Пропускная способность канала связи составляет 596 кбит/с на несущей частоте 10,58 Мгц. Эта связь быстрее той, что обеспечивает ваш модем.
Меня впечатлило использование NFMI для работы микрофонов и наушников в гарнитуре для пожарных и прочих аварийных служб, что намного эффективнее связи по каналу Bluetooth и не создает помех для работы других радиоустройств. Круто то, что этот чип способен реально помочь общению сообщества DefCon, выведя его на новый технологический уровень.
NFMI радио фактически состоит из самого NFMI и чипа ARM, так что у нас на борту имеется 2 микроконтроллера – один для радио кода и один для игрового кода. NXP специально выделило инженера для написания кода для этого радиочипа, который обеспечивает функционирование широковещательной связи, потому что у меня на написание такого кода ушло бы очень много времени.
Интересно, что существует множество компаний с потрясающими технологиями, однако их техническая документация не подлежит разглашению. Но NXP была настолько заинтересована в сотрудничестве с DefCon, что мы придумали решение – не выпускать никакой документации, так что радио наших значков представляет собой «черный ящик», мы просто используем его для пересылки данных. Имеется некий кастомный код, который загружается в радиочип при подключении бэйджа к сети и служит для предварительной настройки. Вы видите, что свечение LED последовательно проходит стадии 3-2-1 – это из KL27 загружается код, несколько пакетов, пропускаемых через KL27, которые он обрабатывает после прочтения.
На следующем слайде представлена информация о составе пакета из 8 байт, которая будет интересна тем, кто любит все взламывать.
Я специально не публикую пакеты различных состояний работы значка, вероятно, я расскажу об этом в следующее воскресенье, поэтому пока что показываю пакет, которые отправляется и принимается каждым значком, находящимся в зоне досягаемости, по широковещательной связи. Здесь имеется уникальный идентификатор значка — номер, состоящий из 9 или 10 цифр, точно не помню, тип значка, флаг magic token, игровые флаги и неиспользуемый байт. Поэтому если вы взломаете эту прошивку, то не сможете передавать данные своего значка, но зато сможете передавать другие данные. Если у вас есть нужный сенсор, то вероятно, вы сможете сделать с этим что-то еще, например, скооперироваться с этим целым пакетом и создать своё собственное содержимое, потому что управление кодом осуществляется с нашей стороны. Вы сможете отправить в радиочип любые данные, какие захотите, и они будут передаваться через бродкастинг.
Еще одной важной частью начинки бэйджа является LED-драйвер с автоматическим режимом сохранения энергии. Все светодиоды индивидуально адресуемы и независимо меняют яркость свечения. Большинство таких устройств работают по принципу «точка-точка» или сетевых сот, но мы используем превдослучайный генератор времени, когда каждый значок передает и каждый значок принимает данные, а затем переходит в спящий режим. При этом может возникнуть ситуация передачи «один — всем» или «все — одному». Мы даже не знаем, как много бэйждей могут общаться в одно и то же время, но в любом случае это больше, чем 10 штук.
Фактически у нас получается групповой чат, при котором происходит обмен данными. Если светодиоды вашего значка начали мигать, значит, он с кем-то общается. Если вы оказались в нужном месте и в нужное время, то время обнаружения значка составит около 5 мс, в противном случае оно может достигать 5-10 секунд в зависимости от количества одновременно «общающихся» бэйджей – чем их больше, тем больше времени может понадобиться для достижения финала игровой стадии. В любом случае для выполнения квестов требуется совместный групповой чат.
Этот LED-драйвер поддерживает работу различных типов значков: для спикеров, для ведущих, для остальных присутствующих, при этом гемма на значке светится тем же цветом, что и светодиоды. Световая индикация позволяет ведущему идентифицировать присутствующих на конференции по цвету их бэйджей, однако сделать это было нелегко.
28:00
Конференция DefCon 27: за кулисами создания электронных бэйджей. Часть 2
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные 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 евро за копейки?
Это своего рода опыт, который я не мог оценить полной мерой, пока два или три года назад не поговорил с другом. Он сказал, что на этот раз вместо того, чтобы послать свою команду на конференцию BlackHat, он решил отправить их на DefCon. Я спросил его, в чем же разница? Друг ответил, что у него действительно хорошая, разумная и опытная команда, и он отправляет их на BlackHat для того, чтобы сделать их чуть-чуть умнее, как поступают с острым ножом, обновляя заточку. Но когда он посылает их участвовать в конференциях DefCon, то хочет, чтобы они научились лучше мыслить. Я сказал: «Боже, мне стоит об этом задуматься»! Это действительно то место, куда люди приходят, чтобы учиться.
Вы знаете, что бытует неофициальное мнение — если ты занимается информационной безопасностью, держись подальше от хакерства. Инфобезопасность – прекрасное место для работы, для зарабатывания денег, но получение денег и умение их зарабатывать отличаются от радости исследователя, удовольствия от неожиданных открытий, решения проблем и испытания неудач. Неудач, которых не стоит бояться, потому что здесь вы пребываете в окружении друзей. Думаю, в этом и состоит разница – ведь если вы просто работаете в информационной безопасности, то должны бояться провалов.
Джо Гранд: действительно, работа в Infosec не делает вас хакером, а если вы хакер, то это не значит, что вы занимаетесь информационной безопасностью! Мир хакерства больше, чем просто информационная безопасность.
Ведущий: да, и мы стараемся это принять. Если помните, год назад в качестве эксперимента мы провели DefCon в Китае. Это был первый случай проведения конференции за пределами США. В тот год это стало одним из крупнейших событий ИТ безопасности для китайского хакинга. Там произошла интересная история. Когда я спросил, сколько денег мы должны затребовать за проведение конференции, нам ответили: «никто никогда не берет никакой платы за проведение конференций, это маркетинговые расходы, так что все проходит бесплатно». Когда я спросил, стоит ли проводить конференцию в выходные дни, чтобы привлечь больше студентов или лучше в будни, чтобы привлечь представителей компаний, нам ответили, что прежде никто не проводил конференций по выходным. Я сказал, что мы хотим привезти с собой футболки DefCon, и спросил, почем их обычно продают, мне ответили: «никто раньше не продавал футболки на конференциях».
Потом у нас был второй DefCon в Китае, и я обратился к Kingpin и попросил его сделать что-то крутое, какие-то особенные значки Defcon.
Джо Гранд: да, ты был очень убедителен, и это должно было быть действительно что-то очень крутое, соответствующее сути DefCon.
Ведущий: у нас была идея сделать не простой бэйдж, а какой-то технологичный, электронный значок, и Джо воспринял эту идею с огромным энтузиазмом и решил сделать нечто совершенно необычное, чего еще никогда не было.
Джо Гранд: многие люди делают из бэйджей настоящие произведения искусства, так что я сомневался, что смогу сделать нечто подобное даже тем значкам сообщества, которые впервые появились 9 лет назад на DefCon 18. Сначала я очень волновался, но потом подумал, что просто буду создавать свой собственный стиль и не пытаться ни с кем конкурировать, как я всегда поступал, и людям это нравилось.
Ведущий: одной из причин создания этих хардверных бэйджей послужило то, что ни в сообществе BlackHat, ни у DefCon я не замечал таких хакерских навыков, которыми обладает Kingpin и еще несколько человек. Однако если мы хотим защитить себя от нехороших вещей типа роботов или тайной деятельности правительства, то должны обладать хакерскими навыками. Это была своего рода скрытая попытка привлечь внимание нашего сообщества к хакерскому hardware, и нам это удалось.
Джо Гранд: люди, получив такие значки, даже вроде бы зная, что с ними делать, все равно будут задавать вопросы, и это каким-то образом пробудит в них интерес к подобным вещам.
Ведущий: когда я попросил Джо сделать значки для Китая, мы хотели получить что-то совершенно новое.
Джо Гранд: у меня есть слайд, на котором показана история эволюции наших значков. Справа в нижнем ряду вы видите значок China 1.0 Badge для первой китайской конференции, представляющий собой гибкую печатную плату.
Этот бэйдж изображал наше сообщество в виде дерева, ветви которого символизируют разные задачи, по мере решения которых вспыхивают светодиоды. Здесь используется простая среда разработки Raspberry Pi, для которой вы легко написали бы код. Но это была вещь, которую создало наше сообщество, и для Китая она воплощала новую хакерскую культуру. Мы должны были объяснить им, для чего нужен электронный значок и что он делает, это было удивительно, и то, как китайцы восприняли эту вещь, вдохновило меня на разработку нового значка для второй конференции.
Ведущий: думаю, его было достаточно сложно изготовить.
Джо Гранд: да, всего 2 или 3 производителя согласились возиться с такой хрупкой деталью. Это гибкая крохотная плата, принтер ездит по ней туда-сюда и легко может её сломать, поэтому изготовление этих бэйджей обошлось достаточно дорого. Вы видите, что печатная плата покрашена в белый цвет, слой краски добавил ей немного толщины и придал значку немного прочности.
Конечно, это не было каким-то техническим прорывом, но мы с самого начала не хотели делать обычные бэйджи. С появлением каждого из них связана какая-то история, с которой можно ознакомиться в библиотеке медиаконтента сообщества. Мало-помалу мы старались внедрить новые технологии, новые компоненты и новые способы изготовления. На конференции DefCon 18, после которой я отошел от изготовления бэйджей, был представлен алюминиевый значок с лазерной гравировкой на лицевой стороне. Я помню наш разговор в комнате отеля, когда мы должны были отправить образец значка на одобрение совета сообщества. Я сказал, что это рискованная идея, а ты ответил: «Ну и что? Давай попробуем и посмотрим, что из этого получится».
Ведущий: случались и неудачи, когда, например, наши электронные значки повреждались при международной доставке. Но давай вернемся к бэйджам для Китая — они снабжены LED-светодиодами?
Джо Гранд: да, с обратной стороны печатной платы, и когда они загорались, то благодаря специальной подложке свет рассеивался сквозь плату, и это воспринималось не как свечение LED, а как какой-то орнамент на ветвях дерева.
Ведущий: главной особенностью значка для Китая стала возможность его физического подключения к станции визуализации и отображение ветвей-маршрутов в 3-D пространстве. Вы могли увидеть в символической форме, как сообщество решает проблемы, как процесс решения отображается в виде ветви дерева и как успех сопровождается вспышкой света.
Примечание переводчика: видео тестирования программируемого значка China 1.0 Badge можно посмотреть по ссылке www.youtube.com/watch?v=JigRbNXcMB8.
Можно считать, что наши бэйджи являются инструментом социальной инженерии. Мы используем значок для того, чтобы создать вам возможность встречаться с другими людьми, взаимодействовать друг с другом. Он погружает вас в своего рода ролевую игру, и мы потратили довольно много времени, чтобы придумать, как воплотить эту идею в реальном устройстве.
Итак, вернемся к сегодняшней конференции, которая является одной из крупнейших за всю историю DefCon. Мы заняли аж 4 отеля, и вероятно, не сможем уделить одинаковое внимание всем участникам, но если у вас возникнут проблемы, обращайтесь, мы вам поможем их решить. Если у вашего значка возникнут неполадки, у нас здесь имеется мастерская с необходимым набором инструментов. А сейчас я предоставляю слово Kingpin’y, который расскажет вам о бэйджах этого года.
Джо Гранд: никогда не думал, что мне придется вернуться сюда, чтобы говорить о значках. Я перестал делать значки, потому что почувствовал, что вроде бы сыграл свою роль. Из года в год я будто бы соревновался с самим собой, делая одно и то же, просто используя новые приемы и технологии. Поэтому я решил уступить свое место кому-то другому, пусть DefCon растет без меня и новый человек получит возможность придумывать бэйджи для нашего сообщества. Но я всегда говорил, что если DT меня позовет, я вернусь и снова буду делать значки.
Здорово видеть, как изменился DefCon, приятно видеть множество новых, разных людей, способных охватить большой объем разных направлений работы сообщества. Собственно, я делал свои значки в ожидании дня, когда наконец смогу рассказать о них и раскрыть все свои секреты. Знаете, последние пол-года я думал только об этом, и моя жена, и мои дети уже больше не в состоянии говорить со мной на эту тему.
Основная цель создания этих бэйджей заключалась не в том, чтобы они понравились технарям и людям, понимающим толк в электронных девайсах. Я хотел, чтобы этот значок охватывал интересы как можно большего количества людей, и вам не нужно быть хардверным хакером, чтобы им пользоваться. Мне хотелось, чтобы он стал своеобразным гидом, который бы провел вас через DefCon. Поэтому главными целями при создании бэйджей были: придумать игру, которая бы охватывала весь опыт DefCon, использовать технологию, которая бы объединила все наше сообщество и сделать вещь, которая бы удовлетворила всех участников DefCon.
У этой игры, или квеста DefCon, довольно простые правила, приведенные на этом слайде, увидев которые все, кто вчера хакнул свой значок, начинают плакать.
Я не встраивал в значок никаких головоломок. Головоломка – это бэйдж-квест. Существует множество значков-головоломок, и я даже не пытался сделать нечто подобное. Я решил создать единую общую задачу, поиск решения которой объединил бы множество людей, а значок служил бы индикатором выполнения этого квеста.
После того, как вы включите свой значок, он начинает медленно мигать. Это то, что я называю режимом притяжения, состоянием готовности к решению задач. Существует множество разных состояний индикации значка, через которые нужно пройти, чтобы достичь конечной цели. Я знаю людей, которые уже попытались применить к значку реверс-инжиниринг, но это бесполезно, так как существует несколько квестовых заданий, которые вам нужно будет выполнить во время конференции, именно так бэйджи собираются привить вам некий опыт DefCon. Предназначение значка не в том, чтобы вы могли обойти эти задания, попытавшись взломать бэйдж, и автоматически достигли бы победы, а в том, чтобы привить вам опыт их совместного решения. В процессе прохождения этого квеста вы встречаете новых людей, узнаете новые вещи, и это весело.
На следующем слайде показано, как выглядит «начинка» значка. Слева вверху находится антенна, внизу – чип NFMI, обеспечивающий связь на основе магнитной индукции ближнего поля, в отличие от традиционного RF. Позже мы говорим об этом подробнее. Сегодня я заметил, что многие из присутствующих как бы «целуются» своими значками. Бэйджи действительно имеют сходство с магнитами, поскольку магнит обладает магнитным полем, и наш значок его генерирует. Но вам не нужно соединять их вместе, достаточно расстояния в один фут или чуть больше, чтобы бэйджи могли свободно обмениваться данными.
Однако бэйджи не оставляют RF-подписей, так что хакер, специализирующийся на взломе значков на основе SDR-радио, ничего не сможет с ними сделать, разве что вооружится каким-то магнитным сенсором и встанет между мной и Джеффом. Это очень короткий диапазон, позволяющий вам организовать «связь под прикрытием» за пределами DefCon, например, сидя в классе, обмениваться с другом шпаргалками. Эта штука помогает связать всех вас в единое целое, обмениваясь информацией, но при этом не давая возможность извлечь какие-либо данные, что очень расстроит многих хакеров.
В значке также имеется микроконтроллер, LED драйвер и пьезоэлектрический динамик. Я старался придерживаться простого дизайна аппаратного обеспечения, что оказалось совсем не легко, хотя внешне все выглядит довольно просто. Хочу обратить ваше внимание на возможности ношения этого бэйджа. Легко сказать: «давай попробуем и посмотрим, что из этого получится», но когда вы создаете что-то новое, то должны представлять, как оно будет работать и придумать вариант использования. Мы придумали новый метод крепления. Обычно вы просто берете значок и цепляете его прищепкой к шнурку, но крепления нашего значка позволяют перемещать его по ленте, чтобы прицепить к ней карабин, носить на ремешке на запястье, как часы, или даже на ленте для волос или налобной повязке. Кроме того, его можно использовать как ювелирное изделие — брошь или амулет, повесив на шею. В общем, мы решили придумать что-то новое и посмотреть, что люди станут с этим делать. Этот значок в одинаковой мере и ювелирное изделие, и бэйдж.
На следующем слайде показана блок-схема устройства. Я не хочу вдаваться в подробности, просто покажу вам основные рабочие элементы.
На печатной плате значка расположен процессор NXP ARM Cortex-M0. Это микроконтроллер общего назначения, но достаточно мощный и способный обеспечить выполнение необходимых нам функций.
Кстати, вы можете ознакомиться с ранними версиями этой схемы и деталями разработки значка на медиасервере DefCon или на моем сайте.
В значке имеется LED-драйвер и NFMI радио, который представляет собой NXP чип. Пару лет назад я вынужден был в последнюю минуту добавить в свой значок еще один держатель для батарейки, потому что неправильно понял инструкцию, год назад я использовал в значках батарейки типа CR123a, а в этом бэйдже для экономии места решил использовать миниатюрный держатель «таблетки» напряжением 3 В. На следующем слайде представлены детали аппаратного обеспечения системы.
Оно управляет LED-драйвером, радиосвязью, обрабатывает квесты и представляет собой элементы, которые присутствуют в каждом электронном устройстве. Здесь имеется NXP-чип на платформе KL27, процессор ARM-CORTEX MO+ и такая крутая штука, как NFMI. Это система магнитной индукции ближнего радиуса действия, которая применяется уже долгое время, но реально её можно встретить только в высокотехнологичных электронных продуктах. Наверное, существует миллион компаний, которые даже не знают про существование этой технологии. Если вы простой хакер или инженер небольшой компании, то вам придется поработать над её использованием. Мы пришли к идее использования этой технологии благодаря моей предыдущей работе с ребятами из Freescale, у меня остались контакты одного из этих парней, который все ещё работает на компанию NXP. Я позвонил ему и объяснил, что хочу сделать для DefCon необычный бэйдж. Он посоветовал обратиться к специалистам по NFMI, это небольшая группа внутри NXP, которые смогли бы мне помочь.
Я отправил им электронное письмо, в котором рассказал про DefCon и о том, насколько круто распространять среди нашего сообщества новые технологии, и они согласились сотрудничать. Эти несколько парней из бельгийской компании NFMI серьезно мне помогли. В технологии NFMI очень многое зависит от расположения антенн приемника и передатчика, как показано на слайде справа. При перпендикулярном расположении антенн приемника и передатчика сигнал принять не удастся. Эта технология обеспечивает направленную передачу данных или аудио с высокой скоростью на расстояние до 1 м и используется, например, вместо Bluetooth в гарнитуре наушников. В её основе продуцирование магнитного поля, то есть фактически у нас имеется трансформатор с воздушным сердечником. При этом между устройствами не создается общего радиополя, когда ваш сигнал может помешать устройству другого человека, как при использовании Bluetooth.
Эта связь похожа на воздушный HiFi. Пропускная способность канала связи составляет 596 кбит/с на несущей частоте 10,58 Мгц. Эта связь быстрее той, что обеспечивает ваш модем.
Меня впечатлило использование NFMI для работы микрофонов и наушников в гарнитуре для пожарных и прочих аварийных служб, что намного эффективнее связи по каналу Bluetooth и не создает помех для работы других радиоустройств. Круто то, что этот чип способен реально помочь общению сообщества DefCon, выведя его на новый технологический уровень.
NFMI радио фактически состоит из самого NFMI и чипа ARM, так что у нас на борту имеется 2 микроконтроллера – один для радио кода и один для игрового кода. NXP специально выделило инженера для написания кода для этого радиочипа, который обеспечивает функционирование широковещательной связи, потому что у меня на написание такого кода ушло бы очень много времени.
Интересно, что существует множество компаний с потрясающими технологиями, однако их техническая документация не подлежит разглашению. Но NXP была настолько заинтересована в сотрудничестве с DefCon, что мы придумали решение – не выпускать никакой документации, так что радио наших значков представляет собой «черный ящик», мы просто используем его для пересылки данных. Имеется некий кастомный код, который загружается в радиочип при подключении бэйджа к сети и служит для предварительной настройки. Вы видите, что свечение LED последовательно проходит стадии 3-2-1 – это из KL27 загружается код, несколько пакетов, пропускаемых через KL27, которые он обрабатывает после прочтения.
На следующем слайде представлена информация о составе пакета из 8 байт, которая будет интересна тем, кто любит все взламывать.
Я специально не публикую пакеты различных состояний работы значка, вероятно, я расскажу об этом в следующее воскресенье, поэтому пока что показываю пакет, которые отправляется и принимается каждым значком, находящимся в зоне досягаемости, по широковещательной связи. Здесь имеется уникальный идентификатор значка — номер, состоящий из 9 или 10 цифр, точно не помню, тип значка, флаг magic token, игровые флаги и неиспользуемый байт. Поэтому если вы взломаете эту прошивку, то не сможете передавать данные своего значка, но зато сможете передавать другие данные. Если у вас есть нужный сенсор, то вероятно, вы сможете сделать с этим что-то еще, например, скооперироваться с этим целым пакетом и создать своё собственное содержимое, потому что управление кодом осуществляется с нашей стороны. Вы сможете отправить в радиочип любые данные, какие захотите, и они будут передаваться через бродкастинг.
Еще одной важной частью начинки бэйджа является LED-драйвер с автоматическим режимом сохранения энергии. Все светодиоды индивидуально адресуемы и независимо меняют яркость свечения. Большинство таких устройств работают по принципу «точка-точка» или сетевых сот, но мы используем превдослучайный генератор времени, когда каждый значок передает и каждый значок принимает данные, а затем переходит в спящий режим. При этом может возникнуть ситуация передачи «один — всем» или «все — одному». Мы даже не знаем, как много бэйждей могут общаться в одно и то же время, но в любом случае это больше, чем 10 штук.
Фактически у нас получается групповой чат, при котором происходит обмен данными. Если светодиоды вашего значка начали мигать, значит, он с кем-то общается. Если вы оказались в нужном месте и в нужное время, то время обнаружения значка составит около 5 мс, в противном случае оно может достигать 5-10 секунд в зависимости от количества одновременно «общающихся» бэйджей – чем их больше, тем больше времени может понадобиться для достижения финала игровой стадии. В любом случае для выполнения квестов требуется совместный групповой чат.
Этот LED-драйвер поддерживает работу различных типов значков: для спикеров, для ведущих, для остальных присутствующих, при этом гемма на значке светится тем же цветом, что и светодиоды. Световая индикация позволяет ведущему идентифицировать присутствующих на конференции по цвету их бэйджей, однако сделать это было нелегко.
28:00
Конференция DefCon 27: за кулисами создания электронных бэйджей. Часть 2
Немного рекламы :)
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные 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 евро за копейки?