Badusb что это
Перейти к содержимому

Badusb что это

  • автор:

BadUSB — новый тип уязвимости USB-устройств

Моя вольная компиляция опубликованной на Wired статьи «Why the Security of USB Is Fundamentally Broken».

  • изменение файлов;
  • исполнение файлов;
  • перехват интернет-траффика.

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

«Вы можете отдать флэш-карту на анализ вашим IT-специалистам, и те, удалив некоторые файлы, скажут вам, что карта чиста. Однако, они даже не коснулись того, о чём говорим мы» — Nohl

Проблема не ограничивается флэш-накопителями. Все виды USB-устройств, от клавиатур до смартфонов имеют драйвера, которые могут быть подвержены той же атаке, что и флэш-карты. Nohl и Lell говорят, что проверили это на BadUSB-инфецированном Android-телефоне. В их опыте телефону удалось выдать себя за клавиатуру и начать вводить команды от её лица.

«Он мог сделать всё, что могла бы сделать клавиатура» — Nohl

BadUSB-инфецированные машины могут перехватить Интернет-траффик, изменить настройки DNS; если BadUSB-код находится на телефоне, то телефон может выступать в качестве MITM.

Большинство из нас привыкло не запускать левые исполняемые файлы, однако, этих мер недостаточно для остановки эпидемии BadUSB: ведь USB-устройства не имеют подписи кода, и проверить «оригинальность» прошивки проблематично.

Исследование Nohl и Lell показывает, что BadUSB-инфекция может путешествовать как с устройства на компьютер, так и обратно. Каждый раз, когда флэш-устройство подключено к компьютеру, его прошивка может быть перепрограммирована, и владельцу это будет непросто заметить.

Nohl соглашается, что быстро проблема не решится: она настолько обширная, что надо писать не патч, а полностью перерабатывать концепцию USB. Что надо не подключать устройств USB к компьютерам, которым не доверяете.

«В новом образе мышления вы не можете доверять флэш-носителю просто потому что знаете, что там вируса быть не должно. Доверие может быть только тогда, когда вы знаете, что USB этого устройства никогда не касался компьютера. Это несовместимо с тем, как мы используем устройства сейчас» — Nohl

  1. Ещё одна статья о сабже (англ)
  2. Её перевод на TJ (рус)
  3. Код, опублекованный исследователями
  • usb
  • badusb
  • информационная безопасность

BadUSB — что это такое и с чем его едят ⁠ ⁠

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

Начну, как водится, с объяснения о чём, собственно, сыр-бор. Дело в том, что USB это последовательная шина. Она исходно была рассчитана на то, что в один порт может быть натолкана целая прорва устройств. Я сегодня очень ленив, поэтому соответствующую картинку чёрно-белого содержания, пожалуйста, представьте себе сами. Такой подход в общем и целом правильный: никто кроме вас не знает, сколько вам потребуется подключить устройств, и вы этого тоже часто не знаете. Суть атаки BadUSB состоит в том, что устройство может оказаться не совсем тем, за что оно себя выдаёт. И действительно — иногда оказывается. Если вы ломали голову, мол, почему современные Android-телефоны требуют руками указать, что нам требуется подключение к компьютеру, а не просто зарядка, то ответ как раз BadUSB. Нехорошие личности повадились встраивать всякую гадость в публичные розетки и даже в кабеля. Атака прекрасно описана в википедии, и состоит в тривиальном факте — до недавних пор производители никак не защищали контроллеры USB от перепрошивки чем попало, включая устройства, которые к нему подключены. В результате к полезным для вас функциям устройство возможно добавить функции полезные кому-то другому. Поэтому, кстати, ваша любимая флешка тоже может превратиться в рассадник заразы.

Однако так ли всё страшно? Во-первых — нет. Контроллеров USB чёртова прорва. Их действительно очень много и КАЖДЫЙ требует индивидуального подхода для заражения вредоносным кодом. Так что панику — отставить, а валидол выбросить. Сейчас есть конфетки повкуснее. Во-вторых любому взаимодействующему с компьютером или смартфоном (иначе говоря с хостом) USB устройству требуется некоторая поддержка от хоста. Что толку представляться сетевым адаптером устройству, которое попросту знать не знает что такое сеть? Это в качестве примера. То есть по факту заражённое устройство может представиться чем угодно, что только бывает по USB. Если «постороннее» устройство в ходе нормальной деятельности составляет угрозу информационной безопасности, то подобная атака действительно представляет вектор угрозы. А посторонним устройством может оказаться абсолютно всё что угодно: виртуальный принтер, который перехватывает документы на печать и по встроенному в устройству мобильному модему шлёт данные врагу. Вроде бы всё правильно, да? Для защиты от вредоносных устройств вполне нормально требовать носитель данных неуязвимый для подобных атак, ведь так?

