Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

ведучий: вітаю всіх на 27-конференції DefCon! Оскільки багато хто з вас тут вперше, розповім вам про деякі основні моменти нашої спільноти. Один із них полягає в тому, що ми у всьому сумніваємося, і якщо ви почули або побачили щось незрозуміле, просто запитайте. Весь сенс DefCon у тому, щоб навчитися чогось – випивати, зустрічатися з друзями, займатися дурницями.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Це свого роду досвід, який я не міг оцінити повним заходом, поки два чи три роки тому не поговорив з другом. Він сказав, що цього разу замість того, щоб надіслати свою команду на конференцію BlackHat, він вирішив відправити їх на DefCon. Я спитав його, в чому ж різниця? Друг відповів, що у нього дійсно хороша, розумна і досвідчена команда, і він відправляє їх на BlackHat для того, щоб зробити їх трохи розумнішими, як роблять з гострим ножем, оновлюючи заточення. Але коли він посилає їх брати участь у конференціях DefCon, то хоче, щоб вони навчилися краще мислити. Я сказав: Боже, мені варто про це задуматися! Це справді те місце, куди люди приходять, щоб навчатися.

Ви знаєте, що існує неофіційна думка — якщо ти займаєшся інформаційною безпекою, тримайся подалі від хакерства. Інфобезпека – чудове місце для роботи, для заробляння грошей, але отримання грошей та вміння їх заробляти відрізняються від радості дослідника, задоволення від несподіваних відкриттів, вирішення проблем та випробування невдач. Невдач, яких не варто боятись, тому що тут ви перебуваєте в оточенні друзів. Думаю, в цьому і полягає різниця – адже якщо ви просто працюєте в інформаційній безпеці, то маєте боятися провалів.

Джо Гранд: дійсно, робота в Infosec не робить вас хакером, а якщо ви хакером, то це не означає, що ви займаєтеся інформаційною безпекою! Світ хакерства більший, ніж просто інформаційна безпека.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

ведучий: так, і ми намагаємося це прийняти. Якщо пам'ятаєте, рік тому як експеримент ми провели DefCon у Китаї. То справді був перший випадок проведення конференції поза США. У той рік це стало однією з найбільших подій ІТ безпеки для китайського хакінгу. Там сталася цікава історія. Коли я запитав, скільки грошей ми маємо зажадати за проведення конференції, нам відповіли: «ніхто ніколи не бере жодної плати за проведення конференцій, це маркетингові витрати, тому все відбувається безкоштовно». Коли я запитав, чи варто проводити конференцію у вихідні дні, щоб залучити більше студентів чи краще у будні, щоб залучити представників компаній, нам відповіли, що раніше ніхто не проводив конференцій у вихідні. Я сказав, що ми хочемо привезти з собою футболки DefCon, і запитав, чому їх зазвичай продають, мені відповіли: ніхто раніше не продавав футболки на конференціях.

Потім у нас був другий DefCon в Китаї, і я звернувся до Kingpin і попросив зробити щось круте, якісь особливі значки Defcon.

Джо Гранд: так, ти був дуже переконливий, і це мало бути дійсно щось дуже круте, відповідне суті DefCon.

ведучий: у нас була ідея зробити не простий бейдж, а якийсь технологічний, електронний значок, і Джо сприйняв цю ідею з величезним ентузіазмом і вирішив зробити щось незвичайне, чого ще ніколи не було.

Джо Гранд: багато людей роблять з бейджів справжні твори мистецтва, так що я сумнівався, що зможу зробити щось подібне навіть до тих значків спільноти, які вперше з'явилися 9 років тому на DefCon 18. Спочатку я дуже хвилювався, але потім подумав, що просто створюватиму свій власний стиль і не намагатися ні з ким конкурувати, як я завжди робив, і людям це подобалося.

