id: Гость   вход   регистрация
текущее время 20:07 11/10/2024
Автор темы: poptalk, тема открыта 11/02/2021 23:44 Печать
Категории: криптография, инфобезопасность, аутентификация, операционные системы
http://www.pgpru.com/Форум/Криптография/TamperResistanceПротивРебёнка
создать
просмотр
ссылки

tamper resistance против ребёнка


Я имел в виду защиту от несанкционированного доступа со стороны малоквалифицированного злоумышленника. Было трудно придумать короткое название для темы. :-) Злоумышленник не может заменить электронику и BIOS компьютера на вредоносные. Он может писать на носители информации в компьютере (SSD) и может заменить электронику и BIOS на другую честную электронику и BIOS. Предположим, материнская плата принимает только подписанные BIOS-ы.


Родилась следующая идея для реализации такой защиты. При включении компьютера пользователь загружает его с флэшки, которая сравнивает криптографический хэш программных файлов в компьютере со значением, которое хранится на самой флэшке. Если они равны, передаём управление ОС в компьютере.


Плюсы, минусы, подводные камни? А может, эта схема уже реализована где-то?


 
На страницу: 1, 2 След.
Комментарии
— SATtva (12/02/2021 10:11)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Примерно это делает trusted boot, который поддерживает большинство UEFI BIOS при наличии TPM (в виде отдельного чипа или при поддержке стандарта со стороны CPU). Безопасность базируется на неизвлекаемости trusted root-ключа из модуля TPM.
— poptalk (18/02/2021 21:19)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Насколько я понимаю, заменить TPM-модуль не проблема.
— poptalk (18/02/2021 21:20)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Кстати, мне не пришло уведомление на почту о вашем комментарии.
— SATtva (19/02/2021 15:44)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

Заменяйте на здоровье, только после этого вы не загрузите систему — ключ в новом модуле будет другой.
— poptalk (23/02/2021 22:38, исправлен 23/02/2021 22:38)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4

Каюсь, Secure Boot я знаю поверхностно. Разве Secure Boot нельзя отключить через настройку BIOS?

— SATtva (24/02/2021 13:40)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Secure Boot имеет смысл в сочетании с дисковым шифрованием (в этом случае TPM обеспечивает защиту от evil maid attack, исключая подмену загрузчика). Если шифрование производится TPM-ключом, то после отключения Secure Boot невозможно будет произвести загрузку.
— poptalk (24/02/2021 16:01)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Secure Boot имеет смысл в сочетании с дисковым шифрованием (в этом случае TPM обеспечивает защиту от evil maid attack, исключая подмену загрузчика).

Не понял как. Я слышал, что шифрование обеспечивает конфиденциальность, а не целостность. А для защиты от вмешательства (tampering) нужна именно целостность.

Кстати, о каком загрузчике вы говорите? GRUB2? В общем, для простоты предлагаю рассматривать схему загрузки, где UEFI BIOS загружает ядро линукса. Ядро и остальная часть ОС могут находиться на разных разделах.

Если шифрование производится TPM-ключом, то после отключения Secure Boot невозможно будет произвести загрузку.

Меня интересует, может ли злоумышленник изменить ОС так, чтобы она выглядела как раньше, но содержала зловредную программу, скажем, кейло́ггер. Злоумышленник может только менять информацию на SSD. Пока не вижу, как достичь этого с Secure Boot.
— SATtva (24/02/2021 17:26, исправлен 24/02/2021 17:37)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

TPM обеспечивает безопасное (со всеми оговорками) хранение ключевого материала и криптографические операции на аппаратном уровне. Secure Boot обеспечивает безопасный путь, связывая аппаратную и программную часть системы. Целостность обеспечивается за счёт последнего. Дисковое шифрование в данном случае лишь препятствует отключению этого механизма.



Я говорю о любом системной загрузчике, совместимом с Secure Boot. Для GRUB2 требуется специальная обёртка, подписанная ключом Microsoft (т.к. ключ подписи MS присутствует в большинстве TPM). Конкретные инструкции по установке зависят от вашего Линукс-дистрибутива, поскольку данная подписанная обёртка загрузчика должна содержать ключи, которыми подписываются дальнейшие компоненты в цепи загрузки (образ ядра, драйверы и т.д.).



Изменить может, но при включенном Secure Boot ОС не загрузится, поскольку будет нарушена подпись ядра. Можно отключить Secure Boot в настройках BIOS, но если системный раздел был зашифрован ключом, который хранится в TPM, получить к нему доступ и загрузить систему станет невозможно.


Secure Boot — это не решение вашей задачи, это один из механизмов для её решения.

— poptalk (24/02/2021 20:34)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Можно отключить Secure Boot в настройках BIOS, но если системный раздел был зашифрован ключом, который хранится в TPM, получить к нему доступ и загрузить систему станет невозможно.

Злоумышленник может поставить свой TPM со своим ключом, и загрузить в BIOS NVRAM свои ключи (platform key и так далее), и в системный раздел записать ОС, зашифрованную своим ключом, верно? Компьютер будет загружаться, Secure Boot будет включён.
— poptalk (24/02/2021 20:37)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Проверка целостности ядра ОС — это только начало пути. Дальше ОС должна проверять целостность всех исполняемых файлов. Поэтому буду благодарен за советы по этой теме для линукса. Пока что нашёл dm-integrity и Linux Integrity Subsystem. Возможно, стоит вынести это в отдельную тему.
— SATtva (24/02/2021 21:12)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

Так он может с тем же успехом заменить жёсткий диск. Какой смысл, если установленная система будет не вашей? Загрузочный пароль он как угадает?
— poptalk (24/02/2021 22:32, исправлен 24/02/2021 22:41)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Так он может с тем же успехом заменить жёсткий диск. Какой смысл, если установленная система будет не вашей? Загрузочный пароль он как угадает?

Через какое-то время я замечу, что система не моя, но уже после того, как введу пароль шифрования. Он получит этот пароль.


Загрузочный пароль вводится в BIOS?

— SATtva (25/02/2021 12:04)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Нет, я говорю о пароле к зашифрованному системному разделу. Смысл в том, что ключ должен формироваться из двух составляющих: хэша пароля и ключевого материала в TPM.
— poptalk (25/02/2021 14:36)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Тогда я вижу следующую атаку. Злоумышленник устанавливает свою ОС на SSD, сохраняя ОС пользователя, и настраивает BIOS так, что BIOS молча загружает ОС злоумышленника. ОС злоумышленника реализует man-in-the-middle, имитируя интерфейс пользователя BIOS, работая с пользователем, TPM, внешними устройствами и ОС пользователя. Не сработает, если материнка не позволяет работать с TPM как с внешним устройством.
— poptalk (25/02/2021 21:40)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
В ходе поиска материалов в интернете узнал, что в современных CPU есть fTPM. Поскольку fTPM неотделим от процессора, это многое упрощает.
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3