LINUX.ORG.RU

шифрование разделом


0

0

Решил поэкспериментировать с шифрованием разделов. И придумал несколько вариантов применения этому. Допустим, у меня важные данные на сервере и я не хочу ими с кем-либо делиться. От кражи хардов это спасёт.

Но беда в том что /boot не зашифрован и злоумышленник может свои ядро и initrd подсунуть. И это ядро после загрузки может отправить пароль куда надо.

Я правильно рассуждаю? Что делать? :)

★★★★★

перед загрузкой выдервгивать кабель, после проверять md5 ядра и initrd, если все нормально - втыкай кабель

z0D5e8n7x_2
()

TPM, trustedgrub, grub-IMA

конечно от злоумышленников в погонах которые знают закладки в TPM это не спасёт, но с другой стороны они и закладки в CPU могут использовать при желании.

pupok ★★
()
Ответ на: комментарий от z0D5e8n7x_2

сервер в дц :). А так я над этим думал. Хотя, если есть физический доступ к тачке то я думаю найдут способ вытащить пароли. Хотя бы, например, заморозкой модулей оперативы с последующим считыванием.

В общем, чем от больших случаев хочешь защититься тем больше гемора, причём гемор как-то экспотенциально растёт.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

> А tpm уже встраивается в обычные мамки? Или тока на ноуты dell?

у меня он встроен прямо в чипсет GM45

> Впрочем, доверия к нему никакого.

по сути это крипто-сопроцессор, и как я уже сказал, доверия к нему ровно столько же сколько к основному CPU и вообще ко всему твоему железу.

И чисто из теоретических соображений (почитай на сайте TCG) такая хардварная защита -- единственный способ обезопаситься от софтверных атак про которые ты говоришь (если hash с ядра будет считать программа -- то её злоумышленник легко пропатчит).

pupok ★★
()

Таскаешь с собой криптотокен, с помошью которого ядро расшифровывает еще одно себя, передает туда управление kexec, а в оном намертво вшит мастер ключ для расшифровки ФС. Нет, это не реализовано ^_^

vasily_pupkin ★★★★★
()
Ответ на: комментарий от Evil_Wizard

> http://www.xkcd.ru/xkcd_img/xkcd538___.png

почитай как устроен виндовый Bitlocker (для Linux тоже теоретически можно тоже самое сделать поковырявшись с trustedgrub): загрузиться может только кошерное ядро с правильным хэшем (его вычисленный TPM-ом хэш используется для расшифровки диска, причём хэш для каждого TPM уникален и в виртуалке всё это дело запускать бесполезно). Поэтому если тебе на работе дали лэптоп, но не сказали root-овый пароль, то дальше своей домашней директории ты не вылезешь, сколько паяльников тебе не вставляй.

pupok ★★
()
Ответ на: комментарий от pupok

>Поэтому если тебе на работе дали лэптоп, но не сказали root-овый пароль, то дальше своей домашней директории ты не вылезешь, сколько паяльников тебе не вставляй.

Паяльник с вероятностью 100% будет применяться к человеку знающему root'овый пароль :)