ведучий: однією з причин створення цих хардверних бейджів стало те, що ні в спільноті BlackHat, ні в DefCon я не помічав таких хакерських навичок, якими володіє Kingpin і ще кілька людей. Однак якщо ми хочемо захистити себе від поганих речей на кшталт роботів або таємної діяльності уряду, то повинні мати хакерські навички. Це була своєрідна прихована спроба привернути увагу нашої спільноти до хакерського hardware, і нам це вдалося.

Джо Гранд: люди, отримавши такі значки, навіть начебто знаючи, що з ними робити, все одно будуть ставити питання, і це якимось чином пробудить у них інтерес до подібних речей.

ведучий: коли я попросив Джо зробити значки для Китаю, ми хотіли отримати щось зовсім нове.

Джо Гранд: я маю слайд, на якому показано історію еволюції наших значків. Праворуч у нижньому рядку ви бачите значок China 1.0 Badge для першої китайської конференції, що є гнучкою друкованою платою.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Цей бейдж зображував наше співтовариство як дерева, гілки якого символізують різні завдання, у міру вирішення яких спалахують світлодіоди. Тут використовується просте середовище розробки Raspberry Pi, для якого ви б легко написали код. Але це була річ, яку створила наша спільнота, і для Китаю вона втілювала нову культуру хакерів. Ми мали пояснити їм, для чого потрібен електронний значок і що він робить, це було дивно, і те, як китайці сприйняли цю річ, надихнуло мене на розробку нового значка для другої конференції.

ведучий: гадаю, його було досить складно виготовити.

Джо Гранд: так, всього 2 або 3 виробника погодилися возитися з такою крихкою деталлю. Це гнучка крихітна плата, принтер їздить по ній туди-сюди і легко може зламати її, тому виготовлення цих бейджів обійшлося досить дорого. Ви бачите, що друкована плата пофарбована в білий колір, шар фарби додав їй трохи товщини і надав значку міцності.

Звичайно, це не було якимось технічним проривом, але ми від початку не хотіли робити звичайні бейджі. З появою кожного з них пов'язана якась історія, з якою можна ознайомитись у бібліотеці медіаконтенту спільноти. Помалу ми намагалися впровадити нові технології, нові компоненти та нові способи виготовлення. На конференції DefCon 18, після якої я відійшов від виготовлення бейджів, був представлений алюмінієвий значок із лазерним гравіюванням на лицьовій стороні. Я пам'ятаю нашу розмову в кімнаті готелю, коли ми повинні були відправити зразок значок на схвалення поради спільноти. Я сказав, що це ризикована ідея, а ти відповів: Ну і що? Давай спробуємо та подивимося, що з цього вийде».

ведучий: траплялися і невдачі, коли, наприклад, наші електронні значки ушкоджувалися під час міжнародної доставки. Але давай повернемося до бейджів для Китаю - вони мають LED-світлодіоди?

Джо Гранд: так, зі зворотного боку друкованої плати, і коли вони спалахували, то завдяки спеціальній підкладці світло розсіювалося крізь плату, і це сприймалося не як світло LED, а як якийсь орнамент на гілках дерева.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

ведучий: головною особливістю значка для Китаю стала можливість його фізичного підключення до станції візуалізації та відображення гілок-маршрутів у 3-D просторі. Ви могли побачити у символічній формі, як спільнота вирішує проблеми, як процес вирішення відображається у вигляді гілки дерева та як успіх супроводжується спалахом світла.

Примітка перекладача: відео тестування програмованого значка China 1.0 Badge можна переглянути за посиланням www.youtube.com/watch?v=JigRbNXcMB8.

Можна вважати, що наші бейдж є інструментом соціальної інженерії. Ми використовуємо значок для того, щоб створити можливість зустрічатися з іншими людьми, взаємодіяти один з одним. Він занурює вас у своєрідну рольову гру, і ми витратили досить багато часу, щоб придумати, як втілити цю ідею у реальному пристрої.
Отже, повернемося до сьогоднішньої конференції, яка є однією із найбільших за всю історію DefCon. Ми зайняли аж 4 готелі, і ймовірно, не зможемо приділити однакову увагу всім учасникам, але якщо у вас виникнуть проблеми, звертайтеся, ми вам допоможемо їх вирішити. Якщо у вашого значка виникнуть неполадки, тут є майстерня з необхідним набором інструментів. А зараз я надаю слово Kingpin'y, який розповість вам про бейдж цього року.

Джо Гранд: ніколи не думав, що мені доведеться повернутися сюди, щоб говорити про значки. Я перестав робити значки, бо відчув, що начебто зіграв свою роль. З року в рік я ніби змагався з самим собою, роблячи одне й те саме, просто використовуючи нові прийоми та технології. Тому я вирішив поступитися своїм місцем комусь іншому, нехай DefCon росте без мене і нова людина отримає можливість вигадувати бейджі для нашої спільноти. Але я завжди казав, що якщо DT мене покличе, я повернуся і знову робитиму значки.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Здорово бачити, як змінився DefCon, приємно бачити безліч нових, різних людей, здатних охопити велику кількість різних напрямів роботи спільноти. Власне, я робив свої значки, чекаючи дня, коли нарешті зможу розповісти про них і розкрити всі свої секрети. Знаєте, останні півроку я думав тільки про це, і моя дружина, і мої діти вже більше не в змозі говорити зі мною на цю тему.

Основна мета створення цих бейджів полягала не в тому, щоб вони сподобалися технарям і людям, які розуміються на електронних девайсах. Я хотів, щоб цей значок охоплював інтереси якнайбільшої кількості людей, і вам не потрібно бути хардверним хакером, щоб ним користуватися. Мені хотілося, щоб він став своєрідним гідом, який провів би вас через DefCon. Тому головними цілями при створенні бейджів були: придумати гру, яка охоплювала б весь досвід DefCon, використовувати технологію, яка б об'єднала всю нашу спільноту і зробити річ, яка б задовольнила всіх учасників DefCon.

У цієї гри, або квеста DefCon, досить прості правила, наведені на цьому слайді, побачивши які, хто вчора хакнув свій значок, починають плакати.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Я не вбудовував у піктограму жодних головоломок. Головоломка – це бейдж-квест. Існує безліч значків-головоломок, і я навіть не намагався зробити щось схоже. Я вирішив створити єдине спільне завдання, пошук рішення якого об'єднав би безліч людей, а значок був би індикатором виконання цього квесту.

Після того, як ви увімкнете свій значок, він починає повільно блимати. Це те, що я називаю режимом тяжіння, станом готовності до вирішення завдань. Існує безліч різних станів індикації значка, якими потрібно пройти, щоб досягти кінцевої мети. Я знаю людей, які вже спробували застосувати до значка реверс-інжиніринг, але це марно, оскільки існує кілька квестових завдань, які вам потрібно буде виконати під час конференції, саме так бейджі збираються прищепити вам досвід DefCon. Призначення значка не в тому, щоб ви могли обійти ці завдання, спробувавши зламати бейдж, і автоматично досягли б перемоги, а в тому, щоб прищепити досвід їхнього спільного вирішення. У процесі проходження цього квесту ви зустрічаєте нових людей, дізнаєтеся про нові речі, і це весело.

На наступному слайді показано, як виглядає начинка значка. Зліва нагорі знаходиться антена, внизу – чіп NFMI, що забезпечує зв'язок на основі магнітної індукції ближнього поля, на відміну від традиційного RF. Пізніше ми говоримо про це детальніше. Сьогодні я помітив, що багато хто з присутніх ніби «цілується» своїми значками. Бейджі дійсно мають схожість з магнітами, оскільки магніт має магнітне поле, і наш значок його генерує. Але вам не потрібно з'єднувати їх разом, достатньо відстані в один фут або трохи більше, щоб бейдж могли вільно обмінюватися даними.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Однак бейджі не залишають RF-підписів, так що хакер, що спеціалізується на зломі значків на основі SDR-радіо, нічого не зможе з ними зробити, хіба що озброїться якимсь магнітним сенсором і стане між мною і Джеффом. Це дуже короткий діапазон, що дозволяє вам організувати зв'язок під прикриттям за межами DefCon, наприклад, сидячи в класі, обмінюватися з другом шпаргалками. Ця штука допомагає зв'язати всіх вас в єдине ціле, обмінюючись інформацією, але при цьому не даючи можливість витягти будь-які дані, що дуже засмутить багатьох хакерів.

