Pull to refresh
313
0
Николай Шлей@CodeRush

Firmware Security Engineer

Send message
1. Понятно, что писать можно и нетрудно, непонятно только, зачем. Мне тоже приходится писать на ассемблере там, где PIC не завезли (пользуясь случаем, шлю разработчикам архитектуры amd64 охапку лучей добра за RIP-относительную адресацию), но вот так брать и писать на нем программу для UEFI Shell — больше похоже на фанатизм, дух старой школы и вот это все. :)
2. EBC пока не реализован ни на каких архитетурах, кроме i386, amd64 и Itanium, да и компилятор дают только за деньги, так что толку от него крайне немного.
3. Спасибо.
Все это здорово, конечно, только зачем на ассемблере писать то, что можно написать на C в 10 строк? Ничего специфичного для архитектуры там нет, а для ARM и PPC программу уже не собрать.
Сталкивался, два дня терпел, надоело, вернулся на 8.1 на рабочем ПК, поставил Xubuntu на развлекательный ноутбук. Пусть ищут бетатестеров в другом месте.
Заявляют они это давно уже, а по факту даже «особы, приближенные к императору» не получили ни самих прошивок, ни софта для их обновления. Если в конце концов поддержка все-таки будет — отлично, но пока я бы на нее не надеялся.
Добавлю еще, что даже если сесть и исправить все у себя, завтра от IBV снова придет обновление с неисправленным, поэтому исправить у себя мало — нужно сообщить об ошибке «наверх», а это порой занимает больше времени, чем собственно разгребание предупреждений и исправление ошибок. К счастью, опыт показывает, что на сообщения об ошибках, найденных статическим анализатором, IBV реагируют быстро и правильно.
Приведу свою статистику, которую набрал, проверяя разные реализации UEFI, до которых есть или был доступ: на 1000 предупреждений около 50 — самые настоящие ошибки, причем некоторые классы предупреждений таковы, что практически сколько их — столько и ошибок (оператор запятая в условии, к примеру).
Остальное либо хитрые отладочные макросы, которые раскрываются в (BOOLEAN)(1 == 0) в релизном билде, либо преобразование типов у левого выражения вместо правого (наркомания, но работает), либо преобразования с потерей знака, либо сдвиг отрицательных чисел (UB, но работает), и тому подобное.
Да, нужно фильтровать вывод, но после того, как он отфильтрован, жить становится значительно легче, особенно если гонять анализатор не раз в год, а на каждом релизном билде (но на такое счастье мне пока денег не дают).
Плата какая-то непонятная: поставь на нее слот SODIMM DDR3L вместо убогого модуля на 1 Gb — и будет почти хорошо, а сейчас Windows 10 в списке поддерживаемых ОС выглядит как издевка.
Формы для комментариев вполне достаточно (и та на 90% сайтов не нужна и блокируется предназначенными для этого расширениями), а встраивать чятик в браузер — хорошая идея, но только в случае, если этот чатик можно будет отключить сразу и на совсем и никогда больше не видеть на сайтах, где никакая социальная фигня не нужна, но присуствует, т.к. это теперь модно, эту самую социальную фигню.
Нашел правильный перевод в этой публикации: расфазировка тактового сигнала.
Я не думаю, что там наберется на целую статью, поэтому отвечу тут.
Spread Spectrum Modulation — это снижение спектральной плотности сигнала генератора частоты путем «размазывания» её вокруг нужного значения. Нужно оно по идее для того, чтобы снизить уровень электромагнитного излучения от устройства, но на самом деле он приводит не к снижению, а к перераспределению энергии ЭМИ по другим частотам, т.е. по факту только нужен только для обмана тестовых стендов FCC, при этому он вызывает Clock Skew (я не знаю, как это перевести правильно, пусть будет сдвиг частоты) и потому мешает разгону и работе процессора на высоких частотах. В английской вики написано более подробно.

