wipe

Описание wipe

wipe — это небольшая программа для безопасного стирания файлов с магнитных носителей. Программа работает на различных платформах UNIX, включая Linux 2. *, (Open, Net, Free)BSD, aix 4.1, SunOS 5.5.1, Solaris 2.6. Скомпилированные пакеты доступны в большинстве дистрибутивов Linux. В Debian пакет называется wipe.

Внимание: Wipe надёжно работает только магнитной памяти, следовательно, для твердотельных дисков (памяти) используйте другие методы.

Домашняя страница: http://lambda-diode.com/software/wipe/

Автор: Oguz Berke Antoine Durak.

Лицензия: GPLv2

Справка по wipe

Использование:

wipe [опции] файлы...

Опции:

		-a Прервать при ошибке
		-b <buffer-size-lg2> Установить размер индивидуального буфера 
			ввода/вывода указав его логарифм по основанию 2.
			Могут быть выделены до 30 этих буферов
		-c Делать chmod() на защищённых от записи файлах
		-D Следовать символическим ссылкам (конфликтует с -r)
		-e Использовать точный размер файла: не округлять размер файла для
			стирания возможного мусора, остающегося на последнем блоке
		-f Форсировать, т. е. не спрашивать подтверждения
		-F Не пытаться стирать имена файлов
		-h Показать справку
		-i Информативный (вербальный) режим
		-k Сохранить файлы, т. е. не удалять их после перезаписи
		-l <длина> Установить длину стирания на <длину> байтов, где 
			<длина> это целое число, за которым следует K (Kilo:1024),
			M (Mega:K^2) или G (Giga:K^3)
		-M (l|r) Установить алгоритм PRNG для заполнения блоков (и порядка проходов)
			l Использовать вызов библиотеки random()
			a Использовать алгоритм шифрования arcfour
		-o <сдвиг> Установить сдвиг очистки на <сдвиг>, где <сдвиг>
			имеет тот же формат, что и <длина>
		-P <прохооды> Установить количество проходов для очистки
			имени файла. По умолчанию это 1.
		-Q <количество> установить количество проходов для быстрой очистки
		-q Быстрая очистка, менее безопасная, 4 по умолчанию четыре случайных прохода
		-r Рекурсия по каталогам — по символическим ссылкам не будет перехов
		-R Установить устройство рандомизации (или команду сидов рандомизации -S c)
		-S (r|c|p) Метод рандомизации сидов
			 r Считывать с устройства рандомизации (надёжно)
			 c Считывать из вывода команды рандомизации сидов
			 p Использовать pid(), clock() и т.д. (самый слабый вариант)
		-s Тихий режим — подавлять весь вывод
		-T <попытки> Установить максимальное число попыток для
			свободного поиска имени файла; по умолчанию это 10
		-v Показать информацию о версии
		-Z Не пытаться стирать имя файла
		-X <число> Пропустить это число проходов (полезно для продолжения операции очистки)
		-x <pass1,pass2,...> Задать очередь проходов

Руководство по wipe

ИМЯ

wipe — безопасное стирание файлов с магнитных носителей

СИНОПСИС

wipe [опции] path1 path2 ... pathn

ОПИСАНИЕ

Восстановление якобы удалённых данных с магнитных носителей это проще, чем многие люди хотели бы верить. Техника под названием Магнитно-силовая микроскопия — Magnetic Force Microscopy (MFM) позволяет любому в меру финансируемому оппоненту восстановить последние два или три слоя данных, записанных на диск; wipe несколько раз перезаписывает специальные паттерны на удаляемый файл, используя вызов fsync() и/или O_SYNC бит для принудительного доступа к диску. В нормальном режиме используются 34 образца (из которых 8 являются рандомными). Нормальный режим делает 35 проходов (0-34). Быстрый режим позволяет вам использовать только 4 прохода с рандомными паттернами, которые, он является, конечно, намного менее безопасным.

О ЖУРНАЛИРУЕМЫХ ФАЙЛОВЫХ СИСТЕМАХ И НЕКОТОРЫЕ РЕКОМЕНДАЦИИ

Журналируемые файловые системы, такие как Ext3, Ext4 или ReiserFS, используются по умолчанию на большинстве дистрибутивов Linux. На таких файловых системах отсутствуют программы удаления, которые могут надёжно зачистить файлы, поскольку чувствительные данные и метаданные могут быть записаны в журнал, к которому непросто получить доступ.

Стирание на NFS или на журналируемых файловых системах (ReiserFS и т. д.) наверняка не будет работать.

Поэтому настоятельно рекомендуется вызывать wipe напрямую на соответствующее блочное устройство с соответствующими опциями. Тем не менее, ЭТО ДЕЛАТЬ КРАЙНЕ ОПАСНО. Убедитесь, что отчётливо осознаёте ваши действия. Задайте правильные опции. В частности: не стирайте целый жёсткий диск (т. е. wipe -kD /dev/hda — это плохо), поскольку это уничтожит главную загрузочную запись. Плохая идея. Предпочтительна очистка разделов (т. е. wipe -kD /dev/hda2) — это хорошо, при условии, конечно, что вы сделали резервные копии всех данных.

В целом, автор не гарантирует, что программа сработает правильно, её действия зависят от многих факторов, в том числе непредсказуемых.

ОПЦИИ КОМАНДНОЙ СТРОКИ

-f (форсированно; отключить запрос подтверждения)

По умолчанию wipe спросит подтверждение, с указанием количества регулярных и специальных файлов и директорий, указанных в командной строке. Для подтверждения вы должны набрать"yes", а для отмены — "no". Вы можете отключить запрос подтверждения опцией -f.

-r (рекурсивно в поддиректориях)

Позволит удаление всего дерева каталогов. По символическим ссылкам переход не осуществляется.

-c (chmod если необходим)

Если на файл или директорию для стирания не установлены права записи, будет сделан chmod для установки разрешений.

-i (информационный, вербальный режим)

Для включения вывода отчётов в стандартный вывод (stdout). По умолчанию все данные записываются в стандартный вывод ошибок (stderr).

-s (тихий режим)

Подавляются все сообщения, кроме запросов подтверждения и сообщений ошибок.

-q (быстрое стирание)

Если используется эта опция, wipe будет делать (по умолчанию) только 4 прохода, записывая случайные данные, на каждый файл. Смотрите опцию -Q.

-Q <количество-проходов>

Устанавливает количество проходов для быстрой очистки. По умолчанию это 4. Эта опция требует -q.

-a (остановить при ошибке)

Программа выйдет с EXIT_FAILURE если случилась не фатальная ошибка.

-R (установить устройство генерации случайных числе ИЛИ команду сидаов рандомных данных)

Это опцией, которая требует аргумента, вы можете указать альтернативну устройству /dev/random или команду, чей стандартный вывод будет хеширован с использованием MD5-хеша. Это различие может быть сделано опцией -S.

-S (метод случайных сидов)

Эта опция принимает односимвольный аргумент, который определяет, как используется устройство рандомизации/аргумент сидов рандомизации. Устройством рандомизации по умолчанию является /dev/random. Его можно установить используя опцию -R.

Возможными односимвольными аргументами являются:

r

Если вы хотите, чтобы аргумент интерпретировался как обычное файловое/символьное устройство. Он будет работать с /dev/random и должен также работать с FIFO и подобным.

c

Если вы хотите, чтобы аргумент выполнялся как команда. Вывод из команды будет хеширован с использованием алгоритма MD5 для обеспечения требуемого сида. Для дополнительной информации смотрите переменную окружения WIPE_SEEDPIPE.

p

Если вы хотите, чтобы wipe получала сиды хешированием переменных окружения, текущей даты и времени, id процессов и т. д. (аргумент устройства рандомизации не используется). Это, конечно, наименее безопасно.

-M (выбрать алгоритм генерации псевдослучайных чисел)

Во время случайных проходов, wipe перезаписывает целевые файлы потоком бинарных данных, созданных следующими алгоритмами по выбору:

l

будет использовать (в зависимости от вашей системы) псевдорандомную библиотеку генератора random() или rand(). Обратите внимание, что на большинстве систем rand() представляет собой линейный конгруэнтный генератор, который ужасно слабый. Выбор делается во время компилирования и определяется HAVE_RANDOM (смотрите Makefile).

a

будет использовать поток шифра Arcfour как PRNG. Случается что Arcfour бывает совместим с хорошо известным шифром RC4. Это означает, что при том же ключе, Arcfour в точности такой же поток как RC4.

r

Будет использовать свежий алгоритм RC6 как PRNG; RC6 отпирается 128-битными сидами, а затем нулевой блок многократно зашифрован для получения псевдослучайного потока. В принципе, это должно быть довольно безопасно. Конечно, RC6 с 20 кругами медленнее чем random(); опция компилирования WEAK_RC6 позволяет вам использовать 4-круговую версию RC6, которая быстрее. Чтобы быть способным использовать RC6, wipe должен быть скомпилирован с указанным ENABLE_RCК; смотрите Makefile о предупреждения по патентным вопросам.

Во всех случаях PRNG сеется с данными, собранными из устройства рандомизации смотрите опции -R и -S).

-l <длина>

Поскольку могут быть некоторые проблемы в определении действительного размера блочного устройства (т. к. некоторые устройства даже не имеют фиксированного размера, такие как дискеты или кассеты), вам может понадобиться указать размер устройства вручную. <длина> - это ёмкость устройства, выраженная в числе байт. Вы можете использовать K (кило) для указания умножения на 1024, M (мега), для выражения умножения на 1048576, G (Giga) для умножения на 1073741824 и b (блок) для умножения на 512. Т.е.

1024 = 2b = 1K

20K33 = 20480+33 = 20513

114M32K = 114*1024*1024+32*1024.

-o <сдвиг>

Это позволяет вам указать сдвиг внутри стираемого файла или устройства. Синтаксис <сдвига> такой же как и для опции -l.

-e

Использовать точный размер файла: не округлять размер файла для стирания оставшегося мусора в последнем блоке.

-Z