Значок також має мікроконтролер, LED драйвер і п'єзоелектричний динамік. Я намагався дотримуватися простого дизайну апаратного забезпечення, що виявилося зовсім нелегко, хоча зовні виглядає досить просто. Хочу звернути вашу увагу на можливості носіння цього бейджу. Легко сказати: «Давай спробуємо та подивимося, що з цього вийде», але коли ви створюєте щось нове, то маємо уявляти, як воно буде працювати і придумати варіант використання. Ми вигадали новий метод кріплення. Зазвичай ви просто берете значок і чіпляєте його прищіпкою до шнурка, але кріплення нашого значка дозволяють переміщати його стрічкою, щоб причепити до неї карабін, носити на ремінці на зап'ястя, як годинник, або навіть на стрічці для волосся або налобної пов'язки. Крім того, його можна використовувати як ювелірний виріб - брошку або амулет, повісивши на шию. Загалом ми вирішили придумати щось нове і подивитися, що люди з цим робитимуть. Цей значок однаково і ювелірний виріб, і бейдж.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

На наступному слайді показано блок-схему пристрою. Я не хочу вдаватися до подробиць, просто покажу вам основні робочі елементи.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

На друкованій платі піктограми розміщено процесор NXP ARM Cortex-M0. Це мікроконтролер загального призначення, але досить потужний та здатний забезпечити виконання необхідних нам функцій.

До речі, ви можете ознайомитися з ранніми версіями цієї схеми та деталями розробки значка на медіасервері DefCon або на моєму сайті.

У значку є LED-драйвер і NFMI радіо, який є NXP чіп. Кілька років тому я змушений був в останню хвилину додати в свій значок ще один тримач для батарейки, тому що неправильно зрозумів інструкцію, рік тому я використав у значках батарейки типу CR123a, а в цьому бейджі для економії місця вирішив використовувати мініатюрний тримач «таблетки» напругою 3 У. На наступному слайді представлені деталі апаратного забезпечення системи.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Воно керує LED-драйвером, радіозв'язком, обробляє квести і є елементами, які присутні в кожному електронному пристрої. Тут є NXP-чіп на платформі KL27, процесор ARM-CORTEX MO+ і така крута штука, як NFMI. Це система магнітної індукції ближнього радіусу дії, яка застосовується вже тривалий час, але реально її можна зустріти лише у високотехнологічних електронних продуктах. Напевно існує мільйон компаній, які навіть не знають про існування цієї технології. Якщо ви простий хакер або інженер невеликої компанії, вам доведеться попрацювати над її використанням. Ми дійшли ідеї використання цієї технології завдяки моїй попередній роботі з хлопцями з Freescale, у мене залишилися контакти одного з цих хлопців, який все ще працює на компанію NXP. Я подзвонив йому і пояснив, що хочу зробити для DefCon незвичайний бейдж. Він порадив звернутися до фахівців з NFMI, це невелика група всередині NXP, яка б мені допомогти.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Я надіслав їм електронного листа, в якому розповів про DefCon і про те, наскільки круто розповсюджувати серед нашої спільноти нові технології, і вони погодилися співпрацювати. Ці кілька хлопців із бельгійської компанії NFMI серйозно мені допомогли. У технології NFMI дуже багато залежить від розташування антен приймача та передавача, як показано на слайді праворуч. При перпендикулярному розташуванні антен приймача та передавача сигнал прийняти не вдасться. Ця технологія забезпечує спрямовану передачу даних або аудіо з високою швидкістю на відстань до 1 м і використовується, наприклад замість Bluetooth в гарнітурі навушників. У її основі продукування магнітного поля, тобто фактично ми маємо трансформатор з повітряним сердечником. При цьому між пристроями не створюється загального радіополя, коли ваш сигнал може перешкодити пристрою іншої людини, як у разі використання Bluetooth.

