Как стать автором
Обновить

Комментарии 34

Открывать браузер, чтобы прошить МК? Да еще и мышей что-то тыкать там? No way!
Самый удобный способ — написать в консоли make dfuboot или make flash, да нажать enter. Минимум движений, максимум удобства.
А вообще, интересная тенденция: крайне нужный FTP из браузеров выкидывают (что на мой взгляд — вообще маразм), зато всякие ненужные фичи добавляют… Похоже, пользователей вообще за обезьян держат!

Мир на прошивке микроконтроллеров не заканчивается.

Если можно будет прошить, например, фотоаппарат в любой оси, то это же здорово!

Если можно будет прошить, например, фотоаппарат в любой оси, то это же здорово!

… при этих словах производители всякой малвари радостно закивали, потирая потные волосатые ручонки. "Я же говорил — не мандражуй, Stuxnet ничему их не научит," — прошептал один другому.

Например у Сони прошивка - софт по Винду или мак, заливающий прошивку через USB.

В чем кардинальные отличия в безопасности между прошивкой через официальный сайт и прошивкой через софт с официального сайта?

Для перепрошивки через официальный сайт я предпринимаю целую цепочку решений, начиная от "пойти на офсайт, нажать кнопку "скачать", загрузить файл прошивки, ..., взять USB-кабель, поткнуть в искомый девайс, другим концом воткнуть в компьютер, запустить прошивальщик, нажать кнопку". На каждом шаге этой цепочки до меня может дойти — "а может, я что-то делаю не то?".


А чем меньше шагов, тем меньше причин задуматься и АСТАНАВИТЬСЯ.

Ещё раз. Чем установка с официального сайта через веб опаснее установки через скачанный бинарник?

К тому же в вашем сценарии злодей поимеет жертву в момент запуска экзешника и вреда от взлома ПК куда больше, чем от взлома фотоаппарата.

Нельзя будет ничего прошить, если у вас не стоит специальное ПО! А еще интересней: если «прошивальщик» не поддерживает непосредственную работу с libusb, а работает через модуль ядра.
Да и реализовать код «прошивальщика» на жабоскрипте вместо вменяемой сишечки ­— тот еще маразм.
В общем, не взлетит этот подход для прошивки устройств. Другое дело — веб-морда к устройству, подключенному к локалхосту. Т.к. отпадет необходимость в написании серверного кода, то разработка малость упростится. Правда, стоит лишь захотеть, чтобы к этой железке могли пользователи с других компьютеров подключаться, как все коту под хвост! Опять пиши серверную часть на С + клиентскую на html+CSS+javascript.
Самый удобный способ — написать в консоли make dfuboot или make flash, да нажать enter. Минимум движений, максимум удобства.

Еще более минимум движений и максимум удобств — двойной клик на файле проекта J-Flash и нажатие кнопки F7 :)
1)притащить энтер к микроконтроллеру
2)найти файл проекта
Мне кажется воткнуть usb в смартфон и ткнуть в конкретную прошивку на страничке с поддерживаемыми прошивками проще.
Вообще-то я отвечал на «Самый удобный способ — написать в консоли», но метод с WEB-USB тоже спорный по удобству для неспециалиста :) Не во всех браузерах, не у всех пользователей, да еще, как я понял, нужно в отдельном окне выбрать и подтвердить название девайса.
Взял пользователь устройство, подключил его к смартфону — а в ответ тишина. Ну-ка попробуйте написать понятным домохозяйке языком инструкцию что в таком случае пользователь должен сделать :)
хз, я про задумку, реализацию не пробовал.
Задумка неплохая, согласен :)
Только вот установить весь необходимый для этого стек, ничего не «сломав» — может быть довольно трудно, особенно если компьютер не ваш — а сервис-инженера или вообще пользователя.

Приложенное видео выдает 404

Немного погорячился. Статье явно не хватает реального примера, и не ясно кто её целевая аудитория Было бы замечательно привести пример, как это реализовать. А то в статье только несколько картинок и вставок кода отсюда. Плюс неработающее видео (ребята, у вас видео не работает!)