Нет и вот почему. Как я уже сказал выше — для того, чтобы подобные атаки имели хоть какой-то шанс на успех им требуется взаимодействие с операционной системой хоста. Более того, ущерб целиком и полностью ограничен правами пользователя, под которым подключено устройство. Не сиди под рутом! Сколько можно говорить? Если пользователь работает с критическими данными под административной учётной записью, то никакой информационной безопасности в конторе нет и, в принципе, от размещения прямо за спиной пользователя агентуры Mossad, NIO и Syrbar в этом плане сильно хуже не станет. Правда первые будут требовать прекратить трескать бутерброды с салом, вторые прикидывать можно ли вас самих съесть, а третьи возмущаться фильмом «Борат», но давайте это спишем на неизбежные последствия игнорирования правил, которые старше большинства из нас. А вот ограниченная учётная запись называется ограниченной не просто так. Например, можно запретить изменения в конфигурации устройства, что перекроет кислород к подключению чего бы то ни было вообще, а можно запретить устанавливать вполне конкретные классы устройств. То есть можно запретить устанавливать к чёртовой бабушке всё, что не USB Mass Storage. Это требует некоторой компетенции, но вполне выполнимо. Вкупе с грамотным планированием сети (мы же не будем кого попало пускать во внутреннюю сеть организации, правда? Мы же не дураки какие-то чтобы так делать) эти две меры перекрывают этот вектор риска почти целиком.

В комментариях к заметке, которая вызвала к жизни данный пост, уважаемый автор говорит, что, дескать, так как заражённое устройство представляется оборудованием совершенно стандартным, то воспрепятствовать его установке никак нельзя. Он, естественно, заблуждается, если у вас нет прав на установку новых устройств, то системе абсолютно безразлично есть драйвер или нет. Это, знаете, как с автомобилем. Вы можете проникнуть в гараж, в сам автомобиль, но всё равно никуда не уехать, т.к. из автомобиля слили всё топливо и сняли аккумулятор. Я предлагаю всем желающим провести эксперимент: запретить какое-либо устройство на своей машине и удалить его. Драйвер, смею вас заверить в системе останется, однако до того как вы разрешите устройство обратно хоть обпереподключайтесь — оно не заработает.

Всё та же википедия нам любезно сообщает несколько векторов атаки. Имитация клавиатуры и сетевой карты? Мы перекрыли это, они не установятся и работать не будут. Выход из виртуального окружения? Гм, простите, а вы уверены, что надо подключать что попало к гипервизору? Я уверен, что НЕ надо и любой человек, ответственный за информационную безопасность скажет ровно то же самое. Это тоже мимо, с неизвестно чем при наличии реальной тайны, хоть коммерческой, хоть государственной, мы работаем на отдельных выделенных специально физических машинах. Ах да, загрузка с вредоносной флешки. Мне, право, несколько неловко, но я об этом уже писал. Даже дважды. Secure Boot. Рабочий компьютер, который грузится с бог знает чего? Перечитайте первую половину предыдущего абзаца.

В принципе, нормальные потребительские материнские платы уже умеют даже защищаться от флешек — убийц, просто обрубая питание при превышении тока или напряжения. Однако, защитится от подобных устройств ещё проще — продаются готовые «кондомы», причём чуть ли не на развес. Проверить их работоспособность можно собрав киллера собственноручно, это уровень студента политеха курса эдак второго. Он же сможет, кстати, спаять и сам «кондом». Что мешает фасовать готовые аппаратные комплексы для защищённых станций, если позарез необходима работа именно с чужими устройствами? Я не знаю, стоимость сборки из готовых компонентов да сами готовые компоненты для любой конторы национального масштаба это семечки. Стоимость E-mail рассылки по филиалам с инструкциями как всё оборудовать на месте может себе позволить даже Силенд.

