Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Безопасность сетей Windows для профессионалов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

8. Forensics - расследование компьютерных инцидентов

Расследование нарушений безопасности (forensics), действия при расследовании инцидентов безопасности, Acronis True Image и Ghost for Unix, анализ компьютера, Process Explorer, usrstat, время последнего изменения файла, время последнего обращения к файлу

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

Признаков нарушения системы безопасности может быть много. Вот только некоторые из них:

·        компьютер из внутренней сети, к которому не должно быть доступа из Интернета, активно обменивается пакетами с неизвестным (неизвестными) хостами в Интернете;

·        в журналах событий (серверов, роутеров, IDS и т.п.) зафиксированы неидентифицированные обращения к важным данным;

·        сами журналы событий уничтожены или перезаписаны;

·        важные данные разглашены, уничтожены или изменены;

·        в системе появились новые пользователи/группы, изменилось членство пользователей в группах;

·        изменены разрешения на важные ресурсы;

·        обнаружены троянские программы или вирусы;

·        во внутренней сети появился неизвестный трафик;

·        на компьютерах пользователей/серверах появились новые процессы;

·        какие-то рабочие станции/серверы утратили работоспособность (или произошло заметное падение производительности);

·        на дисках появились новые каталоги/файлы, изменены страницы, которые по умолчанию открывались в Internet Explorer, приложения выдают нестандартные сообщения и т.п.

·        произошли другие необычные события, которые позволяют предположить нарушения безопасности.

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

Первое действие - необходимо сразу же отключить систему, чья система безопасности была нарушена. Это необходимо сделать по очевидным причинам: на системе могут производиться деструктивные действия (уничтожение данных, журналов событий и т.п.), пока система остается в рабочем состоянии, данные могут с нее продолжать уходить, хакер может попытаться скрыть следы своего пребывания, пораженная система может использоваться как плацдарм для атаки на другие системы и т.п. Единственная ситуация, когда пораженную систему не нужно сразу отключать - когда хакер обратился к системе-ловушке (honeypot), специально для этого предназначенной. Иногда руководство предприятия может настаивать на том, чтобы пораженная система продолжала работать, мотивируя это производственной необходимостью. Конечно же, такой подход неверен, поскольку может привести к намного большему времени простоя. Рекомендуется заранее создать план процедур на случай подобных ситуаций и официально этот план утвердить во избежание конфликтов.

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

·        если есть опасность повреждения баз данных (SQL Server, Exchange Server, Oracle и т.п.), то рекомендуется выполнить нормальный shutdown, чтобы минимизировать такую возможность;

·        если такой опасности нет, то лучше произвести "холодное отключение", воспользовавшись кнопкой на корпусе или выключив питание. Это позволит сократить время выключения и, возможно, избежать каких-то вредоносных процедур, которые должны были быть выполнены при нормальном отключении;

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

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

·        правоохранительные органы в зарубежных странах пользуются программно-аппаратными комплексами, такими, как Encase и SafeBack. Эти комплексы переносят содержимое жесткого диска и других носителей на компьютере на магнитную ленту. Конечно же, обычный администратор на предприятии вряд ли сможет претендовать на покупку такого устройства;

·        из самых популярных средств снятия образов жесткого диска под Windows самое популярное - Acronis True Image. Он умеет снимать имиджи "живой системы". Но эта программа требует работающей системы Windows, что входит в противоречие с утверждением о том, что систему необходимо сразу отключать. Кроме того, это средство платное (и весьма недешевое);

·        еще одно средство - Acronis Disk Image. Эта утилита работает под DOS - ее необходимо поместить на загрузочную дискету. В основном она предназначена для копирования имиджа одного диска на другой. Проблема заключается в том, что она умеет писать только на FAT16 - поэтому имиджи приходится разбивать на части блоками по 2 Гбайт;

·        одно из самых распространенных средств - Norton Ghost. Однако проблемы с ним заключаются в том, что он:

o       опять-таки платный;

o       требует наличие в сети работающего сервера Norton Ghost и выполнения на нем определенных действий (что в реальной работе означает беготню от этого сервера до компьютера, с которого снимается имидж);

o       предназначен для клонирования дисков в целях быстрой установки множества компьютеров, поэтому с ним необходимо быть очень осторожным - он может удалить SIDы и т.п.

·        существует множество бесплатных и неплохих средств для работы с имиджами под Unix. Многие профессионалы предпочитают использовать связку стандартных и бесплатных dd (дублирование дисков) - NETCAT (передача потока двоичных данных по сети). Но такая работа не очень надежна и требует достаточно высокой квалификации в Unix;

