Научная статья на тему 'МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ АНАЛИЗА СИСТЕМНЫХ ЖУРНАЛОВ ОПЕРАЦИОННОЙ СИСТЕМЫ MICROSOFT WINDOWS'

МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ АНАЛИЗА СИСТЕМНЫХ ЖУРНАЛОВ ОПЕРАЦИОННОЙ СИСТЕМЫ MICROSOFT WINDOWS Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
114
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
вредоносное программное обеспечение / компьютерный инцидент / системные журналы Microsoft Windows / набор признаков / malicious software / computer incident / Microsoft Windows system logs / a set of features

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Павлычев Алексей Викторович, Стародубов Максим Игоревич, Галимов Александр Дмитриевич

В статье предлагается способ выявления компьютерных инцидентов, основанный на анализе записей в системных журналах операционной системы Microsoft Windows. Рассматриваются различные технологии обнаружения вредоносного программного обеспечения: технологии сигнатурного обнаружения, технологии эвристического анализа, технологии проактивной защиты и технологии обнаружения системных аномалий. Несмотря на наличие большого разнообразия видов вредоносных программ, все они оставляют следы своей работы в системных журналах различных информационных систем, в том числе операционной системы рабочей станции, подвергшейся несанкционированному воздействию. В работе проведен анализ структуры журналов операционной системы Microsoft Windows с точки зрения выявления событий информационной безопасности. Функционирование любой компьютерной программы, в том числе вредоносной, можно представить в виде уникального набора признаков, которые формируются на основе анализа записей в системных журналах операционной системы. Следовательно, данный набор признаков можно использовать для построения модели функционирования и дальнейшего выявления вредоносного программного обеспечения, в том числе ранее не известного.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Павлычев Алексей Викторович, Стародубов Максим Игоревич, Галимов Александр Дмитриевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FUNCTIONING MODEL OF MALICIOUS SOFTWARE BASED ON ANALYSIS OF SYSTEM LOGS MICROSOFT WINDOWS OPERATING SYSTEM

This article suggests a method for identifying computer incidents is proposed, based on the analysis of entries in the system logs of the Microsoft Windows operating system. Various technologies for detecting malicious software are considered: signature detection technologies, heuristic analysis technologies, proactive protection technologies and system anomaly detection technologies. Despite the presence of a wide variety of types of malware, they all leave traces of their work in the system logs of various information systems, including the operating system of the workstation, which has been exposed to unauthorized influence. The paper analyzes the structure of the logs of the Microsoft Windows operating system from the point of view of identifying information security events. The functioning of any computer program, including malware, can be represented as a unique set of features that are formed on the basis of the analysis of entries in the system logs of the operating system. Therefore, this set of features can be used to build a model of functioning and further identify malicious software, including previously unknown ones.

Текст научной работы на тему «МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ АНАЛИЗА СИСТЕМНЫХ ЖУРНАЛОВ ОПЕРАЦИОННОЙ СИСТЕМЫ MICROSOFT WINDOWS»

МЕТОДЫ И СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ, ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ

DOI 10.54398/20741707_2022_4_98 УДК 004.001

МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ АНАЛИЗА СИСТЕМНЫХ ЖУРНАЛОВ ОПЕРАЦИОННОЙ СИСТЕМЫ MICROSOFT WINDOWS1

Статья поступила в редакцию 25.10.2022, в окончательном варианте - 26.10.2022.

Павлычев Алексей Викторович, Дальневосточный федеральный университет, 690922, Российская Федерация, г. Владивосток, о. Русский, п. Аякс, 10,

директор Центра информационной безопасности, ORCID: 0000-0002-1588-5468, e-mail: pavlychev.av@dvfu.ru

Стародубов Максим Игоревич, Дальневосточный федеральный университет, 690922, Российская Федерация, г. Владивосток, о. Русский, п. Аякс, 10,

аспирант, ORCID: 0000-0002-3799-8375, e-mail: starodubov.mi@dvfu.ru

Галимов Александр Дмитриевич, Дальневосточный федеральный университет, 690922, Российская Федерация, г. Владивосток, о. Русский, п. Аякс, 10,

аспирант, ORCID: 0000-0002-5671-1368, e-mail: galimov.ad@dvfu.ru

В статье предлагается способ выявления компьютерных инцидентов, основанный на анализе записей в системных журналах операционной системы Microsoft Windows. Рассматриваются различные технологии обнаружения вредоносного программного обеспечения: технологии сигнатурного обнаружения, технологии эвристического анализа, технологии проактивной зашиты и технологии обнаружения системных аномалий. Несмотря на наличие большого разнообразия видов вредоносных программ, все они оставляют следы своей работы в системных журналах различных информационных систем, в том числе операционной системы рабочей станции, подвергшейся несанкционированному воздействию. В работе проведен анализ структуры журналов операционной системы Microsoft Windows с точки зрения выявления событий информационной безопасности. Функционирование любой компьютерной программы, в том числе вредоносной, можно представить в виде уникального набора признаков, которые формируются на основе анализа записей в системных журналах операционной системы. Следовательно, данный набор признаков можно использовать для построения модели функционирования и дальнейшего выявления вредоносного программного обеспечения, в том числе ранее не известного.

Ключевые слова: вредоносное программное обеспечение, компьютерный инцидент, системные журналы Microsoft Windows, набор признаков

FUNCTIONING MODEL OF MALICIOUS SOFTWARE BASED ON ANALYSIS OF SYSTEM LOGS MICROSOFT WINDOWS OPERATING SYSTEM

The article was received by the editorial board on 25.10.2022, in the final version — 26.10.2022.

Pavlychev Aleksey V., Far Eastern Federal University, 10 Ajax, isl. Russkiy, Vladivostok, 690922, Russian Federation,

Director of Cybersecurity Center, ORCID: 0000-0002-1588-5468, e-mail: pavlychev.av@dvfu.ru Starodubov Maksim I., Far Eastern Federal University, 10 Ajax, isl. Russkiy, Vladivostok, 690922, Russian Federation,

postgraduate student, ORCID: 0000-0002-3799-8375, e-mail: starodubov.mi@dvfu.ru Galimov Alexander D., Far Eastern Federal University, 10 Ajax, isl. Russkiy, Vladivostok, 690922, Russian Federation,

postgraduate student, ORCID: 0000-0002-5671-1368, e-mail: galimov.ad@dvfu.ru

This article suggests a method for identifying computer incidents is proposed, based on the analysis of entries in the system logs of the Microsoft Windows operating system. Various technologies for detecting malicious software are considered: signature detection technologies, heuristic analysis technologies, proactive protection technologies and system anomaly detection technologies. Despite the presence of a wide variety of types of malware, they all leave traces of their work in the system logs of various information systems, including the operating system of the workstation,

'Исследование проведено при финансовой поддержке Минобрнауки России («Грант ИБ МТУСИ») № 40469-23-2021-К.

which has been exposed to unauthorized influence. The paper analyzes the structure of the logs of the Microsoft Windows operating system from the point of view of identifying information security events. The functioning of any computer program, including malware, can be represented as a unique set of features that are formed on the basis of the analysis of entries in the system logs of the operating system. Therefore, this set of features can be used to build a model of functioning and further identify malicious software, including previously unknown ones.

Keywords: malicious software, computer incident, Microsoft Windows system logs, a set of features

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

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

Указанные обстоятельства свидетельствуют о высокой актуальности исследований, направленных на выявление компьютерных инцидентов с использованием вредоносного программного обеспечения.

В целях поиска нового эффективного способа выявления компьютерных инцидентов в рамках работы авторами поставлен ряд задач:

1. Обзор существующих технологий обнаружения вредоносного ПО.

2. Исследование структуры и содержания системных журналов операционной системы с точки зрения информационной безопасности.

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

4. Применение разработанной модели для выявления признаков компьютерных инцидентов.

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

Согласно статье 273 Уголовного кодекса Российской Федерации, вредоносным программным обеспечением считается программное обеспечение, заведомо предназначенное для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации.

Существует большое количество технологий обнаружения вредоносного ПО: технологии сигнатурного обнаружения, технологии эвристического анализа, технологии проактивной защиты и технологии обнаружения системных аномалий. Чем сложнее технология обнаружения, тем больше вероятность обнаружения ранее неизвестных вредоносных объектов [3, 4].

В настоящее время исследователями вредоносного ПО выделяются следующие основные технологии обнаружения:

1. Технология обнаружения по сигнатурам.

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

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

2. Технология эвристического анализа.

Технология эвристического анализа также является одной из ранних. В своей первой итерации она представляла собой расширение для сигнатурной технологии обнаружения вредоносных объектов. Однако на данный момент она является самостоятельной и более эффективной. Данная технология подразумевает аналитический компонент, работающий на основе принципа нечеткого поиска решения и описываемый событийным языком программирования. Методы эвристического анализа используют в качестве источника информации не только программы, как массивы байт, но и сведения об эмуляции, отчеты «песочниц», сведения, полученные из мониторинга за системой [5].

Данная технология имеет ряд преимуществ: известна уже давно, на практике доказана её эффективность; отсутствует необходимость частых обновлений. Также у неё есть ряд недостатков: требуются значительные вычислительные мощности; недостаточно высокий уровень обнаружения; высокий уровень ложных срабатываний. Указанная технология может применяться на широком

списке устройств: от рабочих станций до интернет-шлюзов. На сегодняшний день данная технология является единственной, которая применяется во всех антивирусных продуктах всех компаний.

3. Системы проактивной защиты.

Технологии проактивной защиты - совокупность технологий, основной целью которых является предотвращение заражения пользовательской системы, а не поиск уже известных вредоносных программ. Продукты, построенные на таких технологиях, можно поделить на системы предотвращения вторжений и системы блокирования по поведению [6].

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

Системы блокирования по поведению существуют на рынке уже более 10 лет. Основная задача таких систем - анализ поведения программ и блокировка выполнения любого возможного опасного действия. Теоретически такие системы могут предотвратить не только распространение известных вредоносных программ, но и неизвестных. Именно в этом направлении и движется развитие практически всех антивирусных продуктов.

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

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

Системы блокирования по поведению могут использоваться только в тех случаях, когда возможен запуск и исполнение вредоносного программного кода. В иных случаях вредоносные объекты остаются незамеченными.

4. Системы исследования системных аномалий.

Еще одной важной технологией обнаружения является технология исследования системных аномалий - самый абстрактный метод анализа вредоносного ПО [7]. Она основана на следующих предположениях:

- операционная система является интегральной системой;

- система имеет некоторое «здоровое» (нормальное) состояние;

- после запуска вредоносного кода система переходит в «нездоровое» состояние.

Сравнивая различные состояния системы, можно установить наличие вредоносного кода.

Несмотря на наличие большого разнообразия видов вредоносных программ, все они оставляют

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

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

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

Для ликвидации последствий компьютерного инцидента специалистам по информационной безопасности или компьютерным криминалистам необходимо отслеживать не только текущее состояние операционной системы, но и состояния, которые предшествовали атаке. Необходимо видеть всю динамику происходящих в операционной системе процессов. Журналы событий Windows хранят в себе информацию обо всех произошедших событиях в операционной системе.

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

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

Журнал событий представляет собой бинарный файл специального формата (с расширением EVTX), схожий с файлом базы данных.

Журналы событий Windows содержат ряд дескрипторов, позволяющих объединять события в такие категории, как «информационные» и «критические». Отдельные идентификаторы указывают на конкретные типы событий, а последние версии Windows имеют отдельные файлы журналов событий для различных приложений и служб [8].

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

Служба регистрации событий должна добавить ELF_LOGFILE_HEADER в журнал событий.

Структура ELF_LOGFILE_HEADER:

EVENTLOGHEADER{

ULONG HeaderSize;

ULONG Signature;

ULONG MajorVersion;

ULONG MinorVersion;

ULONG StartOffset;

ULONG EndOffset;

ULONG CurrentRecordNumber;

ULONG OldestRecordNumber;

ULONG MaxSize;

ULONG Flags;

ULONG Retention;

ULONG EndHeaderSize;

}

где:

HeaderSize - размер структуры заголовка. Размер всегда 0x30.

Signature - подпись всегда 0x654c664c, что является ASCII для журнала событий.

MajorVersion - основной номер версии журнала событий, всегда установлен на 1.

MinorVersion - дополнительный номер версии журнала событий, всегда установлен на 1.

StartOffset - смещение к самой старой записи в журнале событий.

EndOffset - смещение к ELF_EOF_RECORD в журнале событий.

CurrentRecordNumber - номер следующей записи, которая будет добавлена в журнал событий.

OldestRecordNumber - номер самой старой записи в журнале событий. Для пустого файла самый старый номер записи установлен 0.

MaxSize - максимальный размер в байтах журнала событий. Максимальный размер определяется при создании журнала событий. Служба регистрации событий обычно не обновляет это значение, она опирается на конфигурацию реестра. Считыватель журнала событий может использовать обычные файловые API для определения размера файла.

Flags - статус журнала событий.

Retention - значение хранения файла при его создании. Служба регистрации событий обычно не обновляет это значение, она опирается на конфигурацию реестра.

EndHeaderSize - конечный размер структуры заголовка. Размер всегда 0x30.

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

Структура EVENTLOGRECORD:

EVENTLOGRECORD {

DWORD Length;

DWORD Reserved;

DWORD RecordNumber;

DWORD TimeGenerated;

DWORD TimeWritten;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

DWORD EventID;

WORD EventType;

WORD NumStrings;

WORD EventCategory;

WORD ReservedFlags;

DWORD ClosingRecordNumber;

DWORD StringOffset;

DWORD UserSidLength;

DWORD UserSidOffset;

DWORD DataLength;

DWORD DataOffset;

}

где:

Length - размер этой записи события в байтах.

Reserved - значение DWORD, которое всегда установлено в ELF_LOG_SIGNATURE.

RecordNumber - номер записи. Это значение можно использовать с флагом EVENTLOG_SEEK_READ в функции ReadEventLog, чтобы начать чтение с указанной записи.

TimeGenerated - время, когда эта запись была представлена. Это время измеряется в количестве секунд, прошедших с 00:00:00 1 января 1970 года, всемирное координированное время.

TimeWritten - время, когда эта запись была получена службой для записи в журнал. Это время измеряется в количестве секунд, прошедших с 00:00:00 1 января 1970 года, всемирное координированное время.

EventID - идентификатор события. Это значение зависит от источника события и используется с именем источника, чтобы найти строку описания в файле сообщений для источника события.

EventType - тип события.

NumStrings - количество строк, присутствующих в журнале. Эти строки объединяются в сообщение перед его отображением для пользователя.

EventCategory - категория для этого события. Значение этого значения зависит от источника события.

UserSidOffset - смещение идентификатора безопасности (SID) в этой записи журнала событий. Чтобы получить имя пользователя для этого SID, используется функция LookupAccountSid.

DataLength - размер специфичных для события данных в байтах.

DataOffset - смещение специфичной для события информации в этой записи журнала событий в байтах.

Заключительной структурой является ELF_EOF_RECORD, содержащая информацию, которая включается после последней записи в журнале событий и используется в журнале событий, чтобы позволить службе регистрации событий реконструировать ELF_LOGFILE_HEADER.

Структура ELF_EOF_HEADER:

EVENTLOGEOF {

ULONG RecordSizeBeginning;

ULONG One;

ULONG Two;

ULONG Three;

ULONG Four; ULONG BeginRecord; ULONG EndRecord; ULONG CurrentRecordNumber; ULONG OldestRecordNumber; ULONG RecordSizeEnd;

}

где:

1. RecordSizeBeginning - начальный размер ELF_EOF_RECORD. Начальный размер всегда

0x28.

2. One - идентификатор, который помогает отличить эту запись от других записей в журнале событий. Значение всегда установлено в 0x11111111.

3. Two - идентификатор, который помогает отличить эту запись от других записей в журнале событий. Значение всегда установлено в 0x22222222.

4. Three - идентификатор, который помогает отличить эту запись от других записей в журнале событий. Значение всегда установлено в 0x33333333.

5. Four - идентификатор, который помогает отличить эту запись от других записей в журнале событий. Значение всегда установлено на 0x44444444.

6. BeginRecord - смещение к самой старой записи. Если журнал событий пуст, это устанавливается в начало этой структуры.

7. EndRecord - смещение к началу этой структуры.

8. CurrentRecordNumber - номер записи следующего события, которое будет записано в журнал событий.

9. OldestRecordNumber - номер самой старой записи в журнале событий. Номер записи будет 0, если журнал событий пуст.

10. RecordSizeEnd - конечный размер ELF_EOF_RECORD всегда 0x28.

11. Если журнал событий пуст, ELF_EOF_RECORD записывается сразу после ELF_LOGFILE_HEADER.

Структура ELF_LOGFILE_HEADER и структура ELF_EOF_RECORD записываются в журнал событий при создании журнала и обновляются каждый раз, когда событие записывается в журнал.

Запись в журнал осуществляется с помощью функции ReportEvent, которая делает запись в конец указанного журнала событий, которая передает параметры службе регистрации событий. Служба регистрации событий использует эту информацию для записи структуры EVENTLOGRECORD в журнал событий. Синтаксис: BOOL ReportEvent (

HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventlD, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCSTR lpStrings, LPVOID lpRawData

);

где:

1. hEventLog - дескриптор журнала событий. Функция RegisterEventSource возвращает этот дескриптор.

2. wType - тип события для регистрации.

3. wCategory - категория события. Это информация об источнике, категория может иметь любое значение.

4. dwEventlD - идентификатор события. Идентификатор события указывает запись в файле сообщений, связанную с источником события.

5. lpUserSid - указатель на идентификатор безопасности текущего пользователя. Этот параметр может быть недействителен, если идентификатор безопасности не требуется.

6. wNumStrings - количество строк вставки в массиве, на которое указывает параметр lpStrings. Нулевое значение указывает на отсутствие строк.

7. dwDataSize - количество байтов необработанных (двоичных) данных, специфичных для события, для записи в журнал. Если этот параметр равен нулю, данные для конкретного события отсутствуют.

8. lpStrings - указатель на буфер, содержащий массив строк с нулевым символом в конце, которые объединяются в сообщение до того, как средство просмотра событий отобразит эту строку для пользователя. Этот параметр должен быть допустимым указателем (или NULL), даже если wNumStrings равен нулю. Каждая строка ограничена 31 839 символами.

9. lpRawData - указатель на буфер, содержащий двоичные данные. Этот параметр должен быть допустимым указателем (или NULL), даже если параметр dwDataSize равен нулю.

Запись событий в журналы организована одним из следующих способов:

Non-wrapping. Самая старая запись находится сразу после заголовка журнала событий, а новые записи добавляются после последней добавленной записи (до ELF_EOF_RECORD). Журнал событий не переносится, пока не будет достигнут предел размера журнала событий. Размер журнала событий ограничен либо значением конфигурации MaxSize, либо объемом системных ресурсов.

Wrapping. Записи организованы в виде кольцевого буфера. Самые старые записи заменяются новыми по мере их добавления. Расположение самых старых и новых записей будет различаться. Между ELF_EOF_RECORD и самой старой записью есть некоторое пространство, потому что система сотрет целое число записей, чтобы освободить место для самой новой записи. Например, если самая новая запись имеет длину 100 байт, а две самые старые записи имеют длину 75 байт, система удалит две самые старые записи. Дополнительные 50 байтов будут использованы позже при записи новых значений.

Файл журнала событий имеет фиксированный размер, и когда для записи новых событий в файле не хватает места, то запись разделяется на две записи. Например, если позиция для следующей записи составляет 100 байтов от конца файла, а размер записи составляет 300 байтов, первые 100 байтов будут записаны в конце файла, а следующие 200 байтов будут записаны в начале файла сразу после ELF_LOGFILE_HEADER.

Наибольший интерес для исследователей информационной безопасности представляют следующие журналы операционной системы Windows: Security (Безопасность), System (Система) и Application (Приложение) [9].

Модель функционирования вредоносного программного обеспечения. В работе используется подход, основанный на исследовании изменений, оставляемых вредоносным программным обеспечением в журналах Security, System и Application операционной системы Microsoft Windows.

В связи с этим изучение вредоносных программ ограничивается исполняемыми для представленной операционной системы файлами.

Рассмотрим множество U - множество всех возможных программ:

U = {Mi.....Mk,Ti.....Тт}, (1)

п = к + т, (2)

где n - количество всех возможных программ; k - количество всех возможных программ, являющихся вредоносным ПО; m - количество всех возможных программ, не являющихся вредоносным ПО.

Пусть множество Sec = {Sec1,... ,Secp}, множество булевых функций, где p - количество всех возможных событий, отображаемых в журнале Security.

Каждый элемент множества Sec имеет следующий смысл: функция Sect имеет значение 1, тогда и только тогда, когда за время выполнения программы происходило i-е событие из множества Sys, множества всех возможных событий журнала Security.

Пусть множество Sys = (5ys1, ...,Syst}, множество булевых функций, где t - количество всех возможных событий, отображаемых в журнале System.

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

Пусть множество Арр = {Арр1,... ,Apps}, множество булевых функций, где s - количество всех возможных событий, отображаемых в журнале Application.

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

Определим любой элемент множества U, множества всех возможных программ как набор следующих векторов.

Каждый элемент Ui из множества U имеет вид:

U =

Sec

i,i

Sec.

р,Ы

Sys-

1,

'APPU VAPPS,1

>,i = 1,п.

(3)

LSysuJ

Пусть p(Ui)\ Ui ^ {0,1} - функционал, обозначающий выполнение программы U и приводящий либо к безопасному состоянию системы (0), либо к небезопасному состоянию (1). Определим область вероятностей вредоносного поведения ПО как V = {Uf.Ui Е U,P(p(Ui) = 1)}.

Исходя из вышеперечисленного, существует множество G (множество всех полезных программ) и множество M (множество всех вредоносных программ).

Определим множества G = {Т1,..., Тт} и М = {М1,..., Мк}.

Элемент Ut Е U является элементом множества М тогда и только тогда, когда Ut Е V.

Элемент Ut Е Является элементом множества G тогда и только тогда, когда Ut £ V не является элементом области V.

Таким образом, на основе проведенного анализа системных журналов операционной системы Windows функционирование любой программы, как вредоносной, так и легитимной, можно представить в виде следующего набора признаков, соответствующих наступлению определенного события в журналах Security, System и Application.

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

Применение разработанной модели. На специально подготовленной инфраструктуре проведена эксплуатация ряда популярных в хакерской среде уязвимостей операционной системы Microsoft Windows [10]. После успешного применения вредоносного программного обеспечения осуществлен сбор и анализ записей журналов Security (рис. 1), System (рис. 2) и Application (рис. 3) скомпрометированных рабочих станций.

♦ --«и-♦-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5000 4000 3000 2000

Рисунок 1 - Сравнительный анализ наборов записей в журналах Security

♦ - _

♦ ♦

ф _

г

♦»» t ♦ •

50000 40000 30000 20000 10000

Рисунок 2 - Сравнительный анализ наборов записей в журналах System

♦ ♦ ♦ ♦

4 _1_ _ф_

fl * *

> ♦» > ♦

) 2500 5000 7500 10000 125

( ¡00 15000

Рисунок 3 - Сравнительный анализ наборов записей в журналах Application

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

Заключение. В рамках исследования авторами проведен обзор существующих технологий обнаружения вредоносного программного обеспечения, исследована структура и содержание системных журналов операционной системы с точки зрения информационной безопасности, построена модель функционирования вредоносного программного обеспечения. С использованием Банка данных угроз ФСТЭК России выбраны наиболее распространенные уязвимости для операционной системы Windows и проведена их эксплуатация. По результатам эксперимента проведен анализ на предмет оставления следов эксплойтов в системных журналах информационной системы, подвергшейся несанкционированному воздействию. Доказано, что каждый рассмотренный вид вредоносного программного обеспечения формирует уникальный набор записей в журналах.

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

Библиографический список

1. Атаки на российские компании во 2-м квартале 2022 года. - Режим доступа: https://rt-solar.ru /analytics/reports/2880/, свободный. - Заглавие с экрана. - Яз. рус. (дата обращения: 02.09.2022).

2. Dutta, N. Cyber Security: Issues and Current Trends / N. Dutta, N. Jadav, S. Tanwar. - Springer, 2021. -P. 129-141.

3. Badhwar, R. The CISO's Next Frontier: AI, Post-Quantum Cryptography and Advanced Security Paradigms / R. Badhwar. - Springer, 2021. - P. 279-285.

4. Rabaiotti, J. Counter Intrusion Software: Malware Detection using Process Behaviour Classification and Machine Learning / J. Rabaiotti. - Режим доступа: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102. 2417&rep=rep1&type=pdf, свободный. - Заглавие с экрана. - Яз. англ. (дата обращения: 10.09.2022).

5. Campion, M. Learning metamorphic malware signatures from samples / M. Campion // Journal of Computer Virology and Hacking Techniques. - 2021. - Vol. 17. - P. 1-17.

6. Li, N. A Survey on Feature Extraction Methods of Heuristic Malware Detection / N. Li, Z. Zhang, X. Che // Journal of Physics Conference Series. - 2021 - P. 1757-1765.

7. Albanese, M. Industrial Control Systems Security and Resiliency / M. Albanese, S. Jajodia. - Springer, 2019. -P. 169-202.

8. Павлычев, А. В. Выявление сетевых аномалий в системных журналах операционной системы Microsoft Windows с использованием методов машинного обучения / А. В. Павлычев, К. С. Солдатов, В. А. Сказин // Доклады Томского государственного университета систем управления и радиоэлектроники. -2021. - Т. 24, № 4. - С. 27-32.

9. Windows Events. - Режим доступа: https://docs.microsoft.com/en-us/windows/win32/events/windows-events, свободный. - Заглавие с экрана. - Яз. англ. (дата обращения: 02.08.2022).

10. Банк данных угроз безопасности информации. - Режим доступа: https://bdu.fstec.ru/vul, свободный. -Заглавие с экрана. - Яз. рус. (дата обращения: 20.09.2022).

References

1. Ataki na rossiyskuyu kompaniyu vo 2-m kvartale 2022 goda [Attacks on Russian companies in the 2nd quarter of2022]. Available at: https://rt-solar.ru/analytics/reports/2880/ (accessed 02.09.2022).

2. Dutta, N., Jadav, N., Tanwar, S. Cyber Security: Issues and Current Trends. Springer, 2021, pp. 129-141.

3. Badhwar, R. The CISO 's Next Frontier: AI, Post-Quantum Cryptography and Advanced Security Paradigms. Springer, 2021, pp. 279-285.

4. Rabaiotti, J. Counter Intrusion Software: Malware Detection using Process Behaviour Classification and Machine Learning. Available at: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102.2417&rep =rep 1 &type=pdf, (accessed 10.09.2022).

5. Campion, M. Learning metamorphic malware signatures from samples. Journal of Computer Virology and Hacking Techniques, 2021, vol. 17, pp. 1-17.

6. Li, N., Zhang, Z., Che, X. A Survey on Feature Extraction Methods of Heuristic Malware Detection. Journal of Physics Conference Series, 2021, pp. 1757-1765.

7. Albanese, M., Jajodia, S. Industrial Control Systems Security and Resiliency. Springer, 2019, pp. 169-202.

8. Pavlychev, A. V., Soldatov, K. S., Skazin, V. A. Vyyavleniye setevykh anomaliy v sistemnykh zhurnalakh operatsionnoy sistemy Microsoft Windows s ispolzovaniyem metodov mashinnogo obucheniya [Detection of network anomalies in the system logs of the Microsoft Windows operating system using machine learning methods]. Doklady Tomskogo gosudarstvennogo universiteta sistem upravleniya i radioelektroniki [ (Reports of the Tomsk State University of Control Systems and Radioelectronics], 2021, vol. 4 (24), pp. 27-32.

9. Windows Events. Available at: https://docs.microsoft.com/en-us/windows/win32/events/windows-events (accessed 08.02.2022).

10. Bank dannykh ugroz bezopasnosti informatsii [Data bank of information security threats]. Available at: https://bdu.fstec.ru/vul (accessed 20.09.2022).

i Надоели баннеры? Вы всегда можете отключить рекламу.