Это, кстати, не единственное решение. Можно изготовить микроконтроллер, который будет модерировать проходящие через него данные USB. Это только в качестве примера. Можно использовать компьютеры с экзотической архитектурой или экзотическими ОС, что для нас одно и то же. По сути это всё то же препятствование запуску вредоносного виртуального устройства. Вариантов решения вопроса чёртово множество, одно из которых — освойте уже системы электронного документооборота и контроль целостности, наконец, и прекратите этот флоппинет в 21-то веке. И не защищайте тех, кто настаивает на решениях времён ардипитеков. Тем более, что CD в своё время тоже доставили пользователям немного радости.

P.S. Вы, конечно, можете меня спросить, мол, @ahovdryk, а как же домашний пользователь? А никак, он в заднице. Особенно если сидит под рутом и суёт в свой компьютер что попало.

BadUSB, первые подробности и возможные контрмеры

infected_usb

На конференции BlackHat, которая проходила в Лас Вегасе 2-7 августа, сотрудниками компании SRlabs был представлен доклад под названием “BadUSB“, который был посвящен уязвимости USB контроллеров. Поскольку информация о докладе уже проходила по Интернет СМИ, я не буду пересказывать все, сосредоточусь на основном: сонм USB устройств (планшеты, смартфоны, флешки, камеры, гарнитуры, принтеры и т.д.), к которому мы так привыкли в повседневной жизни может стать новым вектором кибер-угроз. Проблема заключается в том, что атакующие могут инфицировать не только файловую систему (к чему мы уже привыкли и более-менее научились защищаться), но также возможна модификация прошивки (firmware) USB устройств. Взгляните на слайд ниже:

badusb1

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

BadUSB серьезно расширяет возможности атакующего, взгляните на перечень возможных сценариев:

badusb2

А теперь о главном – о контрмерах.

Как только информация о BadUSB была опубликована в Интернете, некоторые игроки рынка DLP поспешили заявить о том, что их продукта будет достаточно для защиты от подобных угроз. Фактически заказчикам предлагалось ввести ограничение на использование устройств из “белого списка”. Мера правильная, но недостаточная (смотрите слайд выше). Почему? Потому, что “белые/черные списки” не защитят систему в случае если сотрудник подключит уже инфицированную разрешенную флешку. Этого будет достаточно для того, чтобы инфицированная система стала “нулевым пациентом”. К тому времени когда департамент ИБ обнаружит угрозу все USB устройства из “белого списка” будут инфицированы. Исследователи в своем докладе отмечают, что ограничение на использование определенных устройств само по себе не может быть достаточной мерой, хотя бы потому, что полностью исключить USB заказчик не сможет, а оставшиеся устройства рано или поздно могут быть инфицированы.

Я исхожу из тех соображений, что запущенный эксплойт уже скомпрометировал систему (либо модифицировал BIOS, либо внедрил руткит в системный процесс). Если это уже произошло – мы не имеем права полагаться на те защитные средства, которые запущены из-под ОС. Фактически, ни DLP, ни классический антивирус пока не могут дать гарантии, что злоумышленник не сможет украсть данные из целевой системы. Что нужно предпринять пока разработчики не реализовали эффективного метода проверки прошивок USB устройств?

Мои рекомендации:

(частично они будут опираться на содержимое доклада, частично – на мой опыт работы с решениями McAfee)

  1. отключить автоматическое обновление BIOS конечных точек, отключить загрузку с USB, защитить BIOS паролем;
  2. пользователи McAfee VSE могут использовать функционал Access Protection Policy* для усиления защиты ОС от перехвата системных процессов, паролей и т.д.;
  3. пользователи McAfee Device Control/DLPEndpoint могут использовать “черные/белые” списки USB устройств, однако этого не достаточно;
  4. там, где это возможно отключить авто обновление прошивки (МФУ, принтеры, сканеры);
  5. по возможности задействовать McAfee Deep Defender**, который позволит защитить ОС от выполнения эксплойта с BadUSB.

* Теперь пару слов почему я акцентирую внимание на разработках McAfee.

