После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение? |
Судебные средства
Средства судебного анализа
Одна из проблем, с которой сталкиваются компьютерные следователи, состоит в том, что обычные файловые утилиты могут необратимо изменить файлы, фактически "смазывая" картину преступления и удаляя нужные вам свидетельства. Например, просмотр файлов с помощью обычного редактора изменит такие вещи, как временные метки. Представьте, что кто-нибудь топчется в грязных ботинках на месте реального преступления и двигает объекты по всему помещению. То же происходит при осмотре системы без подходящих средств. Вы не только лишитесь возможности принять какие-либо уголовные или гражданские меры, но можете также стереть цифровые следы атакующего. Хакеры часто применяют средства, скрывающие процессы и файлы от обычных системных утилит, поэтому вам нужны специальные инструменты, действующие вне обычной операционной системы, чтобы увидеть больше того, что видит ОС.
В последующих разделах представлены средства как для Linux, так и для Windows. Сначала мы рассмотрим несколько судебных средств уровня операционной системы, а затем - полнофункциональный инструментарий для более глубокого анализа. Помните, что применение средств уровня операционной системы может возвращать неверные или поддельные данные, если ваша ОС действительно была скомпрометирована.
Fport: Средство идентификации процессов для Windows |
---|
Fport Автор/основной контакт: Foundstone, Inc. Платформы: Windows NT, 2000, XP Рассмотренная версия: 2.0 |
Это небольшое добавление к системе может быть полезно при исследовании машины на предмет подозрительной активности. Нередко вирус, резидентный в памяти, или "троянская" программа проявляются как процесс, выполняющийся под странным именем или с необычным портом. Fport ищет открытые сетевые порты TCP или UDP и выдает их вместе с идентификатором ассоциированного процесса, именем процесса и маршрутным именем. Программа Fport аналогична собственной команде Windows netstat за исключением того, что предоставляет несколько больше информации и позволяет различным образом форматировать вывод для анализа. Это помогает отследить подозрительные программы, которые открывают сетевые порты на вашей машине. Подобное поведение служит признаком "троянской" программы.
Конечно, не каждый неопознанный процесс является вредоносной программой, но желательно понять, что делают странные на вид сервисы, особенно с нестандартными маршрутными префиксами (отличными от системных каталогов Windows и подобных), странными или хакерскими именами.
Программа Fport создана и распространяется компанией Foundstone Corporation, занимающейся разработкой защитного программного обеспечения и оказывающей консультационные услуги. Компания предлагает несколько других свободных средств безопасности, и их web-сайт в любом случае стоит посетить. Хотя исходные тексты программы Fport не вполне открыты (распространяются только бинарные файлы), она условно свободна, и для ее применения в коммерческих целях имеются лишь незначительные ограничения.
Установка Fport
Загрузите zip-файл с web-сайта Foundstone и распакуйте его в отдельном каталоге. Там появятся два файла - исполнимый файл Fport и небольшой информационный README.
Применение Fport
Программа Fport помогает определить, была ли машина взломана и откуда пришел нарушитель. Она должна выполняться на живой системе, то есть включенной и работающей: Fport не может выполняться на статических данных.
Для запуска Fport в каталоге с исполнимым файлом введите в командной строке fport. Будет распечатан список всех портов, открытых в данный момент, и ассоциированных с ними приложений (листинг 11.1).
Port v2.0 - TCP/IP Process to Port Mapper Copyright 2000 by Foundstone, Inc. http://www.foundstone.com Pid Process Port Proto Path 940 svchost -> 135 TCP C:\WINDOWS\system32\svchost.exe 4 System -> 139 TCP 4 System -> 445 TCP 1348 WCESCOMM -> 990 TCP C:\Program Files\Microsoft ActiveSync\WCESCOMM.EXE 4072 WCESMgr -> 999 TCP C:\Program Files\Microsoft ActiveSync\WCESMsg.exe 1032 svchost -> 1025 TCP C:\WINDOWS\System32\svchost.exe 1032 svchost -> 1031 TCP C:\WINDOWS\System32\svchost.exe 1032 svchost -> 1034 TCP C:\WINDOWS\System32\svchost.exe 4 System -> 1042 TCP 4072 WCESMgr -> 2406 TCP C:\Program Files\Microsoft ActiveSync\WCESMgr.exe 2384 websearch -> 3008 TCP C:\Program Files\websearch\websearch.exe 1144 -> 54321 TCP C:\temp\cmd.exe 4072 WCESMgr -> 5678 TCP C:\Program Files\Microsoft ActiveSync\WCESMgr.exe 2384 websearch -> 8755 TCP C:\Program Files\websearch\websearch.exe 136 javaw -> 8765 TCP C:\WINDOWS\System32\javaw.exe 1348 WCESCOMM -> 123 UDP C:\Program Files\Microsoft ActiveSync\WCESCOMM.EXE 2384 websearch -> 123 UDP C:\Program Files\websearch\websearch.exe 940 svchost -> 135 UDP C:\WINDOWS\system32\svchost.exe 1144 -> 137 UDP 1932 svchost -> 1026 UDP C:\WINDOWS\System32\svchost.exeЛистинг 11.1. Выдача Fport
При просмотре этого листинга взгляд скользит по нормальным на вид выполняющимся службам и программам, пока где-то в середине не натыкается на программу cmd.exe, запущенную из каталога Temp. Это бинарный файл командного интерпретатора, и ему нечего делать в каталоге Temp. Тот факт, что у службы нет имени, также подозрителен. Наконец, номер входного порта не соответствует ни одному из известных сервисов. На самом деле, если поискать его в базе данных известных троянских программ в Интернете (http://www.simovits.com/trojans/trojans.html), можно обнаружить совпадение с номером порта документированной троянской программы. Это служит весомым свидетельством того, что система была взломана. Теперь вы должны решить, нужно ли выключить систему, чтобы провести дополнительный судебный анализ.
В табл. 11.1 перечислено несколько опций Fport для сортировки вывода. Можно также использовать опцию -h для вывода краткой справочной информации.
Если процессов много, можно использовать эти ключи для просмотра программ с большими номерами портов, характерными для вредоносного ПО. Можно также отсортировать вывод по маршруту приложения или имени, чтобы выявить нестандартные приложения.
lsof: Средство идентификации портов и процессов для UNIX |
---|
lsof Автор/основной контакт: Ray Show Web-сайт: http://freshmeat.net/projects/lsof/ Платформы: Linux и большинство UNIX Рассмотренная версия: 4.68 Зеркалирующие сайты (допускающие анонимный доступ по FTP без обратного DNS): thewiretapped.net/pub/security/host-security/lsof |
Это средство аналогично только что рассмотренному Fport для Windows. LSOF (LiSt Open Files) ассоциирует открытые файлы с процессами и пользователями. Оно напоминает команду netstat, но выдает также сетевые порты, используемые сервисом. Это важно при попытке отследить активную программу в сети. Зачастую единственным способом найти неуловимые ошибки является наблюдение за тем, какие сетевые порты открываются.
Средство lsof предустанавливается в некоторых дистрибутивах UNIX и Linux и доступно в форме RPM на установочных дисках других, таких как Mandrake и RedHat Linux. Чтобы выяснить, установлено оно или нет, наберите lsof и посмотрите, каков будет ответ.
Установка lsof
- Загрузите tar-файл с прилагаемого к книге компакт-диска или с официального web-сайта. Если IP-адрес, с которого выполняется загрузка, не имеет обратной записи DNS, то основной FTP-сайт не позволит с ним соединиться. Попробуйте один из указанных зеркалирующих сайтов.
- Распакуйте tar-файл.
- Вы увидите несколько текстовых файлов и еще один tar-файл, что-нибудь вроде lsof_4.68_src. В этом файле содержатся исходные тексты. Распакуйте его и войдите в этот каталог.
- Прежде чем начинать процесс компиляции, необходимо выяснить сокращенный код вашего диалекта UNIX. Так как программа lsof переносима практически на любую версию UNIX, требуется сообщить, какая разновидность UNIX применяется, чтобы процедура конфигурирования могла настроить ее для вашей системы.
Чтобы выяснить коды различных версий UNIX, введите
./configure -h
Например, код Linux - linux (не правда ли, просто?)
- Когда вы будете готовы, наберите следующую команду
./configure код_диалекта_UNIX
Программа будет сконфигурирована для компиляции.
- Когда конфигурирование закончится, наберите:
make
- Это завершает процесс сборки.
Программа lsof готова к употреблению.
Применение lsof
Программа lsof имеет множество применений и подробную оперативную справку, а также несколько информационных файлов README для различных приложений. Однако в данном разделе рассматривается лишь несколько специфических команд, полезных для судебных исследований.
Если вы хотите увидеть все открытые в данный момент файлы в системе и ассоциированные с ними процессы, наберите
lsof -n
Опция -n предписывает lsof не пытаться разрешать записи DNS для каждого IP-адреса, подключившегося к вашей машине. Это существенно ускоряет процесс. Примерный вид выдачи показан на листинге 11.2.
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME xfs 903 xfs 0r DIR 3,1 4096 2 / atd 918 daemon rtd DIR 3,1 4096 2 / atd 918 daemon txt REG 3,6 14384 273243 /usr/sbin/atd sshd 962 root cwd DIR 3,1 4096 2 / sshd 962 root rtd DIR 3,1 4096 2 / sshd 962 root txt REG 3,6 331032 274118 /usr/sbin/sshd dhcpcd 971 root cwd DIR 3,1 4096 2 / dhcpcd 971 root rtd DIR 3,1 4096 2 / dhcpcd 971 root txt REG 3,1 31576 78314 /sbin/dhcpcd xinetd 1007 root cwd DIR 3,1 4096 2 / xinetd 1007 root 5u IPv4 1723 TCP 127.0.0.1:1024 (LISTEN) xinetd 1007 root 8u unix 0xc37a8540 1716 socket rwhod 1028 root cwd DIR 3,1 4096 61671 /var/spool/rwho rwhod 1028 root rtd DIR 3,1 4096 61671 /var/spool/rwho rwhod 1028 tim cwd DIR 3,1 4096 61671 /var/spool/rwho crond 1112 root cwd DIR 3,1 4096 14 /var/spool crond 1112 root lw FIFO 0,5 1826 pipe 1112 root 2w FIFO 0,5 1827 pipe nessusd 1166 root cwd DIR 3,1 4096 2 / nessusd 1166 root rtd DIR 3,1 4096 2 / nessusd 1166 root txt REG 3,6 1424003 323952 init 1 root cwd DIR 3,1 4096 2 / init 1 root rtd DIR 3,1 4096 2 / init 1 root txt REG 3,1 31384 75197 /sbin/initЛистинг 11.2. Вывод команды lsof -n
Соединения на этом листинге выглядят нормально, вопросы вызывает лишь подключение через службу rwho. Стоит убедиться, что допустимый пользователь применяет команду законно. Если этот счет принадлежит кому-то из нетехнического персонала, может понадобиться дальнейшее расследование.
lsof можно также применять для поиска определенного файла. Если вы хотите увидеть, обращался ли кто-то к файлу паролей, можно воспользоваться следующей командой:
lsof маршрут/имя_файла
Замените маршрут/имя_файла маршрутом и именем файла, который вас интересует, в данном случае - /etc/passwd. Необходимо задать для lsof полное маршрутное имя, чтобы программа нашла этот файл.
Еще один вариант применения lsof - получение списка всех открытых сокетов. В этом случае можно будет увидеть работающий сервер, о котором вы не знаете. Формат этой команды таков:
lsof -i
В результате получается выдача, аналогичная представленной на листинге 11.3. На нем можно видеть все выполняющиеся программы, включая sshd и nessusd - демоны для SSH и Nessus. Можно даже видеть отдельные соединения с этими службами. Похоже, что кто-то использует в данный момент сервер Nessus. Проверив IP-адрес, можно понять, что это внутренний пользователь. На самом деле это ваша собственная машина! Поэтому беспокоиться не о чем.
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME portmap 733 rpc 3u IPv4 1417 UDP *:sunrpc portmap 733 rpc 4u IPv4 1426 TCP *:sunrpc (LISTEN) sshd 962 root 3u IPv4 1703 TCP *:ssh (LISTEN) xinetd 1007 root 5u IPv4 1728 TCP localhost.localdomain:1024 (LISTEN) rwhod 1028 root 3u IPv4 1747 UDP *:who nessusd 1166 root 4u IPv4 1971 TCP *:1241 (LISTEN) nessusd 1564 root 5u IPv4 1972 TCP 192.168.1.101:1024->192.168.1.2:1994 (ESTABLISHED)Листинг 11.3. Вывод команды lsof -i
Можно задать для просмотра определенный IP-адрес или хост, помещая знак @ и адрес после ключа -i. Например, команда
lsof -i@192.168.1.0/24
отображает все соединения, исходящие из вашей сети, при условии, что ваша внутренняя сеть в нотации с косой чертой задается как 192.168.1.0/24.