Ведь сама концепция очень крутая, написали бы статью с реальным примером, для чего это может быть нужно и как использовать.
Стоит у тебя умный(***)
Захотел обновить прошивку? подходишь с мобилой, тыкаешь OTG кабель, у тебя открывается страничка в браузере и предлагает выбрать прошивку. ИМХО удобно.
Идея великолепная. Хотелось бы не текстовый пример, а как такое сделтать, разработать и применить.
Только в «умных» устройствах скорее всего есть беспроводной интерфейс и OTA обновления. Сейчас даже ESP надо прошивать по USB только один раз, дальше можно уже по воздуху (если прошивка умеет, конечно).
Скажем так:
1)Именно умных устройств да, а чего попроще-нет.
2)То, что у умных устройств есть доступ в интернет нехорошо. Поэтому лично я по возможности буду его отключать.
3)В некоторых случаях хотелось бы выбора обновлять или нет. И подключаясь по USB ты точно не перепутаешь устройство, которое обновляешь. А то стоит у тебя 3 умных поливалки… и случайно герани воткнёшь прошивку от кактуса.
Всё верно. Однако для массового рынка производитель скорее BLE чип воткнёт, чем будет заморачиваться с перепрошивкой по USB. А нишевые устройства вполне могут так делать (мой JetHub H1 как раз обновляет прошивку через USB и специальную программу под винду (Amlogic USB Burning Tool), можно это перенести в браузер).
Я тут недавно попробовал таким вот образом к мобилке подключить USB-микроскоп. На ПК он прекрасно опознавался как камера, телефон поддерживает OTG (мышку понимает прекрасно), питание на мелкоскоп подаёт, а устройства не видно.
Статье явно не хватает реального примера, и не ясно кто её целевая аудитория

Вот, например, разработчик Flipper Zero показывал, как легко можно будет прошивать свой флиппер. Большой плюс — не нужно писать драйверы и софт.

Теперь можно написать сайт, прошивающий троянов в контроллеры USB-флешек. Попробовать, что ли?

Попробуйте, у вас не выйдет, скорее всего. Владелец устройства ведь должен перед этим перевести его в режим прошивки? А ещё надо как-то убедить пользователя сначала нажать на кнопку, а затем ещё и выбрать устройство из списка.

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

В большинстве случаев люди сами себе буратины в той или иной степени, когда становятся жертвами мошенников и прочих висельников, повод ли это поощрять последних?

Это один из многих web API, которые не войдут в Webkit и Safari — 
из-за того, что там кошмар с приватностью и безопасностью


Upd: Зато в коде Slack App не только поддержка MIDI устройств, контроллеров Xbox, Bluetooth, чтения-записи NFC меток, API для магнитометра и батареи, но и код для поддержки DFU USB устройств.

Хм, т.е. с этим уже можно мышку и клавиатуру не с ос использовать, а прямо с веб страничкой и отрисовывать курсор только в окне браузера? Куда прогресс-то нас завёл…
На днях видел прошивальщик для nintendo switch который прямо из браузера заливает payload для загрузки с помощью webusb, бывает удобно в дороге

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

Спасибо, интересная статья, не зря время потратил
Ого, как по мне так вообще отличные новости что в браузере вставляют такие вещи. Я вижу одно очень классное применение — удаленная работа с железом. Поставил малину, подключил к ней программатор, уарты отладочные, все средства, подключился к ней браузером своим с другого компьютера (если можно на одном компе рисовать странички, то и на других не должно быть сложно) и работай с железом хоть на работе, хоть дома, хоть из бани. Ибо работать по тимвьюеру достаточно отвратительно, но в браузере уже IDE-шки полноценные делать научились люди. Супер!
Несмотря на то, что ESP можно перепрошить и по воздуху, мне кажется так можно удобно делать первоначальную настройку новых устройств для подключения к WiFi роутеру.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре , чтобы оставить комментарий