Обработка данных аудита при работе с базами данных Oracle
Секция: Технические науки
XLV Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
Обработка данных аудита при работе с базами данных Oracle
Важнейшей составляющей процесса обеспечения безопасности информационных систем является проведение квалифицированного аудита. Проведение независимого профессионального аудита дает возможность своевременно выявить существующие уязвимости и недостатки в системе обеспечения безопасности системы. Средства аудита выполняют фиксацию информации об активности пользователей системы в словаре данных или специальном файле – журнале аудита. Конфигурационный файл и параметры команды активизации аудита определяют набор событий, которые фиксируются системой аудита.
Словарь данных каждой СУБД Oracle Database 11g содержит таблицу с именем AUD$, называемую аудиторским журналом базы данных. База данных хранит аудиторские записи именно в таблице AUD$, владельцем которой является SYS, и затем строит несколько DBA представлений на основе данной таблицы для упрощения запросов пользователей, администраторов и аудиторов.
Для обработки данных, накопленных в ходе аудита, обычно используются другие представления, строящиеся как выборки из DBA представлений и отличающиеся доступом: USER_AUDIT_TRAIL, USER_AUDIT_OBJECT, USER_AUDIT_SESSION, а также USER_AUDIT_STATEMENT.
Очевидно, что для всех перечисленных USER_ представлений в словаре данных присутствуют соответствующие представления с префиксом DBA_. В этих представлениях аккумулируется соответствующая сущности представления информация по всем пользователям системы.
Рисунок 1. Иерархия представлений и таблицы, содержащие данные аудиторского контроля
Представления все же имеют некую вспомогательные цель, основная информация хранится в таблице SYS.AUD$. Также эта информация может храниться в файле на диске. С точки зрения информационной безопасности предпочтительнее хранить данные на диске, так как при корректной настройке СУБД получить доступ к файлам на диске в случае компрометации СУБД гораздо сложнее, чем к таблице. Наряду с этим, гораздо практичнее хранить эту информацию непосредственно в базе данных, поскольку она представлена в удобном виде. Но это приводит к некоторым дополнительным действиям: в случае если журналы аудита хранятся в таблице SYS.AUD$, то необходимо ограничить доступ к данной таблице непривилегированным пользователям.
Рисунок 2. Часть таблицы SYS.AUD$ заполненная средствами детального аудита(FGA)
Наиболее полную информацию об аудите из представлений, доступных для непривилегированных пользователей, можно получить из представления USER_AUDIT_TRAIL. Представление содержит сведения о совершенных действиях и их параметрах; таких как имя пользователя, совершившего операцию, под которым он зарегистрировался в операционной системе и СУБД, идентификатор экземпляра базы данных, с которым работает данный пользователь, экземпляр его терминала, дата и время создания записи, владелец объекта и имя объекта, над которым совершались манипуляции, числовой код и название регистрируемого действия, привилегии доступа к объекту, которые были предоставлены или отозваны, дата и время завершения сессии пользователем.
Представление USER_AUDIT_SESSION предназначено для доступа к информации о регистрируемых сессиях и содержит записи с действиями CONNECT и DISCONNECT.
Рисунок 3. SQL-код представления USER_AUDIT_SESSION
Показанное на рисунке SQL-выражение представления показывает, что оно является не чем иным, как выборкой с условием на поле action, в котором содержится номер зафиксированного действия.
Представление USER_AUDIT_STATEMENT предназначено для доступа к информации о предоставлении и отзыве привилегий, выполнении пользователем команд GRANT OBJECT, REVOKE OBJECT, AUDIT OBJECT, NOAUDIT OBJECT, ALTER SYSTEM, SYSTEM AUDIT, SYSTEM NOAUDIT, AUDIT DEFAULT, NOAUDIT DEFAULT, SYSTEM GRANT, SYSTEM REVOKE, GRANT ROLE, REVOKE ROLE и других.
Представление USER_AUDIT_OBJECT предназначено для доступа к информации о регистрируемых событиях, связанных с конкретными объектами, в частности, с таблицами, представлениями, индексами, последовательностями, синонимами, процедурами, триггерами, табличными пространствами, ролями и пользователями.
Компания Oracle представляет продукт, дополнительный компонент Oracle Audit Vault, который автоматизирует процесс сбора и анализа информации, предназначенной для аудита, превращая данные аудита в основной ресурс безопасности, что помогает отвечать современным задачам по обеспечению безопасности и соблюдению законодательных норм. При помощи Oracle Audit Vault рассредоточенные данные аудита, предоставленные компонентами Oracle Database Auditing и Oracle Database Fine Grained Auditing, могут быть сконцентрированы в едином месте, где информация будет защищена, подвергнута анализу с использованием заранее заданных или созданных по заказу пользователя отчетов.
Согласно сертификату соответствия №3364, выданного ФСТЭКом России, сроком действия до 2 апреля 2018 года Oracle Audit Vault and Database Firewall является программным средством общего назначения со встроенными средствами защиты информации, не содержащей сведения, составляющие государственную тайну, реализующим функции идентификации и аутентификации, управления доступам и регистрации событий безопасности.
Были приведены основные средства и рекомендации по обработке аудита и мониторингу информационной системы для обнаружения возможных действий злоумышленника и расследованию инцидентов в процессе атаки на СУБД. Данные сведения помогут обнаружить большинство атак на СУБД Oracle Database 11g, а также попытки удаления следов пребывания злоумышленника путем модификации таблицы SYS.AUD$.