Зачем переписывать файл несколько раз, чтобы безопасно удалить все следы файла?

Удаление таких программ, как Eraser, рекомендуется перезаписывать данные, возможно, 36 раз.

Как я понимаю, все данные хранятся на жестком диске как 1s или 0s.

Если перезапись случайных 1s и 0s выполняется один раз по всему файлу, то почему этого недостаточно, чтобы удалить все следы исходного файла?

Ответы

Ответ 1

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

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

Изменить: Современный анализ показывает, что один перезаписанный бит может быть восстановлен с точностью до 56%. Попытка восстановить весь байт является точной 0,97% времени. Поэтому я просто повторял городскую легенду. Возможно, потребуется переписать несколько раз при работе с гибкими дисками или другим носителем, но жесткие диски не нуждаются в нем.

Ответ 2

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

Может ли разведывательные агентства читать перезаписанные данные?

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

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

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

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

Ответ 8

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

Ответ 9

Здесь выполняется 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();
        }
    }
}

Ответ 10

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

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

Ответ 11

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

Ответ 13

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