Во-первых , пока обычные (классические) антивирусы не научились сканировать firmware USB устройств, соответственно нет сигнатур, по которым можно было бы детектировать BadUSB и отличать обычные устройства от инфицированных. Функционал Access Protection Policy, о котором незаслуженно забывает большая часть пользователей, позволяет отсекать часть атак, направленных на механизмы ОС. К тому же, данные правила применяются для всех запущенных процессов/драйверов, не зависимо от сигнатур . Т.е. пока нет сигнатур эти настройки должны быть активированы, чтобы предотвратить изменение сетевых настроек (которое уже возможно, докладчики представили рабочий PoC), перехват системных процессов и т.д.

Во-вторых , пока разработчики популярных ОС не осознали критичности BadUSB и не внедрили возможность блэклистинга подключаемых устройств, нужно использовать McAfee Device Control, который позволит отсекать “чужие”/недоверенные устройства как по serial number, VIP/PID так и по классу. Исследователи отмечали в докладе одной из проблем блеклистинга то, что не все устройства имеют уникальный sn. Это правда. Частично эту проблему можно решить если отталкиваться не от sn, а от комбинации vendor IS/product ID либо от класса устройства, что позволяет делать McAfee Device Control / DLP Endpoint, см. слайд ниже:

devicecontrol

В-третьих , только McAfee, благодаря алиансу с intel, располагает средствами анализа выполняемого кода, которые не зависят от ОС и работают параллельно. Я говорю о McAfee Deep Defender, который использует возможности процессоров Intel, а конкретно Intel-VT. Фактически, Deep Defender является развитием идеи руткита т.н. blue pill от Joanna Rutkowska , которую McAfee повернули против самих руктитов. Фактически, Deep Defender является гипервизором первого уровня, внутри которого функционирует ОС. За счет такой архитектуры все атаки, направленные на уязвимости ОС (zero-day) а также атаки на BIOS, MBR и .т.д. будут перехватываться и блокироваться Deep Defender`ом. А поскольку он сам запускается не из-под ОС, соответственно атаки, направленные на отключение/обход классических антивирусов ему не страшны, т.к. он не зависит от ОС, которая является целью атакующего.

Пока только McAfee может предоставить такой инструмент. Остальные игроки AV/ИБ рынка могут предложить только классический антивирус, надежность которого зависит от стойкости ОС, из-под которой он запущен. (а мы с вами знаем, что любая ОС, как комплексное ПО, всегда будет содержать в себе уязвимости)

Важно то, что Deep Defender может работать параллельно с классическим антивирусом.

Таким образом, для полноценной защиты, конечные точки предприятия должны быть закрыты следующим перечнем ПО:

  • McAfee Deep Defender – защитит от эксплойтов BadUSB, упредит модификацию BIOS
  • McAfee Device Control/DLP Endpoint – позволит ограничить использование USB устройств
  • McAfee VSE – будет отсекать базовые атаки на механизмы ОС, не используя сигнатуры (которых пока на BadUSB ни у кого нет

Я бы еще добавил McAfee Drive Encryption, который позволит сразу “убить двух зайцев”:

  • обеспечить защиту от НСД и pre-boot аутентификацию;
  • защита системного раздела и раздела с данными от модификации/кражи в случае когда целевую систему систему загружают с live CD/USB.

Если на шифрование бюджета не хватает – можно обойтись отключением загрузки с внешних накопителей в BIOS и защитой настроек последнего паролем.

В случае использования DLP Endpoint, я также советую на усиление дать ему File & Removable Media Protection (выборочное шифрование файлов и каталогов), которое будет последним эшелоном обороны – даже если эксплойт BadUSB сможет скомпрометировать систему, связка DLP Endpoint + выборочное шифрование позволит шифровать критичные данные при сохранение их на USB, не зависимо от того, кто отдал команду на копирование – пользователь или эксплойт. Даже если данные и покинут систему, воспользоваться ими злоумышленник не сможет. Эту связку я особо рекомендую тем, кто не может воспользоваться DeepDefender. (в случае использования устаревших CPU или версий ОС)

Не смотря на серьезность угрозы и отсутствие специализированых мер на текущий момент, только McAfee может предоставить набор решений, которые уже могут защищать и предотвращать распространение BadUSB. Я лишь делюсь опытом и рассказываю о том, как можно использовать технологии McAfee. Решение принимать Вам.

Презентация доклада BadUSB (pdf файл, ~1.2 Mb)

Более детальная информация о McAfee Deep Defender

Будьте предельно осторожны и помните о BadUSB каждый раз, когда подключаете свое %device_name% к USB порту.

Очень плохая флешка. Разбираем атаку BadUSB в деталях

Об ата­ках BadUSB «Хакер» уже не­однократ­но писал. Сегод­ня мы раз­берем кон­крет­ный при­мер реали­зации такой ата­ки, под­робно опи­шем устрой­ство вре­донос­ной флеш­ки, при­ведем записан­ный на нее код и обсу­дим, как зас­тавить поль­зовате­ля Windows или Linux под­клю­чить ее к сво­ему компь­юте­ру.

BadUSB — это целое семей­ство атак на USB-порт, при которых под­клю­чаемое устрой­ство выда­ет себя за дру­гой девайс, нап­ример:

  • HID-устрой­ство (кла­виату­ра или мыш­ка);
  • Ethernet — сетевая кар­та;
  • Mass storage (съем­ный накопи­тель).

На­ибо­лее инте­рес­ны пер­вые два вари­анта. В сегод­няшней статье мы рас­смот­рим вари­ант с HID-устрой­ством, а в сле­дующей — с сетевой кар­той. Вари­ант с HID-устрой­ством — это одна из нем­ногих физичес­ких атак, тре­бующих соци­аль­ного фак­тора, то есть успех зависит от дей­ствий поль­зовате­ля. Одна­ко я вижу еще одно при­мене­ние, не тре­бующее явно­го учас­тия челове­ка. Но обо всем по поряд­ку.

info

Эта статья — часть серии пуб­ликаций о прак­тичес­ких при­емах взло­ма и атак с исполь­зовани­ем под­ручных устрой­ств, которые мож­но соб­рать дома. В этих матери­алах мы рас­кры­ваем прос­тые спо­собы получе­ния несан­кци­они­рован­ного дос­тупа к защищен­ной информа­ции и показы­ваем, как ее огра­дить от подоб­ных атак. Пре­дыду­щая статья серии: «Кро­кок­ряк. Сни­маем тра­фик с витой пары обыч­ными „кро­коди­лами“».

Теория

Итак, BadUSB-HID — это ата­ка, при которой под­клю­чаемое к пор­ту USB устрой­ство зап­рограм­мирова­но, как кла­виату­ра (реже — как мышь), но при этом таковой не явля­ется. И имен­но в обманчи­вос­ти внеш­него вида и кро­ется эле­мент соци­аль­ной инже­нерии.

Са­мый популяр­ный форм‑фак­тор такого устрой­ства — флеш­ка. Но, учи­тывая неболь­шие габари­ты самого девай­са, оно может быть встро­ено куда угод­но — будь то веб‑камера или даже USB-про­вод (O.MG Cable). Под­ходящую фор­му устрой­ства зада­ет кон­текст, пос­коль­ку выбор дол­жен быть опти­маль­ным в той или иной ситу­ации.

Ми­ниатюр­ное устрой­ство с кон­трол­лером кла­виату­ры сра­зу пос­ле под­клю­чения выпол­няет про­изволь­ные нажатия кла­виш. Воз­можность заранее зап­рограм­мировать эти самые нажатия обыч­но исполь­зует­ся для вво­да той или иной коман­ды ОС с помощью соот­ветс­тву­ющих горячих кла­виш, нап­ример Win-R или Alt-F2.

BadUSB-HID — это ата­ка:

  • на раз­бло­киро­ван­ные ПК — под­бра­сыва­ние флеш­ки и мгно­вен­ный RCE; ата­ка тре­бует при­ман­ки для поль­зовате­ля, что­бы тот под­клю­чил устрой­ство к ПК;
  • заб­локиро­ван­ные ПК — незамет­ное под­клю­чение флеш­ки и отло­жен­ный RCE; ата­ка тре­бует незамет­ного раз­мещения устрой­ства и отсутс­твия кон­тро­ля над ата­куемой машиной в момент под­клю­чения.

В каж­дом слу­чае мы име­ем шанс получить RCE, а зна­чит, игра явно сто­ит свеч. При этом сама ата­ка обла­дает край­не высокой ско­ростью, так как нажатия про­изво­дят­ся дос­таточ­но быс­тро. Впол­не воз­можно, поль­зователь даже ничего не заметит.

Аппаратная часть

На мой взгляд, реша­ющий фак­тор при реали­зации девай­са BadUSB-HID — это его дешевиз­на и прос­тота про­изводс­тва. Пос­коль­ку харак­тер исполь­зования под­разуме­вает под­бра­сыва­ние таких фле­шек, для нас это ста­новит­ся рас­ходным матери­алом.

Нес­коль­ко прос­тых и извес­тных решений для эму­ляции кон­трол­лера кла­виату­ры пред­став­лены в сле­дующей таб­лице.

За­чем заказы­вать дорогие и прив­лека­ющие вни­мание решения вро­де hak5 (с логоти­пом Rubber Ducky), ког­да все мож­но соб­рать самому и за мень­шую сто­имость? Если все сде­лать пра­виль­но, нам не будет жал­ко рас­сыпать где‑нибудь с десяток таких «фле­шек».

Впол­не оче­вид­ным выбором ста­нет пла­та семей­ства Arduino. Она недоро­га, и еще одно пре­иму­щес­тво в том, что ее дос­таточ­но прос­то купить в спе­циали­зиро­ван­ных магази­нах элек­тро­ники внут­ри стра­ны, то есть в крат­чай­ший срок.

Лич­но для меня куда боль­шей проб­лемой ока­залось раз­добыть кор­пус. Но, воз­можно, если в тво­ем городе нет под­ходящих магази­нов, будет про­ще при­обрести самую дешевую флеш­ку под­ходящих габари­тов и извлечь ее содер­жимое, оста­вив толь­ко кор­пус. Либо же рас­печатать кор­пус на 3D-прин­тере.

Так как боль­шая часть плат Arduino идет с micro-USB-интерфей­сом, необ­ходимо перепа­ять разъ­ем под клас­сичес­кий USB-ште­кер, пос­коль­ку во флеш­ку с нес­тандар­тным интерфей­сом поль­зователь вряд ли поверит. Сама пла­та при этом конс­трук­тивно может быть не прис­пособ­лена под пай­ку ште­кера USB-A, поэто­му мож­но прик­репить его к кор­пусу флеш­ки с помощью клея, а саму пла­ту уже при­паять парой жес­тких про­водов. Тог­да уси­лие при извле­чении флеш­ки пой­дет на ее кор­пус, а не на саму пла­ту.

Что­бы слег­ка умень­шить ширину пла­ты, мож­но отпи­лить пару мил­лимет­ров с каж­дого края в области допол­нитель­ных кон­тактов — они нам не понадо­бят­ся. В ито­ге мы смо­жем умес­тить нашу Arduino Pro Micro в клас­сичес­кий кор­пус для флеш­ки, как показа­но на сле­дующем рисун­ке.

Клавиатура в корпусе флешки

А вот так ата­кующая флеш­ка выг­лядит в соб­ранном виде.

Клавиатура и флешка

Сло­вом, желатель­но, что­бы у нашего устрой­ства было минимум отли­чий от обыч­ной флеш­ки. К сожале­нию, самая мей­нстри­мовая пла­та Arduino Pro Micro не опре­деля­ется в Windows 7 и ниже без «дров», но сей­час «десят­ка» встре­чает­ся уже куда чаще. Если необ­ходима сов­мести­мость с Windows 7 и ниже, то сле­дует при­обрести более дорогую пла­ту Teensy либо что‑то ана­логич­ное. Впол­не веро­ятно, что на момент проч­тения этой статьи появят­ся более под­ходящие аппа­рат­ные решения.

Программная часть

Бла­года­ря встро­енно­му заг­рузчи­ку Arduino под­держи­вает мно­гок­ратную переп­рошив­ку, так что мож­но записы­вать в нее коман­ды пов­торно под каж­дую кон­крет­ную ситу­ацию. По сути, мы будем заливать лишь поль­зователь­ский прик­ладной код.

Прог­раммы, или скет­чи (в нотации Arduino), ком­пилиру­ются под AVR-про­цес­сор и про­шива­ются через USB пос­редс­твом все той же прог­раммы Arduino:

apt install arduino

При работе с эму­ляци­ей кла­виату­ры на Arduino мы при­меня­ем при­мер­но сле­дующий API:

Добавить комментарий

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