Есть ли какой-нибудь более быстрый способ, чем / dev / [u] random? Иногда мне нужно делать такие вещи, как
cat / dev / urandom> / dev / sdb
Случайные устройства «слишком» безопасны и, к сожалению, слишком медленны для этого. Я знаю, что существуют wipe
и аналогичные инструменты для безопасного удаления, но я полагаю, что есть и некоторые встроенные средства для этого в Linux.
Ответы:
Если вы хотите «безопасно» стереть жесткий диск (или файл), вам следует взглянуть на утилиту уничтожения.
Как отмечалось в предыдущих постерах, случайные устройства / dev / * предназначены для использования в качестве источника небольших порций случайных данных.
источник
К сожалению, в Linux плохая реализация urandom. Вы можете использовать aes256-ctr со случайным ключом и получать несколько сотен мегабайт псевдослучайности в секунду, если ваш процессор поддерживает AES-NI (аппаратное ускорение). Я с нетерпением жду и случайного перехода на современный подход.
Этот щенок использует 1,0 ГБ / с на моем боксе (по сравнению с 14 МБ / с в / dev / urandom). Он использует urandom только для создания случайного пароля, а затем выполняет очень быстрое шифрование / dev / zero с использованием этого ключа. Это должен быть криптографически безопасный PRNG, но я не буду давать гарантий.
источник
pv
для хорошего индикатора прогресса.openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb > /dev/sdb
,pv
рекомендации, вы можете направить на ,pv -pterb -s $(blockdev --getsize64 /dev/sdb) >/sdb
чтобыpv
показать вам прогресс в деле завершения записи.В быстром тесте под Ubuntu 8.04 на Thinkpad T60p с процессором T2500, 1 ГБ случайных данных
openssl rand
было в 3-4 раза быстрее, чем/dev/urandom
. То есть,... было около 4 минут, пока ...
... было чуть более 1 минуты.
Не уверен, есть ли разница в случайном качестве, но, возможно, подходит и для HD-очистки.
источник
Я вижу много ответов о том, что использование случайных данных не важно. Это в значительной степени верно, если все, что вы пытаетесь сделать, это стереть диск, но не так сильно, если вы стираете его при подготовке к шифрованию диска.
Если вы заполняете устройство неслучайными данными, а затем размещаете на нем зашифрованный раздел, вы можете столкнуться с проблемой. Часть диска, на которой хранятся зашифрованные данные, будет выделяться из остальной части диска, поскольку зашифрованные данные будут выглядеть случайными, а остальные - нет. Это может быть использовано для определения информации о криптографическом диске, который может быть использован при его взломе. Ссылка ниже объясняет теорию о том, как работают некоторые из наиболее распространенных атак и как защититься от них (во всяком случае, в Linux).
Настройки шифрования жесткого диска Linux
источник
Если вам нужно безопасно стереть HD, есть один очень мощный инструмент : DBAN
источник
Если вы хотите стереть огромное блочное устройство, я нашел его более надежным в использовании
dd
и отображением устройства вместо перенаправления вывода случайных данных. Следующее будет отображаться/dev/sdb
для/dev/mapper/deviceToBeErased
расшифровки между ними. Чтобы заполнить устройство на зашифрованном конце, нули копируются в текстовую часть карты (/dev/mapper/deviceToBeErased
).Зашифрованные данные
/dev/sdb
гарантированно будут неотличимы от случайных данных, если в AES нет серьезных недостатков. Используемый ключ извлекается из/dev/random
(не волнуйтесь - он использует только 32 байта).источник
проверять случайность
http://billauer.co.il/frandom.html
по моему тесту это самый быстрый
источник
Чем быстрее ваш инструмент, тем менее безопасным будет результат. Генерация хорошей случайности требует времени.
В любом случае, вы можете использовать что-то вроде dd if = / dev / zero of = / dev / sdb , но очевидно, что это не будет случайным, оно будет просто стираться намного быстрее.
Другим вариантом может быть использование этого метода / sbin / badblocks -c 10240 -s -w -t random -v / dev / sdb, он быстрее, чем urandom, но PRNG для badblocks является менее случайным.
источник
/dev/random
использует много системной энтропии, и поэтому создает только медленный поток данных./dev/urandom
менее безопасен и быстрее, но все же ориентирован на меньшие порции данных - он не предназначен для обеспечения непрерывного потока высокоскоростных случайных чисел.Вы должны сделать PRNG вашего собственного дизайна и посеять что-то из
/dev/random
или/dev/urandom
. Если вам нужно немного более случайным образом, заполняйте его периодически - каждые несколько МБ (или независимо от длины вашего prng). Получение 4 байтов (32-битного значения) из случайного или случайного числа достаточно быстро, чтобы вы могли делать это через каждые 1 КБ данных (повторная загрузка каждые 1 КБ) и получать очень случайные результаты, причем очень, очень и очень быстро.-Адам
источник
Если вы хотите быстро стереть жесткий диск, запишите на него неслучайные данные. Это не менее безопасно, чем использование случайных данных. В любом случае, при подключении к компьютеру исходные данные не могут быть прочитаны. Перезапись данных на жестком диске: Великая борьба за вытирание показывает, что исходные данные также нельзя прочитать с помощью микроскопа.
источник
Отформатируйте с LUKS, и dd по зашифрованному объему. Затем используйте / dev / urandom, чтобы стереть заголовок LUKS.
Если у вас есть аппаратная поддержка AES, это очень быстрое решение.
Кратко:
сделанный!
Смотрите мой блог: быстро заполнить диск случайными битами (без / dev / urandom)
источник
Если вы хотите стереть жесткий диск, dd не удаляет содержимое перераспределенных секторов и работает очень медленно, если жесткий диск умирает. Вместо этого вы можете использовать встроенную функцию стирания накопителей, которая уже давно стандартизирована.
В этом примере я стираю механический жесткий диск емкостью 500 ГБ всего за 102 минуты. Даже когда он полон перераспределенных секторов:
Вы можете увидеть более подробную информацию на ata.wiki.kernel.org , однако в их примере не используется --security-erase-extended, что необходимо для удаления упомянутых ранее перераспределенных секторов.
источник
На практике, вероятно, нет необходимости заполнять весь диск одним непрерывным потоком.
Вы можете создать скромный размер случайных данных, а затем просто повторять это снова и снова на диске.
Просто убедитесь, что этот фрагмент данных не кратен нормальному размеру блока диска, чтобы не допустить перезаписи коррелированных блоков данных с одинаковым битом случайных данных. Размер чанка, который является простым числом в диапазоне ~ 1 МБ, должен хорошо работать.
Для дополнительной безопасности просто сделайте это несколько раз больше, используя каждый раз другой размер куска.
источник
Утилита 'shred' проста и быстра. Если атрибуты SMART накопителя указывают на ноль перераспределенных секторов, вероятно, «клочок» достаточно безопасен.
Однако если на диске есть перераспределенные сектора, данные о поврежденных секторах не будут перезаписаны. Если поврежденные места содержали конфиденциальные данные до того, как они были перераспределены, «клочок» может оказаться недостаточно хорошим. «Плохие» сектора могут быть прочитаны путем сброса карты распределения дисков и (многократного) чтения их.
Возможность сброса карты распределения поврежденных секторов зависит от производителя и модели накопителя.
источник
Если все, что вы хотите сделать, это перезаписать диск, то не имеет значения, что вы используете, потому что что-то вообще побьет все, что угодно, чем криминалистическая лаборатория, и я бы не стал доверять ничему, кроме как сломать диск, чтобы остановить этот уровень ресурсов. ,
Просто используйте неслучайный источник, такой как все нули или единицы, или повторяющийся шаблон, как (я думаю, это будет работать)
источник