·        с моей точки зрения, лучшее средство - это Ghost for Unix. Он умещается на дискету (точнее, поставляется в виде имиджа дискеты или компакт-диска), позволяет делать имиджи дисков на другой физический IDE или SCSI диск или на любой FTP-сервер в сети (TCP/IP устанавливается по DHCP). Естественно, он умеет производить также восстановление данных. При этом он полностью бесплатен (GPL) и поддерживает практически любые распространенные файловые (включая NTFS) и операционные системы. Сервером для него может являться любой FTP-сервер (если имиджи большие, нужно, чтобы FTP-сервер поддерживал работу с файлами более 2 Гбайт - Windows 2000 и выше такую работу поддерживают).

Практически любое такое средство поддерживает создание имиджа "с диска на диск". Некоторые поддерживают запись на компакт-диски и DVD-диски, но, учитывая размеры современных винчестеров, такая работа не очень удобна. Удобнее всего работать по сети (Norton Ghost и Ghost for Unix).

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

Что необходимо обследовать:

·        если есть подозрение на наличие вирусов/троянов/malware - для целей проверки запускаются антивирусы и специализированные программы типа PestPatrol с обновленными базами данных;

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

o       информацию об исполняемом файле с данными о командной строке, с которой был запущен данный модуль;

o       информация о всех потоках данного процесса (с возможностью убить каждый поток по отдельности);

o       информация стека для данного процесса;

o       информацию о всех открытых портах/установленных соединениях для данного процесса;

o       информацию о разрешениях для файла данного процесса и самого процесса;

o       информацию о всех текстовых строках, которые удалось обнаружить в исполняемом файле процесса;

o       и многое-многое другое.

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

На следующем уровне - уже применение дизассемблеров типа SoftIce или IDA, но их рассмотрение выходит за рамки данного курса;

·        очень часто вирусы/malware организуют для себя автозапуск при загрузке Windows. Этого можно добиться множеством разных способов: прописав себя в разделы реестра (Run, RunOnce, RunOnceEx, RunServices, RunServicesOnce и т.п.) для текущего пользователя/Default User/All Users, поместив себя в autoexec.bat, config.sys, win.ini, system.ini, просто поместив в папки Startup для текущего пользователя/Default User/All Users и т.п. Проверять папки автозапуска можно вручную, при помощи встроенной во все версии Windows, начиная с Windows 98, утилиты MSCONFIG, а можно при помощи специализированных утилит. Одна из лучших утилит для этих целей - Starter (в каталоге Forensics на компакт-диске). Эта утилита выводит список всех автозапускаемых программ с указанием источника, сведениями о каждом файле и возможностью производить поиск но названию файла на множестве поисковых систем;

·        еще одна возможность для вредоносного программного обеспечения - притвориться драйвером или службой. Для анализа подозрительных служб ничего особенного не требуется - они видны в том же Process Explorer, а для выявления неправильных драйверов можно воспользоваться встроенной в Windows 2000/XP/2003 утилитой verifier. В первую очередь следует обратить внимание на неподписанные (цифровой подписью Microsoft) драйверы - вряд ли у злоумышленника будет возможность правильно подписать свои программы.

Если же мы подозреваем, что вредоносные программы не использовались, а применялись стандартные средства, то есть смысл обратить внимание:

·        на журналы событий сервера, особенно журналы событий безопасности;

·        на появление новых пользователей и изменения членства в группах. Windows сохраняет информацию о времени последнего входа каждого из пользователей в систему. Эту информацию можно просмотреть, например, при помощи утилиты usrstat из Windows 2000 Resource Kit. Для поиска информации по группам (в том числе между доменами) можно использовать утилиту findgrp.exe из того же Resource Kit;

·        на изменения в разрешениях на важные ресурсы и изменения на всю систему целиком;

·        можно проверить на время последнего изменения или последнего доступа (эта информация пишется еще со времен MS-DOS). Можно провести поиск при помощи Windows Explorer, а можно просто воспользоваться командой DIR. Например, чтобы провести сканирование по всем каталогам, вывести для каждого файла информацию по последнему времени обращения к нему, упорядочить по этому столбцу и записать эту информацию в файл my.txt, можно воспользоваться командой вида

dir /od /ta /s > my.txt

Однако нужно помнить, что время последнего доступа/последнего изменения очень легко поменять - при помощи специальных утилит типа fileTweak или программно/из скрипта.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru