А АWednesday 13 February 2013

Набор для исследования компьютерных инцидентов, часть 2.

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

reg query "HKLM \ Software \ Microsoft \ Updates \ Internet Explorer 6 \ SP1 \" / v
reg query "HKLM \ Software \ Microsoft \ Updates \ Internet Explorer 6 \ SP2 \" / v
@ echo ОС WinXP
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows XP \" / v
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows XP \ SP1 \" / v
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows XP \ SP2 \" / v
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows XP \ SP3 \" / v
@ echo ОС Win2003
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows 2003 \" / v
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows 2003 \ SP2 \" / v
reg query "HKLM \ Software \ Microsoft \ Updates \ Windows 2003 \ SP3 \" / v
@ echo запрос через MBSA
mbsacli / hf / v
@ echo запрос через WMI
cscript hotfixes.vbs
где hotfixes.vbs имеет вид:
strComputer = "."
Set objWMIService = GetObject ( "winmgmts:" _
& "(ImpersonationLevel = impersonate)! \ \" & StrComputer & "\ root \ cimv2")
Set colQuickFixes = objWMIService.ExecQuery _
( "Select * from Win32_QuickFixEngineering")
For Each objQuickFix in colQuickFixes
Wscript.Echo "Компьютер:" & objQuickFix.CSName
Wscript.Echo "Сервиспак ID:" & objQuickFix.HotFixID
Wscript.Echo "Описание:" & objQuickFix.Description
Wscript.Echo "Дата установки:" & objQuickFix.InstallDate
Wscript.Echo "Под каким пользователем установлено:" & objQuickFix.InstalledBy
Next 

  Важной информацией может стать расширенный перечень не системного ПО установленного в ОС [10]:
@ echo запрос через WMI
cscript installed.vbs
где installed.vbs имеет вид
strComputer = "."
Set objWMIService = GetObject ( "winmgmts: \ \" & strComputer & "\ root \ default")
Set colItems = objWMIService.ExecQuery ( "Select * From InstalledSoftware")
For Each objItem in colItems
Wscript.Echo "Key name:" & objItem.KeyName
Wscript.Echo "Display Name:" & objItem.DisplayName
Wscript.Echo "Display Version:" & objItem.DisplayVersion
Wscript.Echo "Install Location:" & objItem.InstallLocation
Wscript.Echo "Installation Date:" & objItem.InstallDate
Wscript.Echo "Install Source:" & objItem.InstallSource
Wscript.Echo "Uninstall String:" & objItem.UninstallString
Next 







  Однако здесь следует отметить, что такой запрос не дает достоверной информации по следующим причинам:
- существует ПО, которое не оставляет информацию относительно своего места нахождения (Install Location) и дать установки (Installation Date);
- существует ПО, которое вообще не требует инсталляции и может бути запущено в ОС после простого копирования на диск системы. 

  При расследовании эксперту-офицеру безопасности часто необходимо возобновить действия пользователя на компьютере или те, которые были проведены от имени пользователя. Разумеется, когда пользователь компьютера такая же жертва как и сам атакован
ый компьютер, то это предполагает один план действий. Если же пользователь компьютера "замел следы своего творчества", то в этом случае процесс трудный, но не безнадежен. Благо, что последние версии Windows оставляют следы действий пользователя во многих местах. Из анализа данных и взаимной корреляции временных меток этих данных можно восстановить действия пользователя или пользователей за определенный период.

  Вот неполный перечень источников данных в системе Windows:
- отдельного более развернутого толкования заслуживает анализ журналов событий в системе (log-файлы). Для подобного анализа удобно использовать инструментальное средство типа LogParser [22], который позволяет с минимальными знаниями языка запросов SQL изучить практически любые отчеты txt-формата. Естественно для такого же анализа использовать инструментарий WMI, который имеет достаточную универсальность и даже прототип SQL-языка язык WQL [10];
- буфер обмена "Clipboard": нахождение информации как в текстовом так и в двоичном формате, которая возможно отсутствует в файлах ОС;
- корзина "Recycle bin": файл INFO2 в папках RECYCLER для томов под NTFS и папках Recycled для томов под FAT32;
- точки восстановления "System Volume Information": файлы change.log.x и временные дампы журналов событий и реестра OC (snapshot);
- временные файлы работы, создаваемых при работе с сервисами сети Интернет: файл index.dat от "Internet Explorer" или "Netscape Communicator" который содержит информацию о деятельности пользователя как в Интернете так и на локальных дисках, файлы почтовых папок *. pst и *. dbx от почтовых клиентов "OutlookExpress", файлы *. tbb от поштoвого клиента "The Bat!", fat.db, файлы *. hst и *. msf от поштoвого клиента "Netscape / Mozilla";
- файлы thumb.db в любой папке где есть или были графические файлы;
- файл подкачки оперативной памяти: pagefile.sys. 

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

  Результаты исследования (в виде файлов) нужно защитить с помощью цифровой подписи. С помощью цифровой подписи можно определить авторство данных и гарантировать их целостность, то есть отсутствие в этих результатах любых изменений. При добавлении цифровой подписи к результатам их можно передать дальше для более глубокого анализа другому исследователю или в качестве приложения прикрепить до окончательного отчета. Цифровые подписи в Windows создаются с помощью цифровых сертификатов [15]. Исследователь сам может создать собственный сертификат с помощью программы SelfCert.exe из пакета Microsoft Office. Тогда цифровая подпись, например, файла результата result.txt с помощью сертификата под именем "FIO_Investigator" накладывается просто:
cScript putsign.vbs
где putsign.vbs являются:
set objSigner = WScript.CreateObject ( "Scripting.Signer")
objSigner.SignFile "result.txt", "
FIO
_Investigator"
  Проверка цифровой подписи будет не более сложной задачей:
cScript signcheck.js
где signcheck.js являются:
var Signer, File, ShowUI, FileOK;
Signer = WScript.CreateObject ( "Scripting.Signer");
File = "result.txt";
FileOK = Signer.VerifyFile (File, false);
if (FileOK) WScript.Echo ( "Файл" + File + "является надежным");
else WScript.Echo ( "Файл" + File + "поврежден!"); 

  Инструментальные средства для дублирования жесткого диска (получение образа) пораженной системы, а также инструменты для дальнейшего анализа таких образов достаточно известны и подробно представлены во многих источниках [3, 4, 6, 11].

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

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

2. Другой метод получения информации из системы без записи ее на жесткий диск состоит в перенаправление ее на другой компьютер по сети. Одна из наиболее популярных программ, предлагающих такую возможность - это Netcat [5]. 

3. Альтернативой использованию Netcat может быть разработка пакета программ, основанный на технологии клиент-сервер, где весь процесс сбора и передачи информации автоматизирован. Проект такого пакета можно увидеть на Forensics Server Project (FSP)  [7], где компоненты сервера и клиента написанные на скриптовом языке Рerl. FSP является попыткой использовать скриптового языка для запуска утилит, сбора и экспресс-анализа данных с компьютера-жертвы.
4. Альтернативным методом для исследователя инцидентов может быть создание CD с утилитами и скриптами. Это позволяет записать большее количество утилит на один носитель, включая и Windows утилиты типа nbtstat.exe, netstat.exe, net.exe т.п., что обеспечит дополнительную безопасность за счет гарантированного использования оригинальных утилит и невозможности их компрометации в процессе использования.

  Поскольку командной оболочки ОС на машине-жертве может быть изменена (так происходит после того, как учетная запись администратора был сломан), то человек, расследует атаку, не может доверять ее в
ы
водам. Поэтому при расследовании инцидента исследователь должен принести свою собственную оболочку. Надежная командная оболочка - это оригинальный файл cmd.exe. Кроме того, чтобы не нарушать файлы на исследуемой машине, он должен иметь на отдельном носителе все сопутствующие библиотеки (DLL) и вспомогательные файлы, необходимые для работы каждого исполняемого файла с нашего набора инструментов.
 
 Здесь уместно будет предложить использования в качестве носителя инструментария CD с Windows XP собран по технологии Windows Preinstallation Envinronment [8].
  Microsoft Windows Preinstallation Environment (WinPE) является облегченной версией Windows XP, который запускается с любого носителя достаточной емкости - в частности, только для чтения. Система предназначена для подготовки компьютера к установке полноценной ОС. С помощью WinPE можно разбить жесткий диск на разделы и отформатировать их, получить доступ к локальной сети и существующим разделам, включая имеющие формат NTFS, а также попытаться восстановить работу системы и спасти данные.
  Иными словами, это так сказать »LiveCD» на базе Windows, способный загружаться с любого носителя (CD / DVD / Flash-память) даже при полном отсутствии жесткого диска. На таком диске может находиться загружаемая (bootable) OC Windows XP Pro плюс необходимые инструменты исследователя инцидента как с command line interface, т.е. запускаемых в командной строке, так и с GUI-интерфейсом, антивирусные сканеры, другое [9]. При использовании LiveCD для получения живой ответе можно использовать просто как надежный носитель набора инструментов исследователя. Как уже сказано выше, для организации носителя ответы используется известная утилита Netcat, позволяющий передачу собранной информации по сети на машину-адресат, на которой будет проведена дальнейшая экспертиза. Чтобы не использовать сеть - можно предложить в качестве носителя ответы использования USB flash-drive, который к тому же сейчас имеет и программная защита данных. В этом случае собранные данные не уязвимы к перехвату, потери или искажения при передаче по сети. В случае загрузки с LiveCD следует учитывать что исследователь может работать сразу на этапе анализа имеющихся данных. То есть, он не получит полной живой ответа, и не тратит время на дублировании данных. К тому же в этом случае у него есть реальная возможность выяснить проблемы с аппаратным обеспечением компьютера-жертвы и их возможным влиянием на случившееся, а также таким образом можно избежать тех типичных ошибок исследования о которых уже шла речь. 

  Одно из основных положений компьютерной экспертизы заключается в том, чтобы никоим образом не изменить первичные доказательства. К сожалению загрузочный диск DOS или Windows 98 содержит файл io.sys с жестко закодированными ссылками на диск "C: \". Если на исследуемой машине, например, используется сжатие диска DriveSpace, то наш загрузочный диск может попытаться загрузить драйвера с логического диска "C: \" и смонтировать логично несжатые файловую систему, изменяя дату и временные метки на файлах уплотненного диска. Чтобы этого не случилось, нужно исправить или сам файл io.sys или использовать опять же LiveCD. А вариант LiveCD с возможностью загрузки с СD нескольких операционных систем (DOS, Windows 98, Windows XP, Linux, другие) по выбору вообще может быть идеальным средством для исследователя. Например, наиболее дешевое и простое решение объединить большие возможности сетевых утилит систем типа Linux с Windows является использование пакета Cygwin [16]. 

   Или в качестве альтернативы возможно использование виртуальных машин с помощью программного обеспечения от VMWare (Worksation / Server), Microsoft (Virtual PC) или Innotek (VirtualBox [23]). То есть исследователь имеет в своем использовании несколько виртуальных операционных систем с необходимым набором инструментов для исследования, которые кстати можно перенастраюваты за ситуацией. В таком варианте важно то что исследователь имеет возможность запустить несколько разнотипных ОС одновременно, при этом возможно исследование через сеть, сетевая карта самого компьютера исследователя работает в bridged mode, то есть каждая виртуальная ОС выглядит как отдельный компьютер в сети.  В противном случае для быстрого развертывания образа с компьютера жертвы исследования также возможно использование виртуальной ОС. При этом не требуется отдельный компьютер, данные для экспертизы защищены вроде "песочницы", есть возможность делать мониторинг исследуемой системы с помощью снимков текущего состояния (snapshot). Обычно есть возможность запустить более чем один экземпляр образа одновременно для сравнения.
   Еще в одном случае возможно оперативное исследования образа жертвы с использованием виртуальной ОС, который находится на диске USB-flash Или размещен при помощи так называемой функции "Shared folders".
Во всех этих случаях исследователю нет необходимости волноваться за функционирование самой виртуальной ОС от возможной активности вредоносного кода в исследовании системы, так как восстановление и запуск новой виртуальной ОС с шаблона это дело нескольких минут.
 
   Таким образом, любая аномалия, обнаруженная мониторинговой системой или человеком, может оказаться вредоносным инцидентом. После того, как событие расценивается как злонамеренное, персонал, отвечающий за решение таких проблем, должен руководствоваться специализированными процедурами, подготовкой для действий в подобных ситуациях. Выполнение этих процедур рекомендуется осуществлять поэтапно как отмечено в "Computer Security Incident Handling Step by Step" института SANS [3]: 

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

2. Идентификация (indentification). На данном этапе основные усилия исследователя-офицера безопасности должны быть направлены на присвоение инцидента статуса. Важно на этом этапе установить, действительно ли инцидент является злонамеренным. Если это подтверждается, то исследователь проводит оценку области инцидента, устанавливает последовательность мероприятий по сохранению информации с учетом накопленных доказательств и уведомляет соответствующие службы. 

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

4. Искоренение (eradiction). На данном этапе исследователь устанавливает причину злонамеренного инцидента, укрепляет защиту систем и закрывает уязвимости, которые могут позволить злоумышленнику продолжить атаку. 

5. Восстановления (recovery). Этот этап посвящен восстановлению и проверке пораженных систем, возврату операций бизнеса в нормальное состояние и продлению внимательного наблюдения за скомпрометированным системами. На данном этапе организации необходимо решить, готова ли она возобновить осуществление операций в полном объеме. 

6. Этап завершения (follow up). На данном этапе исследователь инцидента составляет отчет, в котором он оценивает действия команды, которая работала над данным инцидентом. Этот этап помогает повысить степень защищенности организации, решая те проблемы, которые могут в дальнейшем привести к возникновению компрометации. На данном этапе команда реагирования реализует действия, одобренные руководством.

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




3. Источники и ссылки 

1. Попов В. И. Информбандитизм и борьба с ним - офицеры безопасности. [http://www.confident.ru]

2. Голубев В.А., Хряпинський П.В. Особенности проведения следственных действий на початковову этапе расследования компьютерных преступлений. [http://www.crime-research.ru]

3. Inside Network Perimeter Security, By Stephen Northcutt, Lenny Zeltser, Scott Winters, Karen Kent, Ronald W. Ritchey Publisher: Sams Publishing Pub Date: March 04, 2005 ISBN: 0-672-32737-6 Pages: 768.

4. Кении Мандиа, Крис Проси прощения, Защита от вторжений. Расследование компьютерных преступлений,-M.: Издательство "ЛОРИ", 2005. - 476 c.

5. Разумов M., Руководство ответственного за устранение инцидентов в Win2k.
[http://www.securitylab.ru] 

6. Stephen Barish, Windows Forensics: A Case Study. [http://www.securityfocus.com/infocus/1653]

7. H. Carvey, Online Forensics of Win/32 System. [http://www.windows-ir.com/tools]

8. Microsoft Windows Preinstallation Environment (WinPE).

[http://www.microsoft.com/Rus/Licensing/Volume/Software_Assurance/AdvantagesOverview/WinPe]

9. LiveCD INFRA. [http://www.philka.ru]

10. Попов А.В., Шикина Е.А. Админстрирование Windows c помощью WMI и WMIC. - М.: БХВ-Петербург, 2004. - 752 с: ил.

11. К.Дж.Джонс, М. Шема, Б. С. Джонсон, Анти-хакер. Средства защиты компьютерных сетей. Справочник профессионала. / Пер. с англ. - М.: СП ЭКОМ, 2003. - 688с.: Ил.

12. Fport - maps open TCP / UDP ports to running processes. [http://www.foundstone.com/resources/intrusion_detection.htm]

13. Windows 2000 Resource Kit. Auditpol - list system's audit policy. [http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp]

14. Windows 2000 Resource Kit. Dumpel - dumps Windows Event Log to human-readable text. [http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp]

15. А. Попов, Windows Script Host для Windows 2000/XP. - М.: БХВ - Петербург, 2003. - 640 с.

16. Unix tools and subsytem on Windows. [http://cygwin.com]

17. Компьютерная контрразведка или кто следит за нами ... [http://www.zahist.narod.ru/analytic.htm]

18. LADS. [http://www.heysoft.de]

19.Winternals Administrator's Pak. [http://www.sysinternals.com]

20. Microsoft Baseline Security Analyzer. [http://www.microsoft.com/technet/security/tools/mbsa2/datasheet.mspx] 

21. Новые возможности средства PortQry 2.0. [http://support.microsoft.com/kb/310099]

22. Log Parser. [http://www.microsoft.com/technet/scriptcenter/tools/logparser/default.mspx]

23. VirtualBox. [http://www.virtualbox.org] 

No comments:

Post a Comment

А что вы думаете по этому поводу?

Версия на печать

Популярное