>почитай как устроен виндовый Bitlocker (для Linux тоже теоретически можно тоже самое сделать поковырявшись с trustedgrub


И собственно какая разница? в любой криптосистеме, самым слабым и уязвимом местом является человек _знающий пароль_\_имеющий палец_\_сетчатку глаза_\_ключ_\_ключ на флешке в сейфе_

Evil_Wizard ★★★
()

Воображение рисует кошмарные картины -- записша шифруется через разделение на 128 независимых листочков, которые раздаются 128 людям, каждый отправляется к адресату своим путем.

vnovouhov
()
Ответ на: комментарий от vnovouhov

Не катит… Уязвимым местом становится подход к дому адресата, там их всех и возьмут…
Надо чтоб адресат сам умел находить нужных людей и забирал у них очередной листочек!

Aleks_IZA
()
Ответ на: комментарий от Evil_Wizard

> И собственно какая разница? в любой криптосистеме, самым слабым и уязвимом местом является человек _знающий пароль

разница в том что это plausible deniability. К тебе с паяльником -- а ты выдаёшь пароль пользователя который не имеет доступа к секретным данным, и у "докторов" нет оснований думать что ты знаешь root-овый пароль.

Все почему-то считают что Truecrypt тоже даёт plausible deniability, но IMHO это не так: человек, знающий архитектуру "внешней FS" сразу поймёт что не хватает кучи блоков, в которых и должен находиться "скрытый" крипто-контейнер.

pupok ★★
()
Ответ на: комментарий от z0D5e8n7x_2

+стопицот. только вот для серверной с десятком машин - немного напряжно, ящитаю

vostrik ★★★☆
()
Ответ на: комментарий от pupok

> И чисто из теоретических соображений (почитай на сайте TCG) такая хардварная защита -- единственный способ обезопаситься от софтверных атак про которые ты говоришь (если hash с ядра будет считать программа -- то её злоумышленник легко пропатчит).
Неправда, можно применить read-only носитель для раздела /boot.
Или можно разместить программу проверки в BIOS (ага, надо использовать свободный биос, чтоб в него пихать что ты хочешь, например проверялку хеша), так что ничего реально нового-полезного в TPM не вижу. Зато опасность есть, так как это одно из направлений для захвата медиакомпаниями контроля над пользователями. Да, только одна стадия, но всё же достаточно опасная. Дело в том, что в TPM содержится Endorsement Key, который не можешь считать ты, но который знает компания-производитель твоего TPM. Если ты не используешь висту (или её мод Windows 6.1), классический TPM не будет соединяться с сервером, если сам не поставишь программу. Но в таком случае, появится у сайтов возможность узнать, запущена ли на твоем компе система DRM или нет (если не запущена, ты не пройдешь авторизацию) и не давать тебе доступ к своим ресурсам, если в твоем компе нет DRM-системы, которая сертифицирована как не взломанная и к тому же, сам её взлом будет заметно сложнее.
И потому желательно железо с TPM не покупать, так как такие сайты не смогут функционировать, если не будет достаточной аудитории с TPM.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

> Неправда, можно применить read-only носитель для раздела /boot.

в смысле ты предлагаешь чтобы сервер в удалённом датацентре грузился с CDROM или с flash-карточки с варварски выдранным переключателем ro/rw? А что мешает злоумышленнику поменять их на "правильный" или запустить загрузку с них в своей виртуальной машине? Ведь если загрузка предполагается без ввода какого-либо пароля с твоей стороны, такой загрузчик в конце концов положит все ключи в память в открытом виде.

> Или можно разместить программу проверки в BIOS (ага, надо использовать свободный биос, чтоб в него пихать что ты хочешь, например проверялку хеша), так что ничего реально нового-полезного в TPM не вижу.

ты видимо не до конца видишь "проблему курицы и яйца" наличиствующую тут. Какая разница, открыт BIOS или нет? Чтобы проверить его hash и hash загрузчика, тебе придётся запустить программу, которая собственно и будет считать hash (она может быть и часть BIOS, если хочешь). А кто её будет запускать? BIOS который мы собираемся проверить? Так что можешь считать что TPM -- это такой read-only blackbox который считает hash, и именно в таком качестве его и предполагается использовать.

> Зато опасность есть, так как это одно из направлений для захвата медиакомпаниями контроля над пользователями. Да, только одна стадия, но всё же достаточно опасная. Дело в том, что в TPM содержится Endorsement Key, который не можешь считать ты, но который знает компания-производитель твоего TPM. Если ты не используешь висту (или её мод Windows 6.1), классический TPM не будет соединяться с сервером, если сам не поставишь программу. Но в таком случае, появится у сайтов возможность узнать, запущена ли на твоем компе система DRM или нет (если не запущена, ты не пройдешь авторизацию) и не давать тебе доступ к своим ресурсам, если в твоем компе нет DRM-системы, которая сертифицирована как не взломанная и к тому же, сам её взлом будет заметно сложнее. И потому желательно железо с TPM не покупать, так как такие сайты не смогут функционировать, если не будет достаточной аудитории с TPM.

это FUD. Несчастный TPM (в том виде, в котором он есть сейчас) -- это всего-лишь крипто-сопроцессор, сам он за пользователем не следит и с сервером не соединяется. Если дорожишь своими данными, privacy и душевным здоровьем -- вообще не используй продукты от Microsoft. Ничто не мешает медиа-компаниям уже сейчас требовать чтобы на твоей машине бежал DRM-менеджер и отказывать тебе в сервисе если он не бежит. TPM лишь даёт им гарантию что ты этот DRM-менеджер не кракнул. Но ты, как честный линуксоид, и не собирался его кракать, ведь так? Да и как ты этот DRM-менеджер под линуксом запустишь?

Да, TPM все пронумерованы. Но и ethernet-карточки все пронумерованы (при желании производитель сделает такую прошивку что macchanger её не возьмёт), жёские диски все пронумерованы, модули RAM все пронумерованы и даже CPU вроде пытались пронумеровать. Заботишься о privacy -- не запускай программы с закрытым кодом. TPM можно доверять не больше и не меньше чем всему остальному твоему железу.

Кстати, TPM-спеки полностью открыты, и если хочешь -- можешь запустить свою винду в xen с vTPM (можно даже на машине без железного TPM вовсе). В таком случае ты сам задаёшь все отрытые/закрытые ключи (хотя конечно будет сразу видно что Endorsement Key выдал не производитель железа, а какой-то мистер Пупкин).

pupok ★★
()
Ответ на: комментарий от pupok

>Несчастный TPM (в том виде, в котором он есть сейчас) -- это всего-лишь крипто-сопроцессор.

Это даже меньше чем крипто-сопроцессор. Это скорее наглухо встроенная в плату самрт-карта cо специфичным функционалом.

Хотя потенциал у него большой: шина LPC - крайне интересная вещь... Она и DMA поддерживает и bus-master'ing. Так что чисто теоретически на ней можно разместить девайс который будет вмешиваться в работу компа.

TPM это крайне простой и дешевый девайс. И именно соображения простоты и дешевизны на данном этапе являются превалирующими. Более того, спецификация TCG предназначена для разнообразного количества платформ, в т.ч. с очень ограниченными ресурсами. Так что эксплойтить конкретный аппаратные фичи будет проблематично.

Пресловутый endorsement key (секретный) не знает никто, открытый используется для проверки ЭЦП, сделанную конкретным TPM. По идее, производитель _чипов_ может хранить базу... только вот зачем? Знание EK позволяет эмулировать работу конкретного экземпляра TPM, но его знание не позволит вытаскивать из него ключи, для вытаскивания не предназначенные.

Единственно что настораживает, так это то что я не смог найти в открытом доступе ДШ на TPM для пресоналок. Это вот настораживает.

Macil ★★★★★
()
Ответ на: комментарий от pupok

А зачем проверять хэш биоса? Достаточно заблокировать его от дальнейшей перепрошивки.

Если хочешь загрузку с вводом пароля, она не спасет тебя от аппаратного кейлоггера ни с TPM, ни с ro-флешкой, которая внутри. Но флешку ты можешь таскать с собой (и тогда понадобится подмена биоса, т.к. ты пароль уже не вводишь, а флэшка сама расшифровывает раздел и запускает ядро с нее). А от подмены железа внутри корпуса бывают аппаратные замки.

Если они будут требовать, можно запустить свободную программу, эмулирующую поведение DRM-агента типа rtmpdump (или как его?) который еще на сорцфорже прикрыли.
TPM вместе с проверкой хэшей памяти (удаленная аттестация) это значительно затруднит (потребует считать из TPM тот самый EK, для чего его придется физически выдирать из материнки).
И эмуляция TPM не поможет.

Собираюсь ли я вычищать DRM или нет -- не важно, но для тех, кому это нужно, возможность снять DRM должна быть.

А еще TPM облегчает реализацию тивоизации и это тоже плохо. Тивоизация должна быть невыгодна для поставщиков/производителей железа.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

> TPM тот самый EK, для чего его придется физически выдирать из материнки

извини, но ты не понимаешь ни сути проблемы, ни трудности с её разрешением. Почитай про TPM что-нибудь ещё кроме FUD'а на википедии, и что другие написали в этом треде.

pupok ★★
()
Ответ на: комментарий от pupok

Я много чего читал про TPM и TC.
Если у него есть другие проблемы, кроме возможностей тивоизации наличие возможности Remote Attestation, которая может удаленно отличить настоящий TPM от виртуального (то есть, тот самый залитый на заводе EK), прошу их озвучить.
Да, ещё, конечно, очень опасна технология Intel TXT, которая позволяет исполнять на процессоре код, который зашифрован специально для этого экземпляра процессора — возможность существования кода, который нельзя даже дизассемблировать, но можно исполнить всё-таки очень нежелательна для общества.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Ты что-то не то читал.

Не TPM нужно бояться, а гипервизоров. Это самая страшная штука современности. Стократ страшнее она будет, когда сделают поддержку цепочки гипервизоров.

Вот тогда железяку придется аппаратно хачить. И не факт что успешно... Еще раз повторяю, TPM это крайне тупая штука. Без соответствующей программной обвязки он не стоит ничего.

С другой стороны, если проприетарный гипервизор будет стартовать при загрузке прошивки (пресловутого BIOS), то никакой TPM нафиг не нужен.

Короче, на данном этапе развития, для конечного пользоватлея TPM - это благо. Особенно, если софт обеспечивающий его работу, свободный и открытый.

Для самых параноиков, его работа либо запрещается, либо эмулируется с помощью гипервизора.

Macil ★★★★★
()
Ответ на: комментарий от Macil

Ну, если и благо, то не для всех -- как минимум, кому-то оно не нужно.
А угрозу уже озвучил. С проприетарными биосами можно бороться, юзая CoreBoot, а вот с TPM такое не пройдет. Это примерно как mono и C# -- сами по себе они может и не опасны, но широкое распространение программ на mono может привести к неприятным последствиям (только не надо тут моносрача, это как пример, я знаю про Community Promise).

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

> С проприетарными биосами можно бороться, юзая CoreBoot, а вот с TPM такое не пройдет.

ничего не понял.

ты сам будешь писать этот LinuxBIOS/CoreBoot для машины купленной в магазине? Без спеков от производителя материнки это невозможно. TPM -- это просто ещё одно устройство подключенное к машине. Не хочешь -- не пользуй. На самом деле сейчас похоже TPM будут виртуальными, эмулируемыми BIOS'ом (как и Xen+vTPM). Так что бояться надо не за TPM, а за BIOS чтобы, как сказано выше, он не стал полноценным гипервизором.

pupok ★★
()
Ответ на: комментарий от pupok

Вроде он написан, нет?
Покупать надо такие материнки, для которых спеки есть.

"mono -- просто еще одно приложение в составе гнома, не хочешь -- не пользуй"

Ну, в крайнем случае биос можно перепрошить, нет? Правда этот гипервизор может эмулировать перепрошивку биоса. Но все равно ведь можно выковырять микросхему биоса и прошить (или считать Endorsement Key, что затруднительно в случае аппаратного TPM) на программаторе, хоть это будут делать немногие, разве нет?
Да и вроде от идеи гипервизоров такого рода отказались?

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

>Вроде он написан, нет? Покупать надо такие материнки, для которых спеки есть.

прежде чем о чём-то рассуждать, удосужтесь хоть что-то узнать о предмете. LinuxBIOS -- это концепция. Точно также как ядро Linux ничего не стоит без драйверов для реальных железок, LinuxBIOS ничего не стоит без "драйверов" для клавиатуры, EmbeddedController, VideoBIOS, USB, Ethernet на конкретно взятой материнке (кроме знания железок нужно ещё знать как они разведены в каждом конкретном случае). И эти спеки в большинстве закрыты по NDA. Если производитель материнки сам не написал LinuxBIOS -- никто другой этого сделать не сможет. Пока есть только один лаптоп с LinuxBIOS, это OLPC. Десктопов больше (но и их можно пересчитать пальцами рук и ног одного человека), но это связано не с любовью производителей материнок к OpenSource, а с тем что из таких материнок гораздо проще строить кластеры.

> Ну, в крайнем случае биос можно перепрошить, нет?

опять к тем же баранам. Где прошивку взять?

> Да и вроде от идеи гипервизоров такого рода отказались?

а EFI по твоему что такое? В нём легко запретить грузить ядра без правильной подписи.

pupok ★★
()
Ответ на: комментарий от pupok

> Если производитель материнки сам не написал LinuxBIOS -- никто другой этого сделать не сможет.
На сайте http://coreboot.org есть список поддерживаемых материнок. Кстати, моя вроде там есть, но надо ещё микросхему с флешкой и программатор вроде.

> Пока есть только один лаптоп с LinuxBIOS, это OLPC.

Как минимум, ещё gdium liberty и Lemote YeeLoong. Правда они все мелкие.
http://www.coreboot.org/Laptop — вроде вот эти тоже можно перевести на CoreBoot...
Ну, значит берем компы где биос не EFI. Ну и запретят если — кто будет такой комп покупать?

Xenius ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.