Knigi-for.me

Коллектив авторов - Защита от хакеров корпоративных сетей

Тут можно читать бесплатно Коллектив авторов - Защита от хакеров корпоративных сетей. Жанр: Прочая околокомпьтерная литература издательство неизвестно, год неизвестен. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте knigi-for.me (knigi for me) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Ознакомительная версия. Доступно 38 из 188 стр.

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

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

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

Трудоемкий способ: ручное сравнение

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

Очевидно, что так можно сделать, но на это уйдет больше времени и труда, чем если бы читатель поступил по-другому. Хотя в отдельных случаях ручное сравнение – лучший способ исследования. Например, при исследовании реестра Windows (Windows Registry – иерархическая база данных, хранящая информацию о конфигурации компьютера и об аппаратном и программном обеспечении; организована в структуру поддеревьев с ключами и подключами) может получиться так, что на исследуемой машине не окажется инструментальных средств контроля нужной части реестра. В то же время утилита Regedit почти всегда доступна. Она позволяет экспортировать реестр Windows в текстовый файл. В других случаях, при необходимости отбора нескольких файлов среди ряда дополнительных, поиск различий на всем диске может оказаться предпочтительным для первоначальной локализации файла, представляющего интерес. Иногда метод грубой силы может оказаться привлекательнее тонких методов исследования, особенно если на их подготовку потребуется дополнительное время.

Сравнение атрибутов файла

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

Ниже представлен уместный фрагмент кода файла ext2_fs.h инсталляции Red Hat 6.2 Linux:

/*

* Structure of an inode on the disk

*/

struct ext2_inode {

__u16 i_mode; /* File mode */

__u16 i_uid; /* Owner Uid */

__u32 i_size; /* Size in bytes */

__u32 i_atime; /* Access time */

__u32 i_ctime; /* Creation time */

__u32 i_mtime; /* Modification time */

__u32 i_dtime; /* Deletion Time */

__u16 i_gid; /* Group Id */

__u16 i_links_count; /* Links count */

__u32 i_blocks; /* Blocks count */

__u32 i_flags; /* File flags */

В большинстве UNIX-систем атрибуты файла описаны похожим способом. В их состав входят владелец, размер, несколько полей времени и даты, группа, счетчик связей этого файла, число используемых блоков диска и флаги файла (стандартные разрешения чтения, записи и выполнения файлов). Какие атрибуты интересны для нас? В большинстве случаев это один из атрибутов времени и размер файла. Любой из них может быть определен переадресовыванием вывода команды ls – al в файл до и после наступления анализируемого события с последующим сравнением двух файлов, как это показано в следующем примере:

[[email protected]]$ diff /tmp/before /tmp/after

2,3c2,3

< drwxrwxr-x 2 ryan ryan 7168 Jun 16 01:55 .

< drwxrwxrwt 9 root root 1024 Jun 16 01:55 ..

> drwxrwxr-x 2 ryan ryan 7168 Jun 16 01:56 .

> drwxrwxrwt 9 root root 1024 Jun 16 01:56 ..

97c97

< -rw-r—r– 1 ryan ryan 31533 Jun 16 01:55 fs.h

> -rw-r—r– 1 ryan ryan 31541 Jun 16 01:56 fs.h

Из примера видно, что файл fs.h изменился. Этот способ сравнения содержимого директории обнаруживает изменение любого атрибута файла. Быстрый способ простого отслеживания изменения атрибута времени заключается в использовании команды ls – al, показанной в следующем примере. Команда ls – al в примере соединена программным каналом с командой more:

[[email protected]]$ ls -alt | more

total 2224

drwxrwxrwt 9 root root 1024 Jun 16 01:56 ..

drwxrwxr-x 2 ryan ryan 7168 Jun 16 01:56 .

-rw-r—r– 1 ryan ryan 31541 Jun 16 01:56 fs.h

-rw-r—r– 1 ryan ryan 7295 Jun 16 01:55 a.out.h

-rw-r—r– 1 ryan ryan 2589 Jun 16 01:55 acct.h

-rw-r—r– 1 ryan ryan 4620 Jun 16 01:55 adfs_fs.h

…и т. д. Файлы, модифицированные последними, выводятся первыми. В DOS/Windows команда dir /o: d позволяет отсортировать список выводимых файлов по дате, как это показано в следующем примере:

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), легко фальсифицируются, если злоумышленник или его программа знает используемый для контроля файлов алгоритм. Поэтому вместо контрольных сумм рекомендуется использовать криптографически стойкие алгоритмы кэширования. Важная особенность алгоритмов кэширования состоит в том, что возможность получения для двух различных кэшируемых файлов одной и той же величины кэш-значения ничтожно мала. Практически невозможно подменить один файл другим с той же самой величиной кэш-значения. Величина кэш-значения – это обычно 128-битовое или 160-битовое двоичное число, для хранения которого требуется значительно меньше места, чем для кэшируемого файла.

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

Очевидно, этот метод имеет хорошие перспективы для обеспечения безопасности систем. Чтобы быть совершенно точным, автор должен частично отречься от своего утверждения, что при помощи алгоритмов кэширования можно определить изменения файлов, выполненные программами типа root kit. Они позволят определить изменения файлов, выполненные при помощи наивных программ этого типа. Действительно, хорошая программа типа root kit, предполагая о возможности кэширования, вынуждает операционную систему работать с разными файлами в разное время. Например, при чтении файла (кстати говоря, программой кэширования), измененная операционная система передает реальный исходный файл. При запросе на выполнение выполняется модифицированный файл.

Ознакомительная версия. Доступно 38 из 188 стр.

Коллектив авторов читать все книги автора по порядку

Коллектив авторов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-for.me.