Почему перезапись файл несколько раз для безопасного удаления всех трассировок файла?

Иногда вы можете передать несколько строк, разделенных пробелом, и будет интерпретироваться как \n.

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

#!/bin/bash
notify-send 'notification success' 'another line' 'time now '`date +"%s"`
14
задан Brian Tompsett - 汤莱恩 1 July 2015 в 10:48
поделиться

12 ответов

Жесткий диск укусил, который раньше был 0 и затем изменяется на '1', имеет немного более слабое магнитное поле, чем то, которое раньше было 1 и было затем записано в 1 снова. С секретным снаряжением предыдущее содержание каждого бита может быть различено с разумной степенью точности путем измерения небольших различий в силе. Результат не будет точно корректен и будут ошибки, но может быть получена хорошая часть предыдущего содержания.

К тому времени, когда Вы набросали по битам 35 раз, эффективно невозможно различить то, что раньше было там.

Редактирование: А современный анализ шоу, что единственный перезаписанный бит может быть восстановлен только с 56%-й точностью. Попытка восстановить весь байт - только точный 0,97% времени. Таким образом, я просто повторял городскую легенду. Перезапись многократно, возможно, была необходима при работе с гибкими дисками или некоторым другим носителем, но жестким дискам не нужен он.

27
ответ дан 1 December 2019 в 06:49
поделиться

В стандартных терминах, когда тот записан в диск, медиа записывают тот, и когда нуль записан, медиа записывает нуль. Однако фактический эффект ближе к получению 0.95, когда нуль перезаписывается с тем и 1.05, когда тот перезаписывается с тем. Нормальная дисковая схема настраивается так, чтобы оба этих значения были считаны как, но использование специализированной схемы, возможно разработать то, что содержали предыдущие "слои". Восстановление по крайней мере одного или двух слоев перезаписанных данных не слишком трудно для выполнения путем чтения сигнала из аналоговой главной электроники с высококачественным осциллографом цифрового сэмплирования, загрузки выбранной формы сигнала на ПК и анализа его в программном обеспечении для восстановления ранее зарегистрированного сигнала. То, что делает программное обеспечение, генерируют "идеальный" сигнал считывания и вычитают его из того, что было на самом деле считано, уехав как различие остаток предыдущего сигнала. Так как аналоговая схема в коммерческом жестком диске нигде не около качества схемы в осциллографе, используемом для выборки сигнала, способность существует для восстановления большой дополнительной информации, которая не используется электроникой жесткого диска (хотя с более новыми методами кодирования канала, такими как PRML (объясненный далее на), которые требуют обширных объемов обработки сигналов, применение простых инструментов, таких как осциллограф для прямого восстановления данных больше не возможно)

http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html

3
ответ дан 1 December 2019 в 06:49
поделиться

Daniel Feenberg (экономист в частном Национальном бюро экономических исследований) утверждает, что возможности перезаписанных данных, восстанавливаемых с современного жесткого диска, составляют "городскую легенду":

Спецслужбы могут Считать Перезаписанные Данные?

, Таким образом, теоретически перезапись файла однажды с обнуляет, был бы sufficent.

4
ответ дан 1 December 2019 в 06:49
поделиться

Причина, почему Вы хотите это, не жесткие диски, но SSD . Они повторно отображают кластеры, не говоря драйверы файловой системы или ОС. Это сделано в выравнивающих износ целях. Так, возможности довольно высоки что 0 битов записанные движения к другому месту, чем предыдущий 1. Удаление контроллера SSD и чтение необработанных микросхем флэш-памяти хорошо в досягаемости даже корпоративного шпионажа. Но с 36 полными дисковыми перезаписями, износ, выравнивающийся, вероятно, циклически повторится через все запасные блоки несколько раз.

2
ответ дан 1 December 2019 в 06:49
поделиться

Вообразите сектор данных по физическому диску. В этом секторе магнитный шаблон (полоса), который кодирует биты данных, хранивших в секторе. Этот шаблон записан головкой записи, которая является более или менее стационарной, в то время как диск вращается под ним. Теперь, для Вашего жесткого диска для функционирования правильно как устройство хранения данных каждый раз, когда новая магнитная полоса шаблона записана в сектор, она должна сбросить магнитный шаблон в том секторе достаточно, чтобы быть читаемой позже. Однако это не должно полностью стирать все доказательство предыдущего магнитного шаблона, это просто должно быть достаточно хорошо (и с объемом коррекции ошибок, используемой сегодня достаточно хороший, не должен быть весь настолько хорош). Полагайте, что головка записи будет не всегда брать ту же дорожку в качестве предыдущей передачи по данному сектору (это могло быть скошено немного налево или право, это могло передать по сектору под небольшим углом так или иначе из-за вибрации, и т.д.)

, Что Вы получаете, серия слоев магнитных шаблонов, с самым сильным шаблоном, соответствующим последней записи данных. С правильным инструментарием может быть возможно считать это разделение на уровни шаблонов с достаточным количеством детали, чтобы смочь определить некоторые данные в более старых слоях.

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

2
ответ дан 1 December 2019 в 06:49
поделиться

"Остаточная намагниченность данных" существует довольно хороший набор ссылок относительно возможных нападений и их фактической выполнимости на Википедия. существует DOD и стандарты NIST и рекомендации, процитированные там также. Нижняя строка, это возможно, но становящееся еще более твердый восстановить перезаписанные данные из магнитных носителей. Тем не менее, немного (американское правительство) стандарты все еще требуют по крайней мере нескольких перезаписей. Между тем внутренности устройства продолжают становиться более сложными, и, даже после перезаписи, диск или твердотельное устройство могут иметь копии в неожиданном (думайте об обработке сбойного блока, или износ флэш-памяти, выравнивающийся (, посмотрите Peter Gutmann ). Так действительно взволнованный все еще уничтожают диски.

1
ответ дан 1 December 2019 в 06:49
поделиться

На что мы смотрим, здесь назван "остаточной намагниченностью данных". На самом деле большинство технологий, которые перезаписывают неоднократно (безопасно) делает больше, чем, что на самом деле необходимо. Были попытки восстановить данные из дисков, которым перезаписали данные и за исключением нескольких случаев лаборатории, нет действительно никаких примеров такой техники, являющейся успешным.

, Когда мы говорим о методах восстановления, прежде всего, Вы будете рассматривать микроскопию магнитной силы как серебряную пулю для обхождения случайной перезаписи, но даже это не имеет никаких зарегистрированных успехов и может быть аннулировано в любом случае путем записи хорошего шаблона двоичных данных через регион на магнитных носителях (в противоположность простому 0000000000s).

Наконец, 36 (на самом деле 35) перезаписи, к которым Вы обращаетесь, распознаны столь же датированные и ненужные сегодня, как техника (известный как метод Gutmann) была разработана для размещения различного - и обычно неизвестный пользователю - методы кодирования, используемые в технологиях как RLL и MFM, с которым Вы вряд ли столкнетесь во всяком случае. Даже американские правительственные инструкции указывают, что одна перезапись достаточна для удаления данных, хотя в административных целях они не считают это приемлемым для "санитизации". Предложенная причина этой несоизмеримости состоит в том, что "плохие" секторы могут быть отмечены плохо дисковыми аппаратными средствами и не правильно перезаписаны, когда время настает, чтобы сделать перезапись, поэтому оставляя возможность открытой, что визуальный контроль диска сможет восстановить эти регионы.

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

1
ответ дан 1 December 2019 в 06:49
поделиться

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

0
ответ дан 1 December 2019 в 06:49
поделиться

Вот Gutmann, стирающий реализацию, которую я соединил. Это использует криптографический генератор случайных чисел для создания сильного блока случайных данных.

public static void DeleteGutmann(string fileName)
{
    var fi = new FileInfo(fileName);

    if (!fi.Exists)
    {
        return;
    }

    const int GutmannPasses = 35;
    var gutmanns = new byte[GutmannPasses][];

    for (var i = 0; i < gutmanns.Length; i++)
    {
        if ((i == 14) || (i == 19) || (i == 25) || (i == 26) || (i == 27))
        {
            continue;
        }

        gutmanns[i] = new byte[fi.Length];
    }

    using (var rnd = new RNGCryptoServiceProvider())
    {
        for (var i = 0L; i < 4; i++)
        {
            rnd.GetBytes(gutmanns[i]);
            rnd.GetBytes(gutmanns[31 + i]);
        }
    }

    for (var i = 0L; i < fi.Length;)
    {
        gutmanns[4][i] = 0x55;
        gutmanns[5][i] = 0xAA;
        gutmanns[6][i] = 0x92;
        gutmanns[7][i] = 0x49;
        gutmanns[8][i] = 0x24;
        gutmanns[10][i] = 0x11;
        gutmanns[11][i] = 0x22;
        gutmanns[12][i] = 0x33;
        gutmanns[13][i] = 0x44;
        gutmanns[15][i] = 0x66;
        gutmanns[16][i] = 0x77;
        gutmanns[17][i] = 0x88;
        gutmanns[18][i] = 0x99;
        gutmanns[20][i] = 0xBB;
        gutmanns[21][i] = 0xCC;
        gutmanns[22][i] = 0xDD;
        gutmanns[23][i] = 0xEE;
        gutmanns[24][i] = 0xFF;
        gutmanns[28][i] = 0x6D;
        gutmanns[29][i] = 0xB6;
        gutmanns[30][i++] = 0xDB;
        if (i >= fi.Length)
        {
            continue;
        }

        gutmanns[4][i] = 0x55;
        gutmanns[5][i] = 0xAA;
        gutmanns[6][i] = 0x49;
        gutmanns[7][i] = 0x24;
        gutmanns[8][i] = 0x92;
        gutmanns[10][i] = 0x11;
        gutmanns[11][i] = 0x22;
        gutmanns[12][i] = 0x33;
        gutmanns[13][i] = 0x44;
        gutmanns[15][i] = 0x66;
        gutmanns[16][i] = 0x77;
        gutmanns[17][i] = 0x88;
        gutmanns[18][i] = 0x99;
        gutmanns[20][i] = 0xBB;
        gutmanns[21][i] = 0xCC;
        gutmanns[22][i] = 0xDD;
        gutmanns[23][i] = 0xEE;
        gutmanns[24][i] = 0xFF;
        gutmanns[28][i] = 0xB6;
        gutmanns[29][i] = 0xDB;
        gutmanns[30][i++] = 0x6D;
        if (i >= fi.Length)
        {
            continue;
        }

        gutmanns[4][i] = 0x55;
        gutmanns[5][i] = 0xAA;
        gutmanns[6][i] = 0x24;
        gutmanns[7][i] = 0x92;
        gutmanns[8][i] = 0x49;
        gutmanns[10][i] = 0x11;
        gutmanns[11][i] = 0x22;
        gutmanns[12][i] = 0x33;
        gutmanns[13][i] = 0x44;
        gutmanns[15][i] = 0x66;
        gutmanns[16][i] = 0x77;
        gutmanns[17][i] = 0x88;
        gutmanns[18][i] = 0x99;
        gutmanns[20][i] = 0xBB;
        gutmanns[21][i] = 0xCC;
        gutmanns[22][i] = 0xDD;
        gutmanns[23][i] = 0xEE;
        gutmanns[24][i] = 0xFF;
        gutmanns[28][i] = 0xDB;
        gutmanns[29][i] = 0x6D;
        gutmanns[30][i++] = 0xB6;
    }

    gutmanns[14] = gutmanns[4];
    gutmanns[19] = gutmanns[5];
    gutmanns[25] = gutmanns[6];
    gutmanns[26] = gutmanns[7];
    gutmanns[27] = gutmanns[8];

    Stream s;

    try
    {
        s = new FileStream(
            fi.FullName,
            FileMode.Open,
            FileAccess.Write,
            FileShare.None,
            (int)fi.Length,
            FileOptions.DeleteOnClose | FileOptions.RandomAccess | FileOptions.WriteThrough);
    }
    catch (UnauthorizedAccessException)
    {
        return;
    }
    catch (IOException)
    {
        return;
    }

    using (s)
    {
        if (!s.CanSeek || !s.CanWrite)
        {
            return;
        }

        for (var i = 0L; i < gutmanns.Length; i++)
        {
            s.Seek(0, SeekOrigin.Begin);
            s.Write(gutmanns[i], 0, gutmanns[i].Length);
            s.Flush();
        }
    }
}
1
ответ дан 1 December 2019 в 06:49
поделиться

Существуют "дисковые приложения типа" восстановления и сервисы, которые могут все еще считать данные от жесткого диска даже после того, как они были отформатированы, так просто перезаписывающий со случайной 1 с и 0s одно время не достаточно, если действительно необходимо надежно стереть что-то.

я сказал бы, что для среднего пользователя, это более, чем достаточно, но если Вы находитесь в среде высокой безопасности (правительство, вооруженные силы, и т.д.) затем Вам нужен намного более высокий уровень, "удаляют", который может довольно эффективно гарантировать, что никакие данные не будут восстанавливаемыми от диска.

0
ответ дан 1 December 2019 в 06:49
поделиться

Я всегда задавался вопросом, почему возможность, что файл ранее хранился в другом физическом месте на диске, не рассматривают.

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

1
ответ дан 1 December 2019 в 06:49
поделиться

Посмотрите это: статья Guttman

0
ответ дан 1 December 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: