Кибердельфин. Как создавался Flipper — «швейцарский нож хакера»

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

Если для перехвата Wi-Fi все же бывают портативные устройства, то работа с железом в полевых условиях сейчас выглядит так. Ты берешь с собой ноутбук, подходящую отладочную плату с прошивками на все случаи жизни, несколько антенн, адаптеров, плат расширения и внешний аккумулятор для автономности. И не забудь о целом ворохе проводов, чтобы соединять все перечисленное. Добавь органайзер для хранения мелочовки и самодельные корпуса для защиты хрупких компонентов при передвижении. Знакомо?

Павел Жовнер — гик, задрот и богомол (как он представляется в профиле на «Хабрахабре») — знаком с такой ситуацией даже слишком хорошо. Организуя на питерском ZeroNights 2018 CTF-конкурс о взломе вендинговой системы с картами бесконтактной оплаты, он озаботился надежным и крепким корпусом для платы своего RFID-ридера. Тогда проблему удалось решить достаточно просто, но радикально: залив текстолит с компонентами ровным слоем прозрачной эпоксидной смолы.

Чуть позже, когда ИБ-исследователи обратили свое внимание на популярный протокол AirDrop и заинтересовались его безопасностью, проблема многофункционального компактного устройства, способного гибко работать с беспроводными сетями, вышла на новый уровень. Что мешало любому желающему взять в руки RPi Zero W, зайти в общественный транспорт и массово рассылать окружающим сообщения с картинками, воспользовавшись открытой реализацией протокола?

В интервью «Хакеру» Павел рассказал, как злоупотреблял этой возможностью.

Однако у Raspberry Pi нет своего дисплея с интерфейсом, нет встроенной схемы для заряда аккумуляторов и автономной работы, а распечатать на 3D-принтере компактный и надежный корпус для такого крохотного девайса — та еще задача. И каждый раз, когда пытаешься собрать что-то подходящее из готовых модулей и компонентов, неизбежно получается бесформенный «бутерброд» из плат, который так и норовит уколоть пользователя одним из своих торчащих штыревых разъемов.

Толчок в нужном направлении дал проект pwnagotchi. Этот очаровательный виртуальный питомец нуждается в рукопожатиях, которые контроллеры беспроводных сетей отправляют на этапе создания нового соединения. В активном режиме сбор пакетов с хешами для ключей WPA сопровождается деавторизацией пользователей и принудительным обрывом подключений, чтобы ускорить процесс. И пусть симпатичная внешность цифрового зверька тебя не обманет — внутри у него работают нейронные сети на основе краткосрочной памяти и методы глубокого обучения с подкреплением. Все это помогает устройству гибко настраивать оптимальные параметры перехвата и анализа трафика в сети.

Впрочем, Flipper вдохновлен не одними тамагочи. Олдовые товарищи наверняка вспомнят проект персонального коммуникатора Cybiko, который позволял своим владельцам в начале нулевых годов самостоятельно создавать динамические беспроводные сети. А различные модули расширения открывали новые возможности, например воспроизведение MP3 и чтение карточек SmartMedia. Вместе с солидной (по тем временам) библиотекой программ и игр это помогло создать вокруг девайса сообщество увлеченных пользователей.

Так сформировались главные черты будущего устройства: универсальный карманный инструмент хакера для исследования беспроводных сетей. Максимально открытый проект, чтобы каждый мог доработать гаджет под свои нужды. И симпатичный тамагочи, который бы подарил этой вещи индивидуальность.

 

Внешний вид

На поиск подходящей формы и проектирование корпуса у команды Flipper ушло много времени. Во-первых, было важно создать законченный дизайн, который бы выгодно выделялся на фоне других хакерских девайсов (некоторые из них доступны лишь в виде голой печатной платы с компонентами). Во-вторых, устройство должно быть компактным, прочным и одновременно удобным, чтобы им можно было пользоваться на ходу.

Наконец, именно в корпусе предстояло разместить все внутренние антенны для беспроводных интерфейсов (о них далее), а также несколько разъемов. На деле это оказалось не самой простой задачей: набор доступной периферии менялся несколько раз, размеры и форма PCB также претерпели не одну итерацию. Все это приходилось всякий раз учитывать и адаптировать соответствующим образом сам корпус.

Как ты наверняка уже заметил, у Flipper необычный дизайн. Талисманом проекта (и персонажем тамагочи) стал кибердельфин. Это одновременно и отсылка к рассказу «Джонни-мнемоник» Уильяма Гибсона (знаковый автор жанра киберпанк, если ты не в курсе), и намек на природное любопытство дельфинов и их эхолокатор, который позволяет с помощью волн воспринимать окружающий мир. Кстати, именно форма плавника (flipper — это «плавник» на английском) обыграна в изгибах корпуса.

Кстати, модный внешний вид Flipper — это заслуга ребят из студии промышленного дизайна Objectlab, с которыми Павел Жовнер познакомился в хакспейсе «Нейрон». У них уже был большой опыт разработки и изготовления корпусов для электронных устройств из самых разных материалов. Именно они помогли с эскизами будущего продукта, 3D-моделями и первыми напечатанными прототипами.

 

Экран

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

Наиболее экономичны экраны E Ink, и в упоминавшемся pwnagotchi используется как раз такой экран. Увы, у них низкая — порядка секунды — скорость обновления, и даже банальная навигация по вкладкам в меню способна растянуться на долгое время. Если же прибегать к частичному обновлению, без перерисовки всего содержимого кадра, то на экране остается видимый след предыдущего изображения (так называемый image ghosting).

В результате для Flipper был выбран старый добрый графический ЖКИ-дисплей с разрешением 128 на 64 точки и диагональю 1,4 дюйма. Монохромное изображение обладает хорошей контрастностью, так что его видно даже при ярком солнце на улице, а низкое энергопотребление (около 400 мкА без подсветки) позволяет всегда отображать актуальную информацию на дисплее.

Конечно, наилучшим вариантом для хакерского девайса был бы экран по технологии Sharp memory, которая позволяет в режиме ожидания обновлять картинку лишь раз в несколько секунд, отправляя остальное устройство целиком в сон. Само изображение при этом никуда не пропадает. Именно такие дисплеи используются в современных смарт-часах и фитнес-браслетах. Однако у них все еще негуманная стоимость (порядка 20 долларов), что никак не укладывается в бюджет Flipper.

Источник: xakep.ru

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *