Расскажу отдельно, если хотите, после статьи о 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 сотоварищи только маркетологов одних — с небольшой город, бороться с ними толку никакого. Никакой паранойи, простой здравый смысл, не нужны тебе лично эти «умные» вещи — не покупаешь их и все. Проблемы начнутся, когда «глупых» вещей хорошего качества не останется, как это уже произошло с телефонами с физической клавиатурой.
Истинно так. Intel уже портратила на продвижение IoT сольдный маркетинговый бюджет, но на выходе пока только такой же маркетинговый буллшит. Существующие решения M2M никуда не денутся (там в индустрии за подключение машин к глобальной сети без надлежащей изоляции просто увольняют), а весь этот Internet of Trash обязательно приведет к тому, что у обыкновенного пользователя вместо пары уязвимых устройств появится пара десятков. Вывод простой — голосуем ногами, пусть весь этот IoT просто проходит мимо.
Пожалуйста, спасибо, что читаете.
Если с этой части начинать, мои тексты никто читать не станет — все разбегутся читать первосточники, там ведь картинки и PDFки, а у меня тут текст голимый и шутки несмешные. ;)
Это возможно и теоритически, и практически, но некоторые производители сознательно прячут эти настройки от пользователя, не желая описывать их в документации, либо специально блокируя возможность смены ключей, как это сделано на смартфонах и планшетах Microsoft.
Я постараюсь рассказать подробнее о настройке SecureBoot в отдельно посте, прошу только подождать немного.
Попробуйте переключить все опции Launch… Option ROM в UEFI Only, перезагрузиться и отключить CSM — должно сработать. Обычно CSM не дает отключить себя если VBIOS загружен, но нармальные реализации UEFI предупреждают об этом сообщением при попытке отключить CSM.
Пожалуйста, спасибо, что читаете.
Насколько — не могу сказать точно, мало опыта использования coreboot, но заведомо меньше, т.к. кодовая база намного компактнее и никто не пытается добавить в прошивку все, до чего руки дотянулись и компилятор смог собрать. Будет время — попробую разобраться получше.
Подходящая платформа для параноика сильно зависит от степени паранойи, кому-то достаточно ARM без TrustZone (хотя их таких пойди еще найди теперь), кому-то можно посоветовать OpenRISC (только вот всего 2,5 процессора ровно одной маленькой компании — это очень грустно), кто-то может посмотреть в сторону отечественных решений или китайских MIPSов (это если вам свои бэкдоры милее чужих).
Пропустил, каюсь. Их исправили еще пару лет назад и я давно про них не слышал, вот и забыл.
Для тех, кто не в курсе: суть атаки в том, что обновление и PK и KEK, и db с dbx возможно не только из BIOS Setup, но и из ОС, и в правильной реализации для обновления PK и KEK нужен текущий PKpriv, а для обновления db и dbx — KEKpriv. На некоторых старых реализациях при проверке подписи этих обновленных ключей можно было организовать переполнение буфера ии получить доступ к NVRAM, а дальше просто заменить или удалить PK. Проблему нашли и исправили достаточно быстро, еще в 2012 году, и с тех пор о ней больше не слышно. Прошу прощения, что я про нее забыл.
Ситуация такая в основном потому, что SecureBoot по прежнему очень редко используется, от этого он недостаточно протестирован и потому кривые реализации продолжают быть кривыми — просто никто не знает о том, что они кривые. При этом SecureBoot — единственная нормальная защита от вредоносных OROMов и загрузчиков, и без него на любой системе можно загрузить UEFI Shell и натворить кучу неприятных дел.
Вместо распространения вестей о том, что SecureBoot — это злодейское изобретение MS для ограничения свободы пользователя, нужно распространять знания о том, как им пользоваться правильно, как сгенерировать свои собственные PK и KEK, как удалить предустановленные, как подписать собственный загручик и так далее. Я напишу об этом статью после окончания этого цикла.
Появятся, конечно, рано или поздно, так или иначе.
Но на данный момент "юзерленд по прежнему в полной Ж", а разработка вирусов для Windows стоит дешевле и окупается быстрее, чем разработка руткитов для UEFI.
Главное, что о безопасности задумались вообще, а то ведь 10 лет до этого сидели с открытой на запись микросхемой и не парились совсем, а теперь вот то одну уязвимость закроют, то другую.
Не вернут, и дело точно не в работе, скорее в том, что решения. принятые более 10 лет назад, изменить будет не так просто. Кто о безопасности NVRAM уже задумался — у тех есть и его резервное копирование, и защита от разрушения, и восстановлние после сбоя, и возможность преноса в отдельную микросхему, но массовому рынку это все просто не нужно — «работает, и слава Богу».
Исследуют, но такие косяки обычно исправляют молча, т.к. IBV не дают разрешение на публикацию деталей уязвимости. Самое смешное, что скрываться в данном случае не только вредно со всех точек зрения, кроме маркетинговой, но и совершенно бессмысленно — о том, что какая-то уязвимость исправлена, можно узнать банально исследуя разницу между двумя версиями прошивки. Причем делать это можно не только вручную, но и автоматически, благодаря проекту Тедди Рида Subzero.io.
Про другое. Понятно, что розеткусы не следует использовать для подключения мощных нагрузок, вроде чайников или микроволновок, но я сейчас про отсутсвие защитного зануления (оно же «заземление», если по простому). Без заземления на всем подряд будет скапливаться статический заряд, и рано ли поздно статикой начнет бить людей (это неприятно, но не смертельно) и технику (а она от этого, бывает, ломается, причем внезапно).
Про то, зачем оно все MS — они усиленно продвигают безопасность, начинающуюся с аппаратного уровня: measure boot, шифрование дисков, вот это все. Особенно сильно хотят закрыть Windows Mobile, где SecureBoot и TPM 2.0 — теперь обязательное требование, и обе технологии даже отключить не позволяют на консумерских устройствах.
Технология внедерна уже давно, только для ее использования нужно еще одно вычислительное устройство помимо процессорных ядер общего назначения. ME, к примеру, начиная с первых Core способно выполнять подписанные Intel Java-апплеты в безопасном окружении, но популярности это решение не снискало, т.к. для его использования нужно покупать не самую дешевую лицензию и SDK, да и доверие пользователя к системе такая односторонняя криптография подрывает окончательно.
Дело в том, что Intel не готова вот так взять и отказаться от рынка тех, кому ОС Microsoft не нужны и даром, да и поддержка PKI, необходимой для такого рода защиты, будет стоить Intel слишком дорого, плюс многие откажутся покупать такие процессоры из за недоверия. Я бы тоже не стал доверять Intel подписывать ни мою прошивку, ни мою ОС, если ключами в криптографической защите нельзя управлять — это защита от пользователя, а не от вредоносного кода.
Computrace якобы отключается, но драйверы его продолжают загружаться каждый раз, поэтому я предпочитаю полное удаление такого рода компонетов из прошивки, а на этом ноутбуке это невозможно из за Boot Guard'а.
Спасибо, Lenovo, но нет.
Если с этой части начинать, мои тексты никто читать не станет — все разбегутся читать первосточники, там ведь картинки и PDFки, а у меня тут текст голимый и шутки несмешные. ;)
Я постараюсь рассказать подробнее о настройке SecureBoot в отдельно посте, прошу только подождать немного.
Насколько — не могу сказать точно, мало опыта использования coreboot, но заведомо меньше, т.к. кодовая база намного компактнее и никто не пытается добавить в прошивку все, до чего руки дотянулись и компилятор смог собрать. Будет время — попробую разобраться получше.
Подходящая платформа для параноика сильно зависит от степени паранойи, кому-то достаточно ARM без TrustZone (хотя их таких пойди еще найди теперь), кому-то можно посоветовать OpenRISC (только вот всего 2,5 процессора ровно одной маленькой компании — это очень грустно), кто-то может посмотреть в сторону отечественных решений или китайских MIPSов (это если вам свои бэкдоры милее чужих).
Для тех, кто не в курсе: суть атаки в том, что обновление и PK и KEK, и db с dbx возможно не только из BIOS Setup, но и из ОС, и в правильной реализации для обновления PK и KEK нужен текущий PKpriv, а для обновления db и dbx — KEKpriv. На некоторых старых реализациях при проверке подписи этих обновленных ключей можно было организовать переполнение буфера ии получить доступ к NVRAM, а дальше просто заменить или удалить PK. Проблему нашли и исправили достаточно быстро, еще в 2012 году, и с тех пор о ней больше не слышно. Прошу прощения, что я про нее забыл.
Вместо распространения вестей о том, что SecureBoot — это злодейское изобретение MS для ограничения свободы пользователя, нужно распространять знания о том, как им пользоваться правильно, как сгенерировать свои собственные PK и KEK, как удалить предустановленные, как подписать собственный загручик и так далее. Я напишу об этом статью после окончания этого цикла.
Но на данный момент "юзерленд по прежнему в полной Ж", а разработка вирусов для Windows стоит дешевле и окупается быстрее, чем разработка руткитов для UEFI.
Главное, что о безопасности задумались вообще, а то ведь 10 лет до этого сидели с открытой на запись микросхемой и не парились совсем, а теперь вот то одну уязвимость закроют, то другую.
Исследуют, но такие косяки обычно исправляют молча, т.к. IBV не дают разрешение на публикацию деталей уязвимости. Самое смешное, что скрываться в данном случае не только вредно со всех точек зрения, кроме маркетинговой, но и совершенно бессмысленно — о том, что какая-то уязвимость исправлена, можно узнать банально исследуя разницу между двумя версиями прошивки. Причем делать это можно не только вручную, но и автоматически, благодаря проекту Тедди Рида Subzero.io.