Контроль целостности стандартными средствами операционной системы Windows

Отметим, что для операционных систем других семейств используются совершенно другие файловые системы. Например, для ОС Linux жесткий диск форматируется в файловой системе ext3. Можно на одном и том же компьютере один раздел диска отформатировать в NTFS и установить там Windows 7, а другой раздел отформатировать в ext3 и установить на нем Linux. В этом случае работая под Windows пользователь вообще не будет видеть раздел отформатированный в ext3 и никак не сможет получать из него данные. Для того чтобы узнать, какая файловая система (из доступныx для Windows) выбрана на определенном разделе жесткого диска нужно нажать правой кнопкой мыши на пиктограмме диска и выбрать в контекстном меню пункт «свойства». В открывшемся окне можно прочитать информацию о размере диска, количестве свободного места и файловой системе.
Жизнь полна неприятных неожиданностей, а разрушение файловой системы зачастую более опасно, чем разрушение компьютера. Поэтому файловые системы должны разрабатываться с учетом подобной возможности. Помимо очевидных решений, например своевременное дублирование информации, файловые системы современных ОС содержат специальные средства для поддержки собственной совместимости.
Важный аспект надежной работы файловой системы — контроль ее целостности. В результате файловых операций блоки диска могут считываться в память, модифицироваться и затем записываться на диск. Причем многие файловые операции затрагивают сразу несколько объектов файловой системы. Например, копирование файла предполагает выделение ему блоков диска, формирование индексного узла, изменение содержимого каталога и т. д. В течение короткого периода времени между этими шагами информация в файловой системе оказывается несогласованной.
И если вследствие непредсказуемой остановки системы на диске будут сохранены изменения только для части этих объектов (нарушена атомарность файловой операции), файловая система на диске может быть оставлена в несовместимом состоянии. В результате могут возникнуть нарушения логики работы с данными, например появиться «потерянные» блоки диска, которые не принадлежат ни одному файлу и в то же время помечены как занятые, или, наоборот, блоки, помеченные как свободные, но в то же время занятые (на них есть ссылка в индексном узле) или другие нарушения.
Подчеркнем, что в современных ОС предусмотрены меры, которые позволяют свести к минимуму ущерб от порчи файловой системы и затем полностью или частично восстановить ее целостность.
Так, контроль целостности файлов осуществляется посредством выработки контрольной суммы (хэш-образа) требуемого файла и хранение данного хэш-образа в качестве эталонного для сравнения. Последующий поверочный цикл выглядит следующим образом: производится выработка контрольной суммы, получение хэш-образа и сравнение с эталонным. В случае отличия – заключается, что файл был изменен с момента последней поверки. В случае совпадения – файл остается неизменным.
Чтобы произвести подсчет контрольной суммы файла, необходимо получить его содержимое и согласно определенному алгоритму, такому, как MD5, SHA256, ГОСТ Р 34.11-2012, произвести хэширование полученного буфера с содержимым файла. Такие утилиты, как cpverify.exe и vipnethashcalc-tool.exe, которые имеют сертификацию ФСТЭК [5, с. 184], используют следующую схему обращения к файловому хранилищу и получению файлов с целью вычисления контрольной суммы (рисунок 3).

Нужна похожая работа?

Оставь заявку на бесплатный расчёт

Смотреть все Еще 421 дипломных работ