
25.01.2008, 01:44
|
|
Постоянный
Регистрация: 22.08.2005
Сообщений: 540
Провел на форуме: 4372175
Репутация:
1221
|
|
[Аудит системы отключен?]
Если же аудит отключен и вы используете Oracle 10g, доказательства входов в систему всё же можно найти. V$ACTIVE_SESSION_HISTORY использует кольцевой буфер в SGA, чтоб сохранять каждую секунду образцы информации об активных сессиях. Эти сессии передаются от SGA в таблицу WRH$_ACTIVE_SESSION_HISTORY очень часто, как часть Automatic Workload Repository(автоматический репоиторий нагрузки). Эти данные полезны исследователю, поскольку они эффективно записывают информацию о входах в систему.
Код:
SQL> SELECT USER_ID, SESSION_ID, SAMPLE_TIME FROM
SYS.WRH$_ACTIVE_SESSION_HISTORY ORDER BY SAMPLE_TIME;
USER_ID SESSION_ID SAMPLE_TIME
------- ---------- -----------------
0 149 27-MAR-07 06.58.26.127
24 142 27-MAR-07 07.02.16.140
..
..
1227 rows selected.
Здесь мы видим, что пользователь 24 (dbnsmp) вошёл в 07.02 утра 27 марта 2007 года.
При отсутствии информации аудита эти данные могут быть очень важные при расследовании атаки на систему.
[Наконец то! Попался!]
Когда пользователь успешно входит в систему в журнале аудита создается строка с номером ACTION# 100 (LOGON). Столбец TIMESTAMP# указывает на время входа в систему.
Вот так это выглядит:
Код:
SQL> SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
USERID ACTION# RETURNCODE TIMESTAMP#
--------------------- ---------- ---------- -------------------
DBSNMP 100 0 2007-03-27 03:31:49
Позже пользователь покидает систему. Если мы посмотрим в журнал то увидим что значение ACTION# изменилось с (LOGON) на 101 (LOGOFF), но время осталось тоже самое! Вот:
Код:
SQL> SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
USERID ACTION# RETURNCODE TIMESTAMP#
---------------- ---------- ---------- -------------------
DBSNMP 101 0 2007-03-27 03:31:49
При создании графика событий это очень важно, ведь мы не видим времени выхода пользователя. С другой стороны, если посмотреть в таблицу AUD$ - в ней есть столбец LOGOFF$TIME, который фиксирует дату выхода. Запрос такой:
Код:
SQL> select userid,action#,TIMESTAMP#,LOGOFF$TIME from aud$;
USERID ACTION# TIMESTAMP# LOGOFF$TIME
---------- ---------- ------------------- -------------------
SCOTT 101 2007-04-04 22:56:37 2007-04-04 23:00:00
[Заключение]
У нас есть возможность найти свидетельства атак как в лог-файле TNS-слушателя, так и в журнале аудита. Мы также увидели, что разные инструменты оставляют разный след в системе. Внимательно анализируйте код ответа в журнале аудита. Множество записей 1017 (и возможно 1005) с ACTION# 100 и кодом возврата 0 указывают на удачную брут-форс атаку.
Помните, что в Oracle есть много учетных записей и паролей по-умолчанию и они будут первой целью атакующего.
Оригинал в формате pdf
NeMiNeM
Специально для antichat.ru
ps: В статье/переводе возможны ошибки. Просьба не кричать, а спокойно указать и исправить Спасибо.
============================
Другие статьи с цикла Oracle Forensics на античате:
Часть 1: Анализируем Redo-логи by NeMiNeM
Часть 2: Нахождение удалённых объектов by VERte][
Часть 3: Поиск доказательств атак на механизм аутентификации by NeMiNeM
Часть 4: Live Response by Robin_Hood
Часть 5: О нахождении свидетельств кражи данных by Дрэгги
|
|
|