#bsd #hate
Обновлять ли блобы или нет?
https://codon.org.uk/~mjg59/blog/p/to-update-blobs-or-not-to-update-blobs/
Человек тут верно описывает все за и против обновления микрокода в
железе. Ты можешь доверять производителю и верить что его обновление
будет исправлять косяки и улучшать безопасность. Можешь не верить, но у
тебя возможно всё равно не будет выбора ухода к другому.
Я вот точно не доверяю ни Intel, ни AMD, но куда деваться? Свои CPU я
сделать не могу. Эльбрус является закрытой экосистемой в целом.
Производители ARM -- всё аналогично. Я могу например не допускать
применений, где всё будет уязвимо: не подключать к Интернету, не
запускать точно недоверенный софт и всё в таком духе. Я знаю, уверен что
у меня в каждом Intel-based компьютере есть Intel ME со своими backdoor.
Но не представляю как их можно эксплуатировать. А даже если как-то и
можно хитрим образом (не знаю, подсунуть шрифты которые являются Тьюринг
полными и через их выполнение что-то спустить в Intel ME и он... да даже
не знаю что он бы мог сделать такого, что мне что-то бы испортило, с
точки зрения безопасности). DoS вот можно сделать -- это да. Не
смертельно для меня.
Но я вот и не обновляю микрокод. Возможно он что-то исправляет в плане
безопасности. Возможно что-то делает только хуже, добавляет backdoor. Я
никак не могу этого узнать. Это полностью закрытое ПО. И я интерпретирую
железку как содержающую ROM. Если железка из коробки не работает (вроде
в каких-то AMD процессорах нельзя было запустить Linux, без обновления
прошивки?), то значит считаем это браком, не работающей моделью железа,
а меня обманули и кинули на деньги, дав не работающий продукт.
Обновление микрокода это равносильно тому, что у меня забрали прежнее
изделие и выдали новое. Я приобрёл вот именно то, что было до этого, я
его использовал годами/месяцами и знаю особенности или просто в курсе
недостатков с которыми готов мириться. Обновил микрокод -- у тебя на
руках уже другое изделие, где внезапно какие-то другие особенности,
баги, глюки, проблемы могут всплыть, но меня прежде всё устраивало, я не
просил замены.
Если железо не работает вообще без загрузки прошивки, то значит
производитель хочет, чтобы я выполнил часть его работы. Загрузите
прошивку во время инициализации драйвера чтобы устройство заработало --
а сам не можешь, экономишь пару копеек на flash/ROM памяти? Считаешь
меня тестировщиком: вывалим на рынок недоделанное говно (как AMD,
который не мог загрузить Linux, если не путаю), пипл схавает, потом
просто обновит микрокод.
Коллега как-то спрашивал: неужели для меня есть разница между тем, что
например есть компьютер с CD-ROM, где ты должен вставить диск, чтобы он
с него загрузился и заработал, и тем, что диск бы был в нём вставлен
заранее и сам привод просто скотчем закрыт. Да! Тут принципиальная
разница! В одном случае предполагается что я управляю устройством,
загружая в него какой-то код, а во втором случае это не предполагается и
мне дают некое законченное готовое к применению изделие. Если в первом
случае будет полностью свободный софт, никакого TiVoization, то наверное
это ok, допустим. Но такого же почти никогда не бывает.
Фигня с обновлением микрокода ещё и в следующем. Вот я такой беру и
wget-ом по ссылке с сайта производителя качаю бинарник для заливки в
CPU. А где гарантия что по моему IP/стране/AS они не подсунут мне
какой-то особенный, не такой как у всех? Можно же будет сделать
целенаправленную атаку supply chain? Когда я в магазине приобретаю CPU,
то можно подсунуть для страны особые CPU, но никто же заранее не знает
кто и когда именно возьмёт в магазине физический процессор? Не, конечно
же тоже можно сделать, но сильно дороже и нужно быть сильно большой шишкой.
И вот когда OpenBSD (c42a501865e4a91b8fa172840f9a0d35935fde90) без
спросу полезла после установки в Интернете качать прошивку для CPU, то
это абсолютно недопустимейший пиздец. Именно после этого момента я
никогда не буду рассматривать данную ОС для чего бы то ни было. Да, в
ней много интересного было сделано, но подобные шаги и решения за
пользователя совершенно недопустимы ни под каким предлогом. Причём либо
это самомнение всяких Тео такое огроменное (что наверняка так и есть),
что они считают что производителям процессоров можно доверять а их
пользователи тупые дебилы и доверять им нельзя, либо это выглядит вообще
как закладка: отчитываемся кто только что поставил OpenBSD, если что и
сразу можем подсунуть особую firmware, атаковать по сути.
У меня Meltdown/Spectr-уязвимые процессоры и я не включаю software
mitigation для них. Я просто понимаю, что у меня дырявое говно от Intel,
на котором нельзя безопасно гонять чужой код, явно недоверенный софт. Я
и не гоняю.
[оставить комментарий]