Cold Boot Attacks on Disk Encryption (англ.) - очень интересная запись о новом виде взлома зашифрованных дисков (обычно использующихся для защиты данных в ноутбуках). Оказывается, вопреки наивным предположениям, при выключении компьютера современная память (DRAM) обнуляется не сразу, а только через несколько секунд; если же ее охладить, то и намного дольше.
Подход простой: отключаем ноутбук от электричества, тут же включаем его снова и загружаем свою операционную систему (например, через USB-диск), записываем все содержимое памяти, и потом анализируем его. Где-то там находится криптографический ключ для расшифровки исходного диска (которым пользовалась программа-драйвер), и есть эффективные способы довольно быстро его найти, проверить и расшифровать содержимое диска. Если память стирается слишком быстро, можно перед отключением электричества ее охладить с помощью специального спрея.
(по ссылке есть больше подробностей и интересное обсуждение в комментариях)
Подход простой: отключаем ноутбук от электричества, тут же включаем его снова и загружаем свою операционную систему (например, через USB-диск), записываем все содержимое памяти, и потом анализируем его. Где-то там находится криптографический ключ для расшифровки исходного диска (которым пользовалась программа-драйвер), и есть эффективные способы довольно быстро его найти, проверить и расшифровать содержимое диска. Если память стирается слишком быстро, можно перед отключением электричества ее охладить с помощью специального спрея.
(по ссылке есть больше подробностей и интересное обсуждение в комментариях)
no subject
Date: 2008-02-22 08:38 am (UTC)no subject
Date: 2008-02-22 08:39 am (UTC)no subject
Date: 2008-02-22 08:46 am (UTC)no subject
Date: 2008-02-22 08:51 am (UTC)no subject
Date: 2008-02-22 08:53 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:сон смерти не помеха
From:Re: сон смерти не помеха
From:Re: сон смерти не помеха
From:no subject
Date: 2008-02-22 08:51 am (UTC)no subject
Date: 2008-02-22 08:54 am (UTC)no subject
Date: 2008-02-22 09:19 am (UTC)no subject
Date: 2008-02-22 09:25 am (UTC)no subject
Date: 2008-02-22 09:47 am (UTC)Кроме того, "несколько секунд" на перезагрузку и загрузку своей ос не достаточно.
no subject
Date: 2008-02-22 09:49 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-02-22 10:09 am (UTC)Казалось бы, эту дырку можно существенно уменьшить, если шифровать только пользовательскую partition (/home) и не требовать от системы грузиться с зашифрованного диска, а ключ от зашифрованой partition привязать к паролю пользователя.
Тогда, атакующий сможет что-то сделать только если получит доступ к "горячему", уже полностью загруженному компутеру, в коем случае его пользователь ССЗБ.
no subject
Date: 2008-02-22 10:40 am (UTC)(no subject)
From:no subject
Date: 2008-02-22 10:35 am (UTC)Главный вопрос состоит в том, как найти в этой многомегабайтной куче мусора ключ для расшифровки.
Ну и еще вопросы остаются. Должна сложиться такая ситуация - у нас в руках есть ноут с запущеной операционной системой и запущенным драйвером для расшифровки, то есть кто-то включил ноут, ввел пароль для доступа к зашифрованным данным и отдал этот ноут мне для эксперимента...
что то с логикой тут не так...
no subject
Date: 2008-02-22 05:46 pm (UTC)no subject
Date: 2008-02-22 10:45 am (UTC)no subject
Date: 2008-02-22 10:49 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-02-22 01:59 pm (UTC)На самом деле я бы просто сделал дивайс с "BIOS", запихнул его на ходу компьютеру в PCI (через док, например, для лаптопа), после чего с дивайса сделал бы reset, его "BIOS" бы стал исполняться первым и задампил всю память куда надо
Решает проблему с запретом загрузки с USB и использованием памяти тем, что мы загружаем
no subject
Date: 2008-02-22 03:35 pm (UTC)А если "подловить" юзера, когда он к зашифрованному диску подключен и отобрать у него комп, то зачем же все эти трюки для добывания ключа, когда все содержание диска и так доступно.
no subject
Date: 2008-02-22 04:34 pm (UTC)no subject
Date: 2008-02-22 04:57 pm (UTC)Имеется в виду, что зашифрованный диск расшифровывается в два этапа, вначале берётся пользовательский ключ с которым производится computationally expensive (чтобы усложнить брутфорс) расшифровка другого, более длинного ключа, который скармливается драйверу. Далее, если нам в руки попал незалоченный ноутбук, то ничего придумывать не надо, бери и читай. Если нам в руки попал выключенный ноутбук, который был выключен пользователем более чем пять секунд назад, то мы ничего сделать не можем. Однако остаётся случай залоченного ноутбука, на котором запущена шифровалка, написанная не очень умными людьми, которые забыли по локу стереть (физически, при помощи какой-нибудь АПИ типа SecureZeroMemory) из памяти и закэшированный расшифрованный длинный ключ.
Если так, то понятно, что делать, я это как бы написал уже =)
Правда, ещё было бы неплохо на уровне оси скидывать все программы, имеющие дело с зашифрованными данными, в специальный зашифрованный своп (или хотя бы шифровать всю их память). Ну, там, эвристику какую придумать, или вообще запускать их на специальной виртуальной машине, у которой вся память всё время зашифрована (или достаточно быстро шифруется/дешифруется при локе/анлоке). Потому что предлагаемое мной решение замечательно ограничивает доступ ко всему зашифрованному диску, но довольно много sensitive information всё равно может попасть в руки Нехороших (или, наоборот, Хороших) Людей.
no subject
Date: 2008-02-23 06:27 am (UTC)(no subject)
From:no subject
Date: 2008-02-22 07:34 pm (UTC)Во-первых, большинство DDR/SDRAM контроллеров имеют возможность инициализировать память паттерном при инициалиазации контроллера. я сам этим часто пользовался при отладке разного железа. достаточно из опционального сделать такое поведение обязательным, и данный метод перестает работать.
Кроме того, как скажет любой кто в теме, в серьезном криптовании вообще не пользуются софтверным методом. единственное более или менее защищенное место для ключей это специальное железо, откуда этот ключ не может выйти никаким другим способом кроме как специализированный электронный микроскоп и другие многомиллионные игрушки.
Помимо этого, есть еще способы усилить защиту ключа в оперативной памати с помощью различных методов. например XORить его с каким-нить рандомальным значением которое практически невозможно узнать post-mortem.
no subject
Date: 2008-02-23 11:12 am (UTC)Насчет XORа ты прав, это стоящая мера, и наверное нужно ожидать, что ей начнут пользоваться после этой статьи.
(no subject)
From:(no subject)
From:no subject
Date: 2008-02-23 02:30 am (UTC)теперь вот не могу найти ссылку, потому что весь гугль уже забит ссылками на нынешнюю атаку :(
no subject
Date: 2008-02-23 05:26 am (UTC)no subject
Date: 2009-08-30 05:32 am (UTC)