Про fTPM и отладку по USB — у Microsoft есть разные уровни сертификации систем на совместимость с разными технологиями Windows. Некоторые из них, вроде отладки по USB, конфликтуют с дизайном SoC и требованиями других компаний, поэтому для сертификации собирают специальный BIOS, нужным образом настроенный, проходят ее, после чего BIOS этот складывают на полку до следующей сертификации. Не буду показывать пальцем на тех, кто так делает, но посоветую просто взять и сравнить требования MS (гуглятся) и то, что реализовано (и включено/отключено в конфигурации по умолчанию) на сертифицированных системах — отличия находятся почти всегда.
Такое ощущение, что добрая половина пишуших про эту «проблему» специалистов — лицемеры чистой воды.
В чем виноваты программисты? В том, что успешно решили задачу пройти тестирование на соотвествие какой-то спецификации, которая несовместима ни с законами физики, ни со здравым смыслом, и писали которую менеджеры-экологи, а не инженеры-двигателисты? Чем это отличается от всем известной настройки Spread Spectrum Modulation в BIOS Setup, которую включают, чтобы пройти тестирование на ЭМ-безопасность, а потом выключают при нормальной работе? Чем это отличается от таких же настроек для fTPM и отладки по USB, которые нужны, в основном, только для получения наклейки Windows 10 Ready более красивого цвета?
Процесс тестирования нужно постоянно менять и развивать, иначе тестирование смогут и будут обходить вот такими решениям, как у VW.
Надеятся на чью-то честность там, где на кону стоят миллионы долларов — фантастическая глупость и наивность. Более того, я уверен, что и другие автопроизводители занимаются тем же самым уже лет 30-50, а VW банальнно решили валить.
У меня сейчас очень сдвинутое представление о том, что уже есть на рынке, а чего еще нет, т.к. большая часть железа попадает ко мне почти сразу после появления инженерных семплов. Т.е. сначала ты отлаживаешь какой-нибудь SoC полгода, и сыт им уже по горло, а потом вдруг выясняется, что его даже не представили официально еще. :)
Расскажу отдельно, если хотите, после статьи о SecureBoot. Изменений там с 1.2. не слишком много, самые заметные: смена алгоритма хеширования на SHA-256, добавление интерфейса через ACPI, появление «программных» TPM внутри SoC'ов. Есть еще некоторые, но чтобы рассказать о них что-то конкретное, мне нужно освежить в голове прочитанную полгода назад спецификацию, сейчас я их просто уже не помню.
Про то, зачем оно все MS — они усиленно продвигают безопасность, начинающуюся с аппаратного уровня: measure boot, шифрование дисков, вот это все. Особенно сильно хотят закрыть Windows Mobile, где SecureBoot и TPM 2.0 — теперь обязательное требование, и обе технологии даже отключить не позволяют на консумерских устройствах.
Правильно вполне, но я не думаю, что дело зайдет дальше PoC в обозримом будущем — технология слишком новая и не слишком распространенная, писать для нее зловредные модули просто слишком дорого.
Пожалуйста, спасибо, что читате.
Технология внедерна уже давно, только для ее использования нужно еще одно вычислительное устройство помимо процессорных ядер общего назначения. ME, к примеру, начиная с первых Core способно выполнять подписанные Intel Java-апплеты в безопасном окружении, но популярности это решение не снискало, т.к. для его использования нужно покупать не самую дешевую лицензию и SDK, да и доверие пользователя к системе такая односторонняя криптография подрывает окончательно.
Дело в том, что Intel не готова вот так взять и отказаться от рынка тех, кому ОС Microsoft не нужны и даром, да и поддержка PKI, необходимой для такого рода защиты, будет стоить Intel слишком дорого, плюс многие откажутся покупать такие процессоры из за недоверия. Я бы тоже не стал доверять Intel подписывать ни мою прошивку, ни мою ОС, если ключами в криптографической защите нельзя управлять — это защита от пользователя, а не от вредоносного кода.
AMT полностью отключить нельзя, т.к. она является частью МЕ, который официально тоже отключить нельзя.
Computrace якобы отключается, но драйверы его продолжают загружаться каждый раз, поэтому я предпочитаю полное удаление такого рода компонетов из прошивки, а на этом ноутбуке это невозможно из за Boot Guard'а.
А еще у него в прошивке белый список «совместимых» WLAN и WWAN карт, присуствуют Computrace и AMT, и удалить их оттуда никак нельзя, т.к. прошивка защищена от модификации Boot Guard'ом и придется менять чипсет, чтобы избавиться от этой защиты.
Спасибо, Lenovo, но нет.
С ностальгией вспомнил Электронику УКНЦ и алгоритмический язык КуМир. Всем АЛГ АРГ РЕЗ НАЧ КОН, господа.
В нашем случае — никак, просто не покупать. У Intel сотоварищи только маркетологов одних — с небольшой город, бороться с ними толку никакого. Никакой паранойи, простой здравый смысл, не нужны тебе лично эти «умные» вещи — не покупаешь их и все. Проблемы начнутся, когда «глупых» вещей хорошего качества не останется, как это уже произошло с телефонами с физической клавиатурой.

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Инженер встраиваемых систем, Системный инженер
Ведущий