Россия
Применение средств машинного обучения позволяет не только реализовывать различные рутинные действия, но и автоматизировать процесс обработки большого массива данных генерируемого современным обществом. В статье сформулированы основные сложности обработки неструктурированных данных содержащихся в статьях, отчетах и постах в мессенджерах, для выявления описаний новых способов эксплуатации известных уязвимостей.
обработка естественного языка, машинное обучение, уязвимости, информационная безопасность
Текстовые данные составляют значительную долю всей информации, генерируемой человечеством. В настоящее время человечество документирует значительную часть своих действий, от личных страничек в социальных сетях, до ведения онлайн баз знаний о различных критических сферах деятельности человечества. Доступ к ресурсам мирового информационного пространства позволяет авторам (исполнителям) публиковать результаты своих исследований (научные статьи, отчеты и др.).
Однако с ростом количества публикаций, осведомленность «читателей» не увеличивается, а в отдельных случаях и снижается. Данное противоречие обусловлено наличием «информационного шума. Вследствие чего возникает задача по фильтрации и извлечению важных данных и устранению (удалению) информационного шума.
В качестве примера будет рассмотрена задача по выявлению описания новых (ранее не опубликованных) тактик и техник реализации компьютерных атак, эксплуатирующих известные уязвимости. Сформулированный подход применим и для других отраслей деятельности критичных ко времени обмена знаниями, например, финансового сектора или медицины.
При описании проблемной ситуации следует определить основные ресурсы (ограничения) и допущения. В качестве ограничений выступают конечные вычислительные ресурсы организации и временные ограничения. А в качестве допущений следует считать, что к обрабатываемой информации имеется полное доверие (доверие к источнику, автору и т.д.).
Проблемная ситуация: согласно требований регулятора (ФСТЭК России) в области информационной безопасности (ИБ), уязвимости критического уровня должны быть устранены в течение 24 часов с момента опубликования сведений о них (данное требование обусловлено потенциальным ущербом от успешной атаки на защищаемый ресурс) [1].
Методики расчета критичности уязвимостей включают различные факторы (в том числе статические – базовые и динамические – контентные), часть из которых способны повышать рассчитываемый уровень до критического, основываясь на том, что нарушитель ИБ разработал и реализовал новый способ реализации атаки (эксплойт). Безусловно, этот факт требует внимания и незамедлительной реакции в системе безопасности.
Однако с момента реализации атаки до официального подтверждения этого факта доверенными вендорами проходит от трех до шести месяцев, что приводит к повторным успешным атакам, многократному увеличению ущерба и превышению сроков на устранение уязвимости.
Вместе с этим, в материалах отчетов о расследовании инцидентов безопасности, специализированные организации публикуют необходимую информацию в течение двух-пяти дней.
С целью повышения охвата обрабатываемых неструктурированных источников данных представленных естественным языком (статьи, отчеты, посты в месенджерах) и снижения времени реагирования предлагается применять инструменты машинного обучения для выявления новых тактик реализации атак эксплуатирующих известные уязвимости.
При обработке естественного языка с помощью программных средств (ПС) существует ряд сложностей [2-4]:
– Полисемия и омонимия – некоторые слова имеют несколько значений в зависимости от контекста, что может затруднить понимание их истинного смысла.
– Неполнота и неоднозначность – естественный язык часто использует сокращения, неполные предложения, а также выражения с нечетким значением. Это может приводить к неоднозначности и усложнять задачу понимания текста.
– Сложность грамматики – грамматика языка может быть сложной
и изменчивой. Существуют различные грамматические правила, исключения, а также идиомы, что усложняет задачу автоматического анализа текста.
– Многоязычность – системы для обработки текстов должны работать
с различными языками, что увеличивает сложность задачи. Различные языки имеют разные грамматические структуры, лексику и особенности культурного контекста.
– Необходимость контекста – значение текста часто зависит от контекста, в котором он используется. Отсутствие контекста или недостаточное его участие может привести к неправильному пониманию смысла.
Также при использовании русского языка при обработке естественного языка сопряжено с рядом других уникальных проблем и сложностей, представленных в списке ниже:
– Сложность грамматики – русский язык имеет сложную грамматическую структуру с различными падежами, временами и спряжениями. Это может усложнить задачу синтаксического и морфологического анализа;
– Флективность – русский язык является флективным, что означает, что слова могут изменяться по числу, роду, падежу и времени. Это требует более сложных методов анализа и обработки морфологии;
– Богатство словоизменительных форм – в русском языке существует большое количество словоизменительных форм для каждого слова, что усложняет задачу лемматизации и стемминга;
– Словообразование – русский язык богат различными методами словообразования, такими как аффиксация, суффиксация и префиксация. Это может приводить к образованию новых слов и сложным проблемам
в разрешении омонимии;
Для достижения заявленной цели проведен анализ инструментов обработки естественного языка средствами машинного обучения (Natural Language Processing, NLP) – область компьютерной науки, которая занимается распознаванием, анализом (в том числе пониманием и толкованием содержащейся в тексте информации) и созданием текстов подобно тому, как это делает человек [4-6].
Целью применения NLP является создание систем, способных понимать, интерпретировать и генерировать естественный язык. Основные этапы обработки текста NLP:
Токенизация – это разбиение текста на отдельные слова или фразы.
Частеречная разметка. Это определение частей речи для каждого слова в тексте.
Лемматизация и стемминг. Это приведение слов к их базовым формам (леммам) или обрезание их до основы (стемминг) для уменьшения размерности словаря.
Удаление стоп-слов. Это процесс удаление часто встречающихся, но малоинформативных слов (стоп-слов) из текста.
Извлечение ключевых слов. Это выделение наиболее важных слов или фраз в тексте.
Извлечение информации. Это поиск и извлечение структурированной информации из текста, такой как именованные сущности (имена людей, места, даты и т. д.).
Синтаксический анализ – это анализ синтаксической структуры предложений для понимания их грамматической структуры и зависимостей между словами.
Семантический анализ. Понимание значения текста на более высоком уровне, включая анализ смысла, контекста и общей семантики.
Помимо перечисленных задач, при разработке ПС, обрабатывающего информацию, содержащуюся в текстовых документах, (например, в формате PDF – один из самых распространенных) необходимо реализовать задачу оптического распознавания символов (OCR) – принцип работы технологии заключается в сканировании изображения символов на страницах PDF-файла, и пытаются распознать эти символы как текст.
После этого полученный текст может быть извлечен и использован. Данный метод широко применяется для преобразования отсканированных документов, рукописных текстов или изображений с текстом в редактируемый формат. Программными решениями являются: Tesseract, Abbyy FineReader, Adobe Acrobat и другие.
Преимущества OCR-технологии заключаются в извлечении текста из изображений, сохраняя при этом его форматирование.
Недостатки: точность распознавания может зависеть от качества изображения и самого текста, что может привести к ошибкам распознавания.
Для решаемой задачи и разрабатываемого ПС возможно использовать универсальный язык программирования Python, который позволяет компилировать, подключать библиотеки и модули. Библиотеками Python для извлечения текста из PDF-файла являются:
– PyPDF2 (используется для считывания файла);
– Pdfpminer.six (для выполнения анализа структуры и извлечения текста из PDF-файла).
Для дальнейшей обработки полученного текста используется библиотека на языке Python Natural Language Toolkit(NLTK), которая будет эксплуатировать и реализовывать следующие функции в ПС:
– Токенизация NLTK – первый шаг при обработке текста, текст разбивается на отдельные слова, фразы, предложения или другие единицы (в данном ПС токенами являются отдельные слова и предложения);
– Удаление стоп-слов – удаление наиболее часто встречающиеся и малозначимые слова, которые не несут смысловой нагрузки, для чего используется список стоп-слов из NLTK (для каждого языка этот список уникален);
– Лемматизация и стемминг – преобразование слов к их базовым формам (нормальной форме), учитывая при этом морфологический анализ слов, а стемминг удаляет аффиксы, сохраняя основы слов.
Для получения данных о новых структурированных техниках
в разработанном ПС реализован поиск совпадений с помощью сопоставления выделенных в обработанном тексте токенов с описанием известных уязвимостей и структурированных техник реализации КА.
Для поиска совпадений используется два способа.
Первым способом является поиск косинусного сходства TF-IDF – метод анализа текста, при котором для оценки сходства документов используется косинусное сходство между векторами, представленными в виде Term Frequency-Inverse Document Frequency (TF-IDF).
Вторым способом является исследование текста на наличие в нем токенов в виде отдельных слов, приведенных к нормальной форме относящихся к описанию известных структурированных техник, при этом коэффициент сходства должен превышать заданное значение, пользователем.
Сведения об известных уязвимостях и техник реализации атак скачиваются с внешних источников данных и хранятся в json-файлах. Структура json-файла состоит из пар «ключ-значение» и может быть представлена в несколько уровней вложенности.
Проведенный анализ известных решений, их достоинств и недостатков позволил определить перечень библиотек, применение которых позволит реализовать заявленные функции и решить сформулированную задачу [7]:
- Natural Language Toolkit (NLTK) – служит для обработки естественного языка (NLP) и предоставляет множество инструментов анализа текста, включая токенизацию, лемматизацию, стемминг, анализ синтаксиса и многое другое;
- Nltk.tokenize.word_tokenize – метод NLTK используется для разделения текста на отдельные слова или токены и преобразует текст в список слов или токенов для последующей обработки;
- Nltk.corpus.stopwords – модуль NLTK содержит список стоп-слов на разных языках;
- Nltk.stem.PorterStemmer, nltk.stem.WordNetLemmatizer – используются для стемминга и лемматизации слов;
- Sklearn.feature_extraction.text.TfidfVectorizer – класс из библиотеки scikit-learn используемый для преобразования текстовых данных в матрицу TF-IDF;
- Sklearn.metrics.pairwise.cosine_similarity – метод из scikit-learn вычисляет косинусное сходство между векторами;
- PyPDF2.PdfReader, pypdf.PdfReader – классы позволяют читать PDF-файлы в Python.
Json – встроенная библиотека Python для работы с форматом данных JSON, позволяет кодировать и декодировать данные JSON, предоставляя удобный интерфейс для работы с данными в этом формате (в разработанном ПС реализовано извлечение значений «value», «name» и «description» из json-файла в которых хранятся описания об известных уязвимостях и техник реализации атак);
По результатам анализа всего документа сопоставленные пары: техника реализации КА – уязвимость, упорядочиваются и сопоставляются с номерами известных техник реализации атак (например, MITRE ATT&CK) и уязвимостей (например, CVE) соответственно. После чего создается отчет в формальном (номерном) и текстовом описании реализации КА с указанием используемых уязвимостей.
Разработанное ПС зарегистрировано в Роспатенте, а логика работы в составе других решений описана в патенте РФ на изобретение [8].
Разработанное ПС на основе применения элементов машинного обучения позволяет выявлять сведения о фактах эксплуатации известных уязвимостей при реализации новых тактик и техник реализации атак, что позволяет организации своевременно предпринять меры по недопущению нанесения ущерба [9].
К вопросу этичности применения искусственного интеллекта и машинного обучения в частности: разработанное ПС не заменяет аналитиков работающих в организации, а позволяет расширить объем обрабатываемых данных, что, несомненно, способствует снижению финансовых рисков и не исключает деятельность человека.
Возможности использования в других областях деятельности общества: в статье, большое внимание уделено методам, механизмам и средствам обработки естественного языка для того, чтобы было понимание общих процессов, протекающих в разработанном ПС. Так замена стоп-слов и использование для сравнения баз данных с набором слов из других областей деятельности позволяет считать данное средство универсальным.
1. Добрышин М.М. Порядок, формирование и подтверждение гипотез, и их влияние на парадигму теории информационной безопасности / Международный научно-практический электронный журнал «Экономика и качество систем связи» : – 2025. – № 3 (37). – С. 148-156.
2. Белов А. С., Добрышин М. М., Душкин А. В. Системы обеспечения информационной безопасности: системный анализ, синтез, управление обработкой информации / Учебное пособие для вузов. под науч. ред. А. В. Душкина // М. : Горячая линия – Телеком, 2023. – 232 с.
3. Намиот Д. Е., Ильюшин Е. А., Чижов И. В. Искусственный интеллект и кибербезопасность / International Journal of Open Information Technologies ISSN : 2307-8162 vol. 10, no 9, 2022. С. 135-144. EDN: https://elibrary.ru/DYQWEH
4. Рассел, Стюарт, Норвиг, Питер. Искусственный интеллект: современный подход, 4-е изд., том 1. Решение проблем: знания и рассуждения. : Пер. с англ. - СПб. : ООО "Диалектика", – 2021. – 704 с.
5. Рассел, Стюарт, Норвиг, Питер. Искусственный интеллект: современный подход, 4-е издание, том 3. Обучение, восприятие и действие: Пер. с англ. – СПб.: ООО "Диалектика", – 2022. – 640 с. - Парал. тит. англ.
6. Исаков А. А. Искусственный интеллект и расследование киберпреступлений / Вестник науки – № 5 (62) Т.3 – С. 597-602.
7. Добрышин М. М. К вопросу применения в средствах обеспечения информационной безопасности элементов доверенного искусственного интеллекта / Международный научно-практический электронный журнал «Экономика и качество систем связи» : – 2025. – № 4 (38). – С. 118-126.
8. Добрышин М. М. Программный модуль выявления вредоносного программного обеспечения, на основе дерева состояния, защищаемого ЭВМ / Свидетельство о государственной регистрации программы для ЭВМ № 2025666 120 от 23.06.2025 Бюл. № 7.