Не пытаться стереть размеры файлов повторным уполовиниванием файлового размера. Помните, что эти попытки делаются только на обычных файлах, т. е. опция бесполезна если вы используете wipe для очистки блочного или специального устройства.

-X <число>

Пропустить заданное число проходов. Это полезно для продолжения очистки с заданной точки, когда вы очищаете, допустим, большой диск и должны прервать операцию. Используется с -x.

-x <pass1>,…,<pass35>

Указывает порядок проходов. Когда wipe прерывается, она будет печатать текущую выбранную случайным образом пермутацию порядка прохода и номера прохода в качестве соответствующих аргументов -x и -X.

-F

Не пытаться стереть имена файлов. Обычно wipe пытается скрыть имена файлов переименовывая их; это НЕ гарантирует, что физическое расположение, содержащее старые имена файлов, будет перезаписано. Более того, после переименования файла единственным способом убедиться, что имя изменено — это физическое осуществление вызова sync (), который вымывает ВСЕ дисковые кэши файловой системы, в то время как для добавления и записи кэша может использоваться бит O_SYNC для синхронизации ввода/вывода для одного файла. Поскольку sync () очень медленный, вызов sync () после каждого переименования делает очистку имён файлов крайне медленной.

-k

Сохранять файлы: не удалять файлы после их перезаписи. Полезно если вы хотите стереть устройство, сохранив при этом специальный файл устройства. Это подразумевает -F.

-D

Следовать символическим ссылкам: по умолчанию wipe никогда не следует символическим ссылкам. Тем не менее, если вы указали -D, wipe согласится на стирание целей, на которые указывают символические ссылки. Вы не можете одновременно указать опции -D и -r (рекурсия).

-v

Показать информацию о версии и выйти.

-h

Показать справку.

ФАЙЛЫ

По умолчанию используется /dev/random в качестве сида (источника) генератора псевдослучайных числе.

ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

Если установлена WIPE_SEEDPIPE, wipe будет выполнять указанную в ней команду (используя popen()), и будет хешировать вывод команды с алгоритмом MD5 message-digest для получения 128-битного сида для PRNG. Например, на системах с отсутствующем устройством /dev/random, эта переменная должна быть установлена в /etc/profile в сценарий оболочки, который содержит различные команды, такие как ls, ps, who, last и т. д., и которые запускаются асинхронно, чтобы получить вывод насколько возможно менее предсказуемым.

Примеры запуска wipe

Следующая команда рекурсивно (-r) удалит всё в директории private, включено принудительное удаление и отключён запрос подтверждения (-f), показан прогресс процесса удаления (-i):

wipe -rfi private/*

Стереть каждый файл файл и каждую директорию (опция -r) в директории /home/berke/plaintext/, а также саму директорию /home/berke/plaintext/.

Обычные файлы будут стёрты 34 проходами и их размер будет уполовиниваться случайное число раз. Специальные файлы (символьные и блочные устройства, FIFO) не будут. Все элементы директории (файлы, специальные файлы и директории) будут переименованы 10 раз и затем удалены. Элементы с неподходящими разрешениями будут chmod() (опция -c). Всё это будет происходить без подтверждения пользователя (опция -f):

wipe -rcf /home/berke/plaintext/

Если предположить, что /dev/hda3 — это блочное устройство, соответствующее третьему разделу главного диска на первичном IDE интерфейсе, то оно будет стёрто в быстром режиме (опция -q), т. е. с четырьмя случайными проходами. Индексные дескрипторы не будут переименовываться или удаляться (опция -k). Перед запуском программа попросит вас набрать «yes»:

wipe -kq /dev/hda3

Поскольку wipe никогда не следует по символьным ссылкам, если это явно не сказано делать, то если вы хотите стереть /dev/floppy, который может оказаться символьной ссылкой /dev/fd0u1440, вы должны указать опцию -D. Перед запуском программа попросит вас набрать «yes»:

wipe -kqD /dev/floppy

Здесь wipe рекурсивно (опция -r) уничтожит всё в /var/log, кроме /var/log. Программа не будет пытаться делать chmod(). Программа будет вербальной (опция -i). Она не будет спрашивать вас набирать «yes» из-за опции -f:

wipe -rfi >wipe.log /var/log/*

Из-за различных идеосинкразий операционной системы, не всегда легко получить количество байт, которое должно содержать данное устройство (на самом деле, это количество может быть изменчивым). Поэтому вам иногда нужно сказать wipe, какое количество байт нужно уничтожить. Для этого опция -l. Плюс вы можете использовать b,K,M и G в качестве мультипликаторов, соответственно на 2^9 (512), 2^10 (1024 или кило), 2^20 (мега) и 2^30 (гига) байт. Вы даже можете совмещать более чем один мультипликатор!! Так что 1M416K = 1474560 байт:

wipe -kq -l 1440K /dev/fd0

Установка wipe

Установка в Kali Linux, Debian, Ubuntu, Linux Mint.

sudo apt-get install wipe

Установка в BlackArch

sudo pacman -S wipe

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты wipe

Это утилита командной строки.

Инструкции по wipe

Ссылки на инструкции будут добавлены позже.

Близкие программы:

Рекомендуемые статьи: