Введение
В области управления компьютерными журналами и разведки, анализ журналов (или анализ системных и сетевых журналов) - это искусство и наука, стремящаяся понять смысл компьютерных записей (также называемых журналами или записями аудиторской следы). Процесс создания таких записей называется регистрацией данных. Типичные причины, по которым люди выполняют анализ журналов, следующие: Соответствие политике безопасности Соответствие аудиту или регулированию Устранение системных неполадок Криминалистика (во время расследований или в ответ на повестку) Реакция на инциденты безопасности Понимание поведения пользователей в Интернете Журналы выпускаются сетевыми устройствами, операционными системами, приложениями и всеми видами интеллектуальных или программируемых устройств. Поток сообщений в последовательности времени часто содержит журнал. Журналы могут быть направлены в файлы и храниться на диске или направлены в виде сетевого потока в коллектор журналов. Сообщения журнала обычно должны интерпретироваться в отношении внутреннего состояния их источника (например, приложения) и объявлять о событиях, имеющих отношение к безопасности или операциям (например, вход пользователя или ошибка системы). Журналы часто создаются разработчиками программного обеспечения для помощи в отладке работы приложения или понимании того, как пользователи взаимодействуют с системой, такой как поисковая система. Синтаксис и семантика данных в сообщениях журнала обычно специфичны для конкретного приложения или поставщика. Терминология может также варьироваться; например, аутентификация пользователя в приложении может быть описана как вход, вход, подключение пользователя или событие аутентификации. Следовательно, анализ журналов должен интерпретировать сообщения в контексте приложения, поставщика, системы или конфигурации, чтобы сделать полезные сравнения с сообщениями из разных источников журналов. Формат сообщения журнала или его содержание не всегда могут быть полностью документированы. Задача аналитика журналов состоит в том, чтобы побудить систему испускать весь диапазон сообщений, чтобы понять полную область, из которой сообщения должны быть интерпретированы. Аналитик журналов может отображать различные терминологии из разных источников журналов в единую, нормализованную терминологию, чтобы отчеты и статистика могли быть получены из гетерогенной среды. Например, сообщения журнала из Windows, Unix, сетевых брандмауэров и баз данных могут быть объединены в "нормализованный" отчет для аудитора. Различные системы могут сигнализировать о различных приоритетах сообщений с различным словарным запасом, например, "ошибка" и "предупреждение" против "ошибка", "предупреждение" и "критический". Следовательно, методы анализа журналов существуют на континууме от извлечения текста до обратной инженерии программного обеспечения.
Compliance with security policies
Compliance with audit or regulation
System troubleshooting
Forensics (during investigations or in response to a subpoena)
Security incident response
Understanding online user behavior
Logs are emitted by network devices, operating systems, applications and all manner of intelligent or programmable devices. A stream of messages in time sequence often comprises a log. Logs may be directed to files and stored on disk or directed as a network stream to a log collector. Log messages must usually be interpreted concerning the internal state of its source (e. g., application) and announce security relevant or operations relevant events (e. g., a user login, or a systems error). Logs are often created by software developers to aid in the debugging of the operation of an application or understanding how users are interacting with a system, such as a search engine. The syntax and semantics of data within log messages are usually application or vendor specific. The terminology may also vary; for example, the authentication of a user to an application may be described as a log in, a logon, a user connection or an authentication event. Hence, log analysis must interpret messages within the context of an application, vendor, system or configuration to make useful comparisons to messages from different log sources. Log message format or content may not always be fully documented. A task of the log analyst is to induce the system to emit the full range of messages to understand the complete domain from which the messages must be interpreted. A log analyst may map varying terminology from different log sources into a uniform, normalized terminology so that reports and statistics can be derived from a heterogeneous environment. For example, log messages from Windows, Unix, network firewalls, and databases may be aggregated into a "normalized" report for the auditor. Different systems may signal different message priorities with a different vocabulary, such as "error" and "warning" vs. "err", "warn", and "critical". Hence, log analysis practices exist on the continuum from text retrieval to reverse engineering of software.
Функции и технологии
Распознавание шаблонов - это функция выбора входящих сообщений и сравнения с книгой шаблонов для фильтрации или обработки различными способами. Нормализация - это функция преобразования частей сообщения в один и тот же формат (например, общий формат даты или нормализованный IP-адрес). Классификация и маркировка - это упорядочение сообщений в различные классы или маркировка их различными ключевыми словами для последующего использования (например, фильтрация или отображение). Корреляционный анализ - это технология сбора сообщений из разных систем и поиска всех сообщений, относящихся к одному событию (например, сообщения, генерируемые вредоносной деятельностью в разных системах: сетевых устройствах, брандмауэрах, серверах и т. д.). Обычно он связан с системами оповещения. Искусственное невежество - это тип машинного обучения, который представляет собой процесс отбрасывания записей в журнале, которые, как известно, неинтересны. Искусственное невежество - это метод обнаружения аномалий в рабочей системе. В журнальном анализе это означает распознавание и игнорирование регулярных, общих сообщений журнала, которые являются результатом нормальной работы системы и, следовательно, не слишком интересны. Однако новые сообщения, которые ранее не появлялись в журналах, могут сигнализировать о важных событиях, и поэтому их следует исследовать. В дополнение к аномалиям, алгоритм будет выявлять общие события, которые не произошли. Например, обновление системы, которое работает каждую неделю, не удалось запустить. Лог-анализ часто сравнивают с другими инструментами анализа, такими как управление производительностью приложений (APM) и мониторинг ошибок. Хотя большая часть их функциональности явно перекрывается, разница входит в процесс. APM делает упор на производительность и используется в основном в производстве. Мониторинг ошибок осуществляется разработчиками в сравнении с операционными процессами и интегрируется в код в блоках обработки исключений.