Цей зв'язок схожий на повітряний HiFi. Пропускна здатність каналу зв'язку становить 596 кбіт/с на несучій частоті 10,58 МГц. Цей зв'язок швидше за той, що забезпечує ваш модем.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Мене вразило використання NFMI для роботи мікрофонів та навушників у гарнітурі для пожежних та інших аварійних служб, що набагато ефективніше за зв'язок по каналу Bluetooth і не створює перешкод для роботи інших радіопристроїв. Круто те, що цей чіп здатний реально допомогти спілкуванню спільноти DefCon, вивівши його на новий технологічний рівень.

NFMI радіо фактично складається з самого NFMI і чіпа ARM, так що у нас на борту є 2 мікроконтролери - один для радіо коду і один для ігрового коду. NXP спеціально виділило інженера для написання коду для цього радіочіпа, який забезпечує функціонування широкомовного зв'язку, тому що у мене на написання такого коду пішло дуже багато часу.

Цікаво, що існує безліч компаній із приголомшливими технологіями, проте їхня технічна документація не підлягає розголошенню. Але NXP була настільки зацікавлена ​​у співпраці з DefCon, що ми придумали рішення – не випускати жодної документації, так що радіо наших значків є «чорною скринькою», ми просто використовуємо його для пересилання даних. Є якийсь кастомний код, який завантажується в радіочіп при підключенні бейджа до мережі та служить для попереднього налаштування. Ви бачите, що світло LED послідовно проходить стадії 3-2-1 – це з KL27 завантажується код, кілька пакетів, що пропускаються через KL27, які він обробляє після прочитання.

На наступному слайді представлена ​​інформація про склад пакету з 8 байт, яка буде цікава тим, хто любить все зламувати.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Я спеціально не публікую пакети різних станів роботи значка, ймовірно, я розповім про це наступної неділі, тому поки що показую пакет, який відправляється і приймається кожним значком, що знаходиться в зоні досяжності, по широкомовному зв'язку. Тут є унікальний ідентифікатор значка - номер, що складається з 9 або 10 цифр, точно не пам'ятаю, тип значка, прапор magic token, ігрові прапори та байт, що не використовується. Тому якщо ви зламаєте цю прошивку, то не зможете передавати дані свого значка, зате зможете передавати інші дані. Якщо у вас є потрібний сенсор, то ймовірно, ви зможете зробити з цим щось ще, наприклад, поєднатися з цим цілим пакетом і створити свій власний вміст, тому що управління кодом здійснюється з нашого боку. Ви зможете відправити в радіочіп будь-які дані, які захочете, і вони передаватимуться через бродкастінг.

Ще однією важливою частиною начинки бейджа є драйвер LED з автоматичним режимом збереження енергії. Усі світлодіоди індивідуально адресовані та незалежно змінюють яскравість свічення. Більшість таких пристроїв працюють за принципом «точка-точка» або мережевих стільників, але ми використовуємо передвипадковий генератор часу, коли кожен значок передає і кожен значок приймає дані, а потім переходить у режим сну. У цьому може виникнути ситуація передачі «один — усім» чи «все — одному». Ми навіть не знаємо, як багато бейждей можуть спілкуватися в один і той же час, але в будь-якому випадку це більше, ніж 10 штук.

Конференція DefCon 27: за лаштунками створення електронних бейджів. Частина 1

Фактично у нас виходить груповий чат, у якому відбувається обмін даними. Якщо світлодіоди вашого значка почали блимати, то він з кимось спілкується. Якщо ви опинилися в потрібному місці і в потрібний час, то час виявлення значка складе близько 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 вдвічі дешевше в дата-центрі 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! Читайте про те Як побудувати інфраструктуру корп. класу із застосуванням серверів Dell R730xd Е5-2650 v4 вартістю 9000 євро за копійки?

Джерело: habr.com

Додати коментар або відгук