Обзор Flipper и Flipper Zero

flipper zero

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

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

Экран Flipper

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

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


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


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

Процессор для Flipper

Выбор чипа — это определяющий момент, и от него будут зависеть многие параметры будущего устройства.

Raspberry Pi

Первоначально проект Flipper строился на основе дешевого ($10) одноплатника Raspberry Pi Zero W. Выпущенный в 2017 году, этот микрокомпьютер объединял в себе одноядерный ARM-процессор, 512 Мбайт оперативной памяти, выводы GPIO, USB и беспроводные интерфейсы Wi-Fi и Bluetooth. Вокруг этого устройство сформировалось дружное сообщество любителей и профессионалов. На фоне этих плюсов низкая производительность и проблемы с перегревом микросхемы казались терпимыми.

А когда энтузиасты обнаружили способ запускать мониторный режим с инъекцией пакетов на адаптере Wi-Fi (патчи nexmon), то тут уже подключились разработчики Kali и объявили об официальной поддержке «малинки» в своих сборках Linux. В результате общими усилиями получился практически идеальный инструмент для хакера и пентестера. Не хватало лишь cхемы для аккумуляторного питания, функции спящего режима и кое-какой периферии для работы с остальными вариантами беспроводной связи.

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


Однако позже от «малинки» пришлось отказаться совсем. Выяснилось, что ни один из поставщиков Raspberry Pi Zero не готов продавать разом партии от тысячи штук и более. Со стороны это выглядит так: экстремально дешевый одноплатник производится на заводах, распространяется между крупными дистрибьюторами, но «в народ» попадает лишь по несколько штук в одни руки. Похоже, «малинка» (или, по крайней мере ее бюджетная версия) продается по цене, близкой к себестоимости и лишь окупает себя и не направлена на получение прибыли. Для промышленного и массового применения на сайте Raspberry Pi Foundation рекомендуется использовать Compute Module. Но он и стоит уже совсем других денег — 40 долларов.

i.MX6

Когда оказалось, что Raspberry — это не вариант, в команде Flipper было принято тяжелое решение делать устройство фактически с нуля, на основе существующего SoC (System-on-Chip). Выбор был ограничен тем, что далеко не все производители готовы работать с небольшой компанией, закупающей лишь несколько тысяч микросхем.

В результате поисков был подобрана новая основа для Flipper – i.MX6 ULZ. Это урезанная версия одноядерного процессора Cortex-A7, без видеоядра и некоторых интерфейсов. По производительности они с «малинкой» оказываются примерно на равных, но i.MX6 значительно выигрывает в энергоэффективности.

К сожалению, найти столь же удачный альтернативный адаптер Wi-Fi разработчикам Flipper пока не удалось. К потенциальному кандидату предъявляются серьезные требования: поддерживать современные стандарты беспроводной сети, уметь работать в диапазонах 2,4 ГГц и 5 ГГц и допускать разблокировку мониторного режима сторонними патчами. И при этом еще быть достаточно дешевым в крупных партиях (менее 10 долларов). Если у тебя есть подходящий модуль на примете – смело пиши ребятам на форуме.

STM32

Пока аппаратная часть проекта, связанная с «большими» компонентами – процессором и адаптером беспроводной связи – забуксовала, остальная часть схемы с обвязкой и микроконтроллером шаг за шагом воплощалась в коде и железе. Здесь основой стал МК STM32L412 с тактовой частотой в 80 МГц, 128 Кбайт флеша и 40 Кбайт ОЗУ. По сравнению с хорошо известной серией F4, эти микроконтроллеры появились относительно недавно, но уже завоевали популярность за свое небольшое энергопотребление и хороший набор современной периферии.

Во Flipper микроконтроллер не только реагирует на нажатия на кнопки, чтобы ретранслировать их центральному процессору: именно он взаимодействует с низкоскоростными беспроводными интерфейсами и экраном. Более того, поселившийся в устройстве дельфин-тамагочи тоже работает на микроконтроллере, чтобы всегда быть готовым откликнуться на зов хозяина. Увидев все это в действии, в команде Flipper решили: а чем это не полноценное устройство?

Так на свет и появился Flipper Zero.
Так на свет и появился Flipper Zero.

Flipper Zero

Первым устройством, которое Павел Жовнер и его команда, представят миру, будет именно Flipper Zero — версия Flipper на микроконтроллере. Старший собрат с полноценным компьютером и модулем Wi-Fi будет называться Flipper One, и он пока что только в планах.

433 МГц


За беспроводную связь в устройстве отвечает сразу несколько микросхем. Одна из них – CC1101 производства Texas Instruments – позволяет Flipper работать на частоте 433 МГц сразу с несколькими типами модуляции – 2-FSK, 4-FSK, GFSK и MSK. В основном на этой частоте работают самые примитивные устройства: датчики, звонки, шлагбаумы и прочее.

При этом, как правило, используется один из распространенных протоколов обмена информацией: Keeloq, Came или Doorhan. Встроенный во Flipper анализатор подскажет, с чем именно ты имеешь дело в конкретный момент. И даже если узнать точный протокол не удалось, девайс всегда сможет как минимум повторить ранее записанный ответ.

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

RFID


Следующий беспроводной интерфейс ориентирован на карточки доступа с NFC-антенной, такие как, например, ЕМ-4100 и другие. У них примитивный формат хранения данных, поэтому с помощью Flipper ты без труда сможешь считывать, копировать и эмулировать уже имеющиеся экземпляры. При желании полученный ID карты можно отправить на другой Flipper.

ИК-порт


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

Выводы GPIO


Для тех, кому по душе более низкоуровневое взаимодействие с железом, разработчики Flipper вынесли на одну из боковых граней непосредственно выводы GPIO от микроконтроллера. Помимо питания и базовых цифровых сигналов, на них также доступна разнообразная периферия: ADC, SPI, UART, I2C, PWM и многое другое. Таким образом, ты сможешь подключать к девайсу другие компоненты и расширить возможности Flipper. Правда, пока непонятно, получит ли развитие концепция плат расширения, как у Arduino или Raspberry Pi – все-таки девайс позиционируется как законченное устройство.

USB-C

Изначально у Flipper на основе RPi Zero было много разъемов на корпусе: несколько USB, MicroHDMI и слот для карточки памяти. В версии на STM32 оставили только один USB-порт для зарядки и перепрограммирования (на самом микроконтроллере уже прошит соответствующий бутлоадер). В 2020 году Type-C наконец-то начинает выглядеть почти как стандарт, так что, если у тебя уже есть блок питания для четвертой «малинки», сможешь заряжать Flipper и с его помощью тоже.

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

Краудфандинг

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий