C:\date>dir /o:d
Volume in drive C has no label
Volume Serial Number is 3C3B-11E3
Directory of C:\date
HEX-EDIT EXE 58,592 03-14-95 9:51p Hex-edit.exe
HEXEDI~1 GZ 165,110 06-05-00 11:44p hexedit-0_9_7_tar.gz
HEXEDIT EXE 158,208 06-06-00 12:04a hexedit.exe
. <DIR> 06-16-00 12:18a .
.. <DIR> 06-16-00 12:18a ..
3 file(s) 381,910 bytes
2 dir(s) 10,238.03 MB free
В этом случае последние модифицированные файлы помещены в конец отчета.
Расскажем о небольшой уловке, доступной пользователям DOS/Windows. Таблица размещения файлов (FAT – file allocation table) содержит атрибут файла «Архивный». Первоначально атрибут предназначался для определения факта изменения файла после последнего резервного копирования. В случае модификации файла этот атрибут свидетельствовал о необходимости создания очередной архивной копии файла. Конечно, после модификации файлов этим атрибутом можно воспользоваться для собственных целей. Посмотрите на пример просмотра директории с помощью команды attrib:
C:\date>attrib
A HEX-EDIT.EXE C:\date\Hex-edit.exe
A HEXEDIT.EXE C:\date\hexedit.exe
A HEXEDI~1.GZ C:\date\hexedit-0_9_7_tar.gz
Обратите внимание на символ A в начале каждой строки. Он свидетельствует об установке атрибута «Архивный» и указывает на необходимость резервного копирования файла, к которому относится этот атрибут. Если повторно использовать команду attrib для очистки атрибута «Архивный», то получим следующее:
C:\date>attrib -a *.*
C:\date>attrib
HEX-EDIT.EXE C:\date\Hex-edit.exe
HEXEDIT.EXE C:\date\hexedit.exe
HEXEDI~1.GZ C:\date\hexedit-0_9_7_tar.gz
Теперь если изменить один или два файла из группы, то их атрибут «Архивный» будет установлен снова, как это показано на следующем примере:
C:\date>attrib
A HEX-EDIT.EXE C:\date\Hex-edit.exe
HEXEDIT.EXE C:\date\hexedit.exe
HEXEDI~1.GZ C:\date\hexedit-0_9_7_tar.gz
Из примера видно, что у файла HEX-EDIT.EXE после его изменения опять установлен атрибут «Архивный». Хорошей возможностью команды attrib является переключатель /s, который позволяет обработать файл с указанными именами в текущей директории и во всех ее поддиректориях. После этого можно воспользоваться командой dir /a: a (вывод файлов с указанным атрибутом a — файлы для архивирования) для просмотра измененных файлов.
Одна из центральных проблем обеспечения безопасности заключается в определении факта изменения файла. Можно ли при этом доверять атрибутам файлов? Атрибуты файлов можно фальсифицировать. Довольно несложно установить нужные значения атрибутов файлов: размер файла, дата и время последней модификации. Большинство приложений это не делает, но иногда вирусы, Троянские кони или программы типа rootkit могут изменять их для скрытия своего присутствия. Противостоять этому позволяют алгоритмы подсчета контрольных сумм и криптографического кэширования.
Алгоритмы подсчета контрольных сумм, например алгоритмы контроля с помощью циклического избыточного кода CRC (CRC – cyclical redundancy check), легко фальсифицируются, если злоумышленник или его программа знает используемый для контроля файлов алгоритм. Поэтому вместо контрольных сумм рекомендуется использовать криптографически стойкие алгоритмы кэширования. Важная особенность алгоритмов кэширования состоит