Лет пять назад читывал один очень интересный документ по исследованию компьютерных инцидентов. Автор этого документа подавал его даже для печати в солидный журнал. Но оказалось, что у рецензента было свое видение главного определения "Компьютерный инцидент". Также резко выделялось практическое направление документа, что со слов того же рецензента будет мало понятно читателям журнала. Возможно он прав - есть глянцевые издания для теоретиков, главное формул побольше.
Поэтому сегодня предлагаю это документ вам. Сами можете оценить насколько он практичен.
Компьютерный инцидент -
это аномальное явление, которое может влиять на конфиденциальность, целостность
и доступность информации. Такой случай может указывать как на сбой в системе
так и на злонамеренные действия. Сегодня субъектами совершения злоупотребления
с использованием информационных технологий могут быть как сотрудники
финансово-хозяйственных структур, так и посторонние лица, не работающие в
банковских структурах - злоумышленники. Последние в большинстве случаев
работают самостоятельно, по собственной инициативе, но не исключается также их
сговор с отдельными работниками кредитно-финансовых учреждений. Поэтому
общепринятый термин "офицер безопасности" приобрел иной смысл -
информационного. Только когда за защиту каждого хоста корпоративной сети будет отвечать
опытный офицер безопасности, имеющий в своем распоряжении необходимые
инструменты защиты, можно будет говорить об адекватных мерах в отношении
возможных внештатных случаев. Экспертиза аномального явления требует некоторого
времени не только на поиск соответствующих специалистов, но и на ее
производство, а при исследовании часто важным фактором, позволяющим сохранить
необходимую доказательную информацию, является оперативность. Именно поэтому
исследования компьютерных инцидентов приходиться проводить теми силами, которые
существуют в данный момент. В этом случае исследователь сам не застрахован от
ошибок [2].
Поставленная проблема имеет два аспекта: общие ошибки, допускаемые соответствующими сотрудниками отделов защиты информации при расследовании случаев, связанных с компьютерами и защиту (блокирование или уничтожение) информации, установленный на компьютерах их непосредственными пользователями или злоумышленником.
Поставленная проблема имеет два аспекта: общие ошибки, допускаемые соответствующими сотрудниками отделов защиты информации при расследовании случаев, связанных с компьютерами и защиту (блокирование или уничтожение) информации, установленный на компьютерах их непосредственными пользователями или злоумышленником.
Рассмотрим некоторые типичные ошибки, которые часто случаются при проведении
исследования инцидентов по отношению к компьютерной информации.
Ошибка 1. Запуск компьютера с ОС, которая
на нем установлена, в течение исследования.
Первое и основное правило, которое неукоснительно должно выполняться: не допускается погрузка (перезагрузка) такого компьютера с использованием операционной системы самого компьютера! Такое правило объясняется довольно просто: злоумышленнику не составляет особого труда установить на компьютере программу для уничтожения информации на жестком или гибком магнитном диске, записав такую "мину" через модификацию операционной системы. После того как данные и сама разрушительная программа уничтожены, никто не сможет вероятных сказать, был ли компьютер-жертва специально оснащенный такими программами, или это результат небрежности при исследовании? Поэтому прежде всего необходимо убедиться через настройки BIOS и аппаратную конфигурацию компьютера относительно текущего приоритета электронных носителей для загрузки ОС на исследовании компьютере.
Первое и основное правило, которое неукоснительно должно выполняться: не допускается погрузка (перезагрузка) такого компьютера с использованием операционной системы самого компьютера! Такое правило объясняется довольно просто: злоумышленнику не составляет особого труда установить на компьютере программу для уничтожения информации на жестком или гибком магнитном диске, записав такую "мину" через модификацию операционной системы. После того как данные и сама разрушительная программа уничтожены, никто не сможет вероятных сказать, был ли компьютер-жертва специально оснащенный такими программами, или это результат небрежности при исследовании? Поэтому прежде всего необходимо убедиться через настройки BIOS и аппаратную конфигурацию компьютера относительно текущего приоритета электронных носителей для загрузки ОС на исследовании компьютере.
Ошибка 2. Отсутствие проверки компьютера
на наличие вирусов и программных закладок.
Для проверки компьютера на наличие вирусов и программных закладок (программ-шпионов, перехватчиков нажатий на клавиши клавиатуры и т.п.), необходимо выполнять загрузку компьютера не из операционной системы находящейся в нем, а из своего заранее подготовленного носителя. Кстати, такой проверке подлежат все носители информации - дискеты, магнитооптические диски и другие носители информации, которые принадлежат пользователю этого компьютера.
Для повышения достоверности результатов проверки относительно отсутствия программных закладок необходимо использовать наряду с антивирусным еще и специализированное ПО [17]: Lavasoft Ad-Aware, Xcleaner, Anti-keylogger.
Желательно для проверки использовать несколько версий программного обеспечения одного типа от разных производителей ПО с актуальными базами уязвимостей.
Для проверки компьютера на наличие вирусов и программных закладок (программ-шпионов, перехватчиков нажатий на клавиши клавиатуры и т.п.), необходимо выполнять загрузку компьютера не из операционной системы находящейся в нем, а из своего заранее подготовленного носителя. Кстати, такой проверке подлежат все носители информации - дискеты, магнитооптические диски и другие носители информации, которые принадлежат пользователю этого компьютера.
Для повышения достоверности результатов проверки относительно отсутствия программных закладок необходимо использовать наряду с антивирусным еще и специализированное ПО [17]: Lavasoft Ad-Aware, Xcleaner, Anti-keylogger.
Желательно для проверки использовать несколько версий программного обеспечения одного типа от разных производителей ПО с актуальными базами уязвимостей.
Ошибка 3. Допуск к компьютерa
пользователя этого компьютера при исследовании.
Серьезной ошибкой есть допуск к исследуемому компьютеру его пользователя для помощи при его исследовании. Сам пользователь с непониманием сложившейся ситуации может спровоцировать процесс безвозвратного уничтожения (повреждения) информации путем выполнения простых, на первый взгляд, действий, например, перезагрузка ОС компьютера. Это особенно касается случаев при расследовании деятельности связанной с Интернетом и отсутствием или очисткой с "уважительным" причинам журналов работы пользователя с ПО "Internet Explorer" и "Outlook Express", либо подобного.
Серьезной ошибкой есть допуск к исследуемому компьютеру его пользователя для помощи при его исследовании. Сам пользователь с непониманием сложившейся ситуации может спровоцировать процесс безвозвратного уничтожения (повреждения) информации путем выполнения простых, на первый взгляд, действий, например, перезагрузка ОС компьютера. Это особенно касается случаев при расследовании деятельности связанной с Интернетом и отсутствием или очисткой с "уважительным" причинам журналов работы пользователя с ПО "Internet Explorer" и "Outlook Express", либо подобного.
Ошибка 4. НЕ отключение компьютера, который
подвергся атаке, от информационной сети физически.
Работа в режиме одного монопольного пользователя на Windows-системе не даст возможности злоумышленнику и вредным процессам получать доступ к машине или изменять каким-либо образом ее состояние во время исследования.
Если не отключить машину от сети, может случиться так, что злоумышленник отменит действия, которые делаются исследователем на машине.
Работа в режиме одного монопольного пользователя на Windows-системе не даст возможности злоумышленнику и вредным процессам получать доступ к машине или изменять каким-либо образом ее состояние во время исследования.
Если не отключить машину от сети, может случиться так, что злоумышленник отменит действия, которые делаются исследователем на машине.
Ошибка 5. Не принятие возможных мер для
снятия образа жесткого диска атакованного компьютера.
Прежде чем начинать анализ инцидента, нужно сделать полный бекап атакованой системы. Возможно в будущем понадобится вернуться к этим файлам. Создание "низкоуровневой" резервной копии является очень важным процессом, поскольку вполне вероятно, что понадобится вернуть атакованую машину в то состояние, в котором она находилась именно в момент, когда впервые было замечено несанкционироанное вторжение. Также, файлы могут понадобится для официального расследования. Заметьте, и отметьте дату резервной копии и храните ее в безопасном для хранения данных месте.
Корректные действия по устранению последствий инцидентов в компьютерной безопасности стоят на втором месте по важности, уступая лишь превентивным мерам по предотвращению этим инцидентов. Неправильная обработка, или сбор имеющейся информации может нанести непоправимый вред исследованию. Исследователи должны хорошо знать, какую информацию они намерены собирать, а также какие инструменты они могут использовать и какое влияние окажут эти инструменты на саму систему. Желательно, чтобы это влияние было нулевым!
Прежде чем начинать анализ инцидента, нужно сделать полный бекап атакованой системы. Возможно в будущем понадобится вернуться к этим файлам. Создание "низкоуровневой" резервной копии является очень важным процессом, поскольку вполне вероятно, что понадобится вернуть атакованую машину в то состояние, в котором она находилась именно в момент, когда впервые было замечено несанкционироанное вторжение. Также, файлы могут понадобится для официального расследования. Заметьте, и отметьте дату резервной копии и храните ее в безопасном для хранения данных месте.
Корректные действия по устранению последствий инцидентов в компьютерной безопасности стоят на втором месте по важности, уступая лишь превентивным мерам по предотвращению этим инцидентов. Неправильная обработка, или сбор имеющейся информации может нанести непоправимый вред исследованию. Исследователи должны хорошо знать, какую информацию они намерены собирать, а также какие инструменты они могут использовать и какое влияние окажут эти инструменты на саму систему. Желательно, чтобы это влияние было нулевым!
Полный цикл компьютерного расследование проводится в шесть этапов [4, 11]:
1- получение оперативной информации системы (live response);
2- дублирование данных;
3- анализ полученных данных;
4- составление отчета и создание рекомендаций;
5- мероприятия по устранению последствий данного инцидента;
6- мероприятия по предотвращению подобных инцидентов в будущем.
Исследователи предполагают, что не каждая несанкционированное событие требует
полного исследования. Понятно, что каждый инцидент требует различных действий
от исследователей. Существуют определенные типы информации, которые могут быть
собраны и быстро проанализированы для того, чтобы определить, какие дальнейшие
шаги следует сделать. Живой ответ позволяет собрать кратковременно
существующие данные, которые теряются, когда машина-жертва выключается. Живой
ответ может быть единственным шансом, если не зависящие от вас обстоятельства
не позволяют выключить машину. Такой ответ может быть критически важным не
только для определения дальнейших действий исследователя, но и с финансовой
точки зрения. Исключение системы может оказаться очень дорогостоящим, тогда как
необходимая для определения природы инцидента информация может быть легко
собрана без этого. Поэтому лицо, ответственное за устранение инцидента должно
хорошо понимать, какая информация может и должна быть собрана именно на этом
начальном этапе.
1. Вариант набора инструментальных средств исследователя для получения
живой ответа с запуском из командной строки ОС (Command Line Interface Forensic
Toolkit)
Обычно при возникновении инцидента существуют первые шаги,
ведущие к лог-файлам, например, таких как журнал событий (EventLog). Однако,
после совершения атаки может остаться дополнительный процесс, который
выполняется в памяти компьютера. Информация об этом процессе, такая как полный
командный путь, принадлежность к имени пользователя, может быть
беспрепятственно получена блоком утилит [5, 6, 7, 12, 13, 21]:
@ echo перечень открытых IP-портов
fprt
openports-lines-path
PortQry.exe-local-v
@ echo список процессов, выполняющихся в системе
pslist
tasklist
@ echo список служб, выполняющихся в системе
sclist
@ echo перечень последних входов пользователей в систему
psloggedon
ntlast
ntlast-v
@ echo перечень событий в системе которые регистрируются в журнале
auditpol
@ echo перечень библиотек типа DLL, загруженных в систему
listdlls
@ echo перечень задач, которые выполняются по расписанию
at
schtasks
Эти утилиты могут предоставить много информации о ресурсах, используемые
процессом, но основной информации, названной выше, должно быть вполне
достаточно для администратора или исследователя за устранение и обнаружения
чего-либо подозрительного или необычного.
Временные метки на файловой системе, связанные с обращениями к
файлам:
dir / t: a / o: d / s c: \
Временные метки на файловой системе, которые отвечают последним
изменениям в файлах:
dir / t: w / o: d / s c: \
Временные метки на файловой системе, которые отвечают созданию
файлов:
dir / t: c / o: d / s c: \
Злоумышленники могут скрывать свои инструментальные средства на томах
NTFS через механизм, известный как "потоковая" передача файлов (file
streaming). Когда инструментальные средства скрытые таким образом, то файлы в
которых они спрятаны, не изменяются в размерах. Поэтому для выявления потоковых
файлов используются следующие утилиты [18]:
lads c: \ / s
sfind c: \
lads c: \ / s
sfind c: \
При получении живой ответы важно исследователю прежде всего сделать
резервную копию Windows EventLog как в двоичном так и в текстовом виде [10,
14]:
@ echo двоичный формат журналов
cscript evt.vbs / Host: Hostname
где evt.vbs имеет вид:
strComputer = "."
Set objArgs = WScript.Arguments
Set objNamedArgs = objArgs.Named
HostName = objNamedArgs ( "Host")
Set objWMIService = GetObject ( "winmgmts:" _
& "(ImpersonationLevel = impersonate, (Backup, Security))! \ \" & _
strComputer & "\ root \ cimv2")
Set colLogFiles = objWMIService.ExecQuery _
( "Select * from Win32_NTEventLogFile where LogFileName = 'Application'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog (HostName & "_app.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Application eventlog could not be backed up."
End If
Next
Set colLogFiles = objWMIService.ExecQuery _
( "Select * from Win32_NTEventLogFile where LogFileName = 'Security'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog (HostName & "_sec.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Security eventlog could not be backed up."
End If
Next
Set colLogFiles = objWMIService.ExecQuery _
( "Select * from Win32_NTEventLogFile where LogFileName = 'System'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog (HostName & "_sys.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The System eventlog could not be backed up."
End If
Next
@ echo текстовый формат журналов
dumpel-l security-f USB_sec.txt
dumpel-l application-f USB_app.txt
dumpel-l system-f USB_sys.txt
@ echo двоичный формат журналов
cscript evt.vbs / Host: Hostname
где evt.vbs имеет вид:
strComputer = "."
Set objArgs = WScript.Arguments
Set objNamedArgs = objArgs.Named
HostName = objNamedArgs ( "Host")
Set objWMIService = GetObject ( "winmgmts:" _
& "(ImpersonationLevel = impersonate, (Backup, Security))! \ \" & _
strComputer & "\ root \ cimv2")
Set colLogFiles = objWMIService.ExecQuery _
( "Select * from Win32_NTEventLogFile where LogFileName = 'Application'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog (HostName & "_app.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Application eventlog could not be backed up."
End If
Next
Set colLogFiles = objWMIService.ExecQuery _
( "Select * from Win32_NTEventLogFile where LogFileName = 'Security'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog (HostName & "_sec.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Security eventlog could not be backed up."
End If
Next
Set colLogFiles = objWMIService.ExecQuery _
( "Select * from Win32_NTEventLogFile where LogFileName = 'System'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog (HostName & "_sys.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The System eventlog could not be backed up."
End If
Next
@ echo текстовый формат журналов
dumpel-l security-f USB_sec.txt
dumpel-l application-f USB_app.txt
dumpel-l system-f USB_sys.txt
В следующем блоке можно получить огромное количество информации о
NetBIOS соединения исследуемой системы:
net use
net session
net file
net share
srvcheck \ \ Hostname
net view
net user
net accounts
net localgroup
net start
net config server
net config workstation
nbtstat-c
nbtstat-n
nbtstat-s
net use
net session
net file
net share
srvcheck \ \ Hostname
net view
net user
net accounts
net localgroup
net start
net config server
net config workstation
nbtstat-c
nbtstat-n
nbtstat-s
Для сбора временной информации, специфичной для Internet и Ethernet
соединений системы используем блок команд:
netstat-anо
netstat-r
arp-a
ipconfig / all
netstat-anо
netstat-r
arp-a
ipconfig / all
Исследователь инцидентов должен получить содержимое Clipboard
пострадавшей системы. В Clipboard могут храниться важные улики, даже содержимое
файлов или пароли [7, 19]:
@ echo текстовый формат содержимого
pclip.exe
@ echo текстовый формат содержимого или двоичный формат в виде изображения формата JPG
clpview.exe / c
@ echo текстовый формат содержимого
pclip.exe
@ echo текстовый формат содержимого или двоичный формат в виде изображения формата JPG
clpview.exe / c
Если открыто на экране или свернут в панели задач окно "command
prompt", то этот факт следует задокументировать, а затем запустить в нем
команду doskey / history для получения истории выполненных команд.
Исследователю может также понадобиться информация из реестра
подозреваемой машины. Хотя эта информация не может считаться временной, часто
информация из реестра помогает принять решение относительно состояния исследования:
есть смысл или нет выключать компьютер для снятия образа жесткого диска, и т.п.
Особенно это касается содержания ключей реестра автозапуска программ при старте
системы [14, 19]:
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \" / v
autorunsc-s-w-a
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ WinLogon"
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run" / s
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce" / s
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnceEx" / s
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunServices" / s
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AeDebug" / v Debugger
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run" / s
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce" / s
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnceEx" / s
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunServices" / s
reg query "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ URL \ Prefixes" / s
reg query "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ URL \ DefaultPrefix" / s
reg query "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Browser Helper Objects" / s
@ echo архив кустов реестра ОС в двоичном формате
reg export HKLM HKLM.reg
reg export HKCU HKCU.reg
reg export HKCR HKCR.reg
reg export HKCC HKCC.reg
reg export HKU HKUsers.reg
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \" / v
autorunsc-s-w-a
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ WinLogon"
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run" / s
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce" / s
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnceEx" / s
reg query "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunServices" / s
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AeDebug" / v Debugger
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run" / s
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce" / s
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnceEx" / s
reg query "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunServices" / s
reg query "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ URL \ Prefixes" / s
reg query "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ URL \ DefaultPrefix" / s
reg query "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Browser Helper Objects" / s
@ echo архив кустов реестра ОС в двоичном формате
reg export HKLM HKLM.reg
reg export HKCU HKCU.reg
reg export HKCR HKCR.reg
reg export HKCC HKCC.reg
reg export HKU HKUsers.reg
Не менее ценной может стать информация об установленных servicepack и
обновления на исследуемой системе [10, 14, 20]:
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Hotfix \" / v
reg query "HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Hotfix \" / v
Через пару дней ожидайте продолжения с ссылками на минимальный набор исследователя !
No comments:
Post a Comment
А что вы думаете по этому поводу?