Комментарии 35
> Платформы с архитектурой Intel 64 становятся всё менее пригодными для запуска свободного ПО
Это конечно не очень радует
Не всегда, надо заметить. Если в ноутбук еще можно поставить джампер (хоть это будет и неудобно), то в в планшет или смартфон — чаще всего нельзя совсем.
Или другой кейс: вы — техдиректор небольшой компании на десять тысяч человек. И всем нужно срочно обновить биос. Вы лично пойдете переставлять джампера по всем филиалам? Есть и другие кейсы…
Интел выбрали правильный подход. И реализовали более-менее грамотно. Проблема как обычно в вендорах, которые не соблюдают рекомендации.
Если в ноутбук еще можно поставить джампер (хоть это будет и неудобно), то в в планшет или смартфон — чаще всего нельзя совсем.Неудобно производителю. Потому что он после этого не может творить с купленной вами железкой чего захоется в любое удобное для него (а не для вас!) время.
Планшетов или смартфором размером с SD-карту (где джампер был) я не видел, так что всё упирается совсем не в то, что тут какие-то технологические проблемы…
Короче, не в джамперах проблема. А в кривых руках и непрофессионализме.
А то что вы не владеете купленным вами железом — это конечно проблема. Для вас. Потому что большинство остальных это устраивает. Если бы это не устраивало пользователей — они бы не покупали это железо. Обычному пользователю неинтересно ковыряться в этих ваших UEFI и сравнивать глазами SHA256 хеш скачанной прошивки с хешем на сайте производителя. Они хотят что бы всё происходило автомагически. И производители дают им эту возможность.
Но к счастью у вас есть возможность покупать девелоперские железки, где всё (или почти всё) разлоченно, и можно делать с ними что угодно. Хакеры всех эпох всегда оставались на обочине консьюмерского рынка. Это совершенно нормально.
Именно. Только то, что нужно вендору. Желания пользователя тут вообще в расчёт не берутся.
Почему же не берутся? Пользователю хочется что бы оно всё происходило само. Чем меньше пользователю надо думать — тем лучше. Производители именно это и дают пользователю.
Судя по тому, что вам нужен полный контроль над процессом — вы не обычный пользователь. Но, к счастью, на данном этапе развития консьюмерской электроники у вас ещё есть возможность контролировать свои устройства. Просто для этого надо знать чуть больше, чем обычный пользователь. Но опять же, если у вас есть потребность — значит есть и знания. Поэтому всё пока не так страшно.
Производительность на нуле. Где найти девелоперский набор на Intel i7? И как это потом запихать в корпус ноутбука?
Можете купить MSI-йный ноутбук :) Судо по этом посту — там разлоченно вообще всё. Твори — не хочу.
Смотрите, я понимаю вашу позицию. И даже поддерживаю её. Просто я хочу донести простую мысль: мы с вами — не целевая аудитория HP, DELL, Asus. Lenovo, Xiaomi и Apple. Для них — мы маргиналы, хотящие странного. Глупо требовать от них открытости и прочих хакерских ценностей. Этого не надо основной массе их клиентов Надо уметь приспосабливать то что есть для своих нужд.
Было классно, если бы существовал дешевый и мощный компьютер на открытой платформе, которую поддерживает Open Source Community и для которой есть тонны хорошого, надежного и удобного софта. Звучит фантастически, не так ли? :)
Так что актуальность для простых пользователей такой продвинутой защиты, которую совсем никак невозможно отключить, под большим вопросом.
Можено попробовать разнести модифицируемые часто и модифицируемые только при обновлении данные по разным SPI-микросхемам и защитить «джампером» последнюю, но это удорожает производство и разработку платы и прошивки, поэтому массовый рынок этим не заморачивается и, скорее всего, никогда не будет.
В качестве продолжения предлагаю рассмотреть побольше реализаций цепочки доверия, включив Dell и HP, которые давно и относительно успешно занимаются безопасностью своих прошивок, плюс рассмотреть атаки на компоненты самой цепочки безотносительно BootGuard, который защищает только SEC и PEI.
Проблема доверенной загрузки вызвана, в первую очередь:
- реальными зловредами-буткитами;
- реальными злоумышленниками с кратковременным физическим доступом к железу ("evil maid attack");
- необходимостью обеспечения trusted path functionality для критически важных операций типа ввода пароля для полнодискового шифрования.
К паранойе и/или копирастии это отношения не имеет. Все серьезные вендоры давно уже не борются с опенсорсом, а всячески его приветсвуют, т.к. он прямо и косвенно экономит им деньги и повышает лояльность пользователей.
Вендоры скрывают код не от владельцев устройств, а от конкурентов и прочих игроков, которые могут использовать найденные в нем фичи и баги по собственному усмотрению. А тот факт, что те же ME/AMT/… обладают de facto функциональностью бэкдора, это, на минуточку, открытая информация, они для этого и создавались. Вот в смартфонах последнего поколения, помимо пользовательской ОС, присутствует ещё чуть ли не с полдесятка полноценных операционных систем, например, почему же никто не поднимает шум по этому поводу?
Я бы сказал, что это паранойя, если бы не Сноуден и все викиликсы этого кода.
Этот буткит может быть очень скрытный, активироваться по таймеру, периодически. Скажем, можно написать буткит, сканирующий всю RAM в поисках GPG-ключа каждые 5 минут. Он будет работать в SMM, ваша ОС ничего с ним не сможет сделать.
Кроме того, вы путаете Secure Boot, Trusted Boot и Verified Boot. Это разные вещи, и мне кажется довольно глупым, что им придумали такие похожие по смыслу названия.
В статье описывается Verified Boot. Trusted Boot, напротив, не ущемляет ваших прав как владельца, а дает возможность удостовериться, что вся цепочка загрузки не изменилась с момента предыдущего запуска.
Скажем, вы оставили ноутбук в отеле, злоумышленник мог пробраться и подменить загрузчик, а Trusted Boot поможет вам убедиться, что в ваш ноутбук залезали без вашего ведома. Trusted Boot не блокирует ничего сам по себе, он только дает вам возможность проверить цепочку загрузки из вашего кода.
Например, можно выводить значение TOTP на экран и проверять его на другом устройстве — телефоне, планшете. Если значение не совпало, значит, что цепочка доверенной загрузки нарушена. Можно просто автоматически доставать ключ шифрования жесткого диска из TPM, если все PCR-регистры доверенной цепочки совпали, а если не совпали, достать ключ не удастся.
Для GRUB2 есть патч для поддержки Trusted Boot.
Даже GNU не против него:
В настоящее время “модули доверенной платформы” вообще не применяются для цифрового управления ограничениями, и есть основания полагать, что применять их для этого будет невозможно. Как ни парадоксально, это значит, что современные применения “модулей доверенной платформы” ограничены невинными второстепенными приложениями — такими как проверка, что никто не изменил украдкой систему на компьютере.https://www.gnu.org/philosophy/can-you-trust.html
Следовательно, мы приходим к заключению, что “модули доверенной платформы”, доступные для персональных компьютеров, не опасны, и нет оснований отказываться от включения такого модуля в состав компьютера или от поддержки его в системных программах.
Вы доверяете не бинарному блобу — а производителю материнки. А если не доверяете — то нахрена покупали?
Почему нельзя сделать просто и надежно? Скажем так:
1) Ставим 2 микрухи биоса. 1 всегда только в режиме ro без любой возможности записи. 2я обычная.
2) Делаем 2 джампера\тумблера\чего угодно но главное физического. Первый тумблер переключает какая микруха биоса будет работать сейчас(1 или 2я), 2й джампер переключает ro\rw 2й микрухи биоса.
Что в итоге получилось бы:
1) если пользователь параноик то просто обновляет без проблем свой биос на 2й микре как ему угодно и переключает джампер в RO. Финал.
2) Если пользователь массовый то пусть будет какая угодно утилита автообновления в его любимой венде и будет обновлять ему биос 1 кнопочкой в системе или полным автоматом. Естественно с завода джампер должен быть переключен в RW. Финал.
3) Для энтузиастов или любителей поколупать кишки биоса, ковыряйте и шейте такими же штатными средставми что угодно. Сломалось? Переключаем джампер для перехода на микру 1го биоса который всегда в RO, грузимся с него в любимую систему и шьем 2ю микру рабочим биосом, возвращаем все джамперы назад. Финал.
Все были бы довольны, массовый пользователь мог бы и не знать всех этих тонкостей и все бы работало само как должно, гики остались бы довольны тем что могут смело ковырять что угодно и не писаться кипятком от «а если навернется то чем шить, где программатор брать?», параноики остались бы довольными т.к. от них никто не прятал бы бинарные блобы в местах к которым нельзя получить доступ и были бы уверены что никакая сферическая дрянь в вакуме не подсунет им в биос свой коварный код.
Да, я знаю что 2 микрухи биоса любит ставить гигабайт на своих десктопных матерях, меня такие спасали пару раз. Но к примеру, у меня есть ноутбук с солидным железом индусского производста(casper у них, у нас они под видами днсъдекспов и т.д.), в нем стоит довольно не слабая карточка от АМД но вот незадача, биос видеокарты не стали распаивать на видяхе а его ром запихнули в ром биоса. Тут наступает интересный момент, чтобы была возможность пользоваться самыми новыми дровами нужно прошить биос видяхи свеженькой версией, чтобы его прошить надо прошить uefi\биос всего ноутбука и угадайте что? Правильно, все это прибито «гвоздями, сертификатами, всякими секюрами». В итоге я даже с пониманием как все это сделать немогу этого сделать =), на 10ке пришлось долго шаманить чтобы заставить карточку заработать с 1й единственной версией дров и то не без проблем. В целом все работает замечательно но вот только карта амд инициализируется аккурат в конце загрузки винды и в итоге в этот момент я вижу секунд 30 черный экран.
А как вариант того ччто многие производители кастрируют свои биосы оставляя возможность только выставления времени и приоритета загрузки? Раньше можно было чуть подшаманить биоса каким нибудь фениксом и разлочить все нужные пункты. Сейчас ничего не сделаешь чаще всего. В итоге перед покупкой нотбука\материнки добавился пунктик найти и посмотреть что там есть в биосе\uefi\efi.
тем кто будет писать зловреда такого уровня насрать на все эти защиты и он всеравно найдет дыру размером с боинг
Именно поэтому нет смысла закрывать квартиру/автомобиль/сейф на замок и все именно так и поступают, оставляя двери открытыми? :-)
Причины отсутствия нормальной криптографии в противоугонных системах — это больная тема, достойная отдельной теории заговора. Видимо, там сошлись воедино инерция рынка, патентные коллизии пополам с синдромом "not invented here" и квалификацией разработчиков, традиционная для отрасли парадигма "security through obscurity", высокие затраты на разработку при жестокой конкуренции, агрессивный risk management а ля "в среднем и так сойдет", и т.д.
А там Интел не придумали, случаем, механизм отзыва ключей на случай, если их приватный ключ утечёт?
Доверенная загрузка Шрёдингера. Intel Boot Guard