УДК 004.056.5

Разработка программного агента системы предотвращения утечек конфиденциальной информации

Шашин Михаил Антонович – Санкт-Петербургский государственный университет телекоммуникаций имени проф. М.А. Бонч‑Бруевича.

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

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

Введение

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

Утечка (защищаемой) информации по техническим каналам – неконтролируемое распространение информации от носителя защищаемой информации через физическую среду до технического средства, осуществляющего перехват информации [3].

Технический канал утечки информации – совокупность носителя информации (средства обработки), физической среды распространения информативного сигнала и средств, которыми добывается защищаемая информация [3].

Утечка конфиденциальных данных может быть результатом недокументированных возможностей, внедренных в программное обеспечение, а также специально или случайно разглашенных данных сотрудниками. Такие утечки могут происходить во время передачи данных в открытом виде или из-за недостаточной защиты информации в компании. Наиболее часто утечки происходят через сеть Интернет. Также через мобильные устройства хранения данных, такие как оптические носители, USB-накопители и ноутбуки [4].

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

DLP-система включает следующие компоненты:

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

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

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

  • Предотвращение нецелевого использования рабочих ресурсов и контроль рабочего времени сотрудниками организации;
  • Выявление и предотвращение фактов внутренней конкуренции между отделами организации;
  • Предотвращение неправомерных действий сотрудников (предотвращение изготовления и оборота поддельных документов и пр.);
  • Выявление сотрудников, осуществляющих оперативный поиск кандидатов на вакантное рабочее место [6].

Цель работы

Спроектировать и разработать систему предотвращения утечек конфиденциальной информации для операционной системы Astra Linux в соответствии с законодательством РФ и актуальными требованиями к средствам защиты информации.

План работы

  1. Определение требований к DLP-системе.
  2. Определение списка актуальных задач.
  3. Поиск методов решения поставленных задач.
  4. Реализация функционала программного агента в соответствии с планом проекта.

Ход работы

Определение требований к DLP-системе

Основные функциональные требования для разрабатываемого решения:

  • Обеспечение безопасности конфиденциальной и секретной информации, предотвращение ее утечек и несанкционированной передачи;
  • Минимизация рисков, включая финансовые, репутационные последствия и другие возможные негативные эффекты;
  • Получение важной информации для анализа инцидентов информационной безопасности и их последствий;
  • Ликвидация угроз безопасности ПДн (персональных данных), в соответствии с действующими законами:
    • Федерального закона "Об информации, информационных технологиях и о защите информации" от 27.07.2006 N 149-ФЗ (ред. от 05.12.2022);
    • Федерального закона "О персональных данных" от 27.07.2006 N 152-ФЗ (ред. от 14.07.2022).
    • Постановления Правительства РФ от 01.11.2012 N 1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных"
  • Обеспечение безопасности информации составляющей государственную тайну в соответствии с руководящими документами регуляторов, а именно ФСТЭК и ФСБ России.

А также принятые критерии оценки специального программного обеспечения, позволяющих оценить функциональность DLP:

  • Многоканальность. Для обеспечения максимальной эффективности, продукт должен обеспечивать контроль наибольшего количества каналов передачи данных. Для этого необходим комплексный подход, который включает в себя мониторинг файловых операций, анализ электронной почты, программного обеспечения для обмена мгновенными сообщениями, а также действий пользователей в Интернете.
  • Унифицированный менеджмент. Система должна обладать средствами централизованного управления компонентами:
    • менеджмент-сервер, содержащий групповые политики;
    • сетевой шлюз, обеспечивающий безопасность периметра сети;
    • программные агенты, установленные на рабочих станциях персонала, серверах и файловых хранилищах организацию, позволяющие контролировать информацию на этих устройствах.
  • Активная защита. Помимо фиксации факта утечки конфиденциальной информации, данная система должна ее предотвращать.
  • Классификация информации с учетом, как содержимого, так и контекста. Утечки конфиденциальных данных должны определяться не только по содержанию переданной информации, но также и по контексту, в котором она передается: используемый протокол, используемое приложение, отправителя, адресата и т.д.

Определение списка актуальных задач

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

Также, был DLP-система должна работать как в «пассивном», так и в «активном» режиме, для повышения эффективности системы и соответствия уровню конкурентных современных решений.

Традиционная классификация подразумевает разделение DLP-систем на две группы:

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

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

  • Мониторинг передачи данных: система должна отслеживать все потоки данных, которые покидают корпоративную сеть, включая электронную почту, облачные хранилища, мессенджеры и т.д.
  • Классификация данных: система должна определять типы данных (например, конфиденциальные, персональные, финансовые и т.д.) и классифицировать их в соответствии с политиками безопасности организации.
  • Контроль доступа: система должна идентифицировать и аутентифицировать пользователя для получения прав для доступа к различным типам данным, а также блокировать нежелательные передачи данных.
  • Мониторинг активности пользователей: система должна отслеживать активность пользователей в корпоративной сети и выявлять аномалии, такие как: передача данных в ненадежные источники, нарушение политик безопасности и т.д.
  • Шифрование данных: система должна шифровать конфиденциальные данные, усложняя получение несанкционированного доступа и использование злоумышленником полученной информации.
  • Аудит и предоставление отчетности: система должна вести журнал всех событий и действий, связанных с передачей данных, и предоставлять отчеты о них администраторам безопасности.

Дополнительный функционал, который может включать в себя система предотвращения утечек (DLP) в зависимости от конкретных потребностей и целей организации, может включать в себя:

  • Анализ контекста: система может использовать анализ контекста для определения, является ли передача данных нормальной или аномальной. Например, система может определять, что передача данных в облачное хранилище является нормальной, если это облачное хранилище разрешено политиками безопасности компании, а передача данных на персональный электронный адрес является аномальной и может потребовать блокировки.
  • Интеграция с устройствами конечных пользователей: система может интегрироваться с устройствами конечных пользователей (например, компьютерами, ноутбуками, смартфонами и т.д.) и контролировать их действия в отношении передачи данных. Например, система может блокировать передачу данных на внешние носители информации, если такие действия запрещены политиками безопасности компании.
  • Анализ поведения пользователей: система может использовать машинное обучение для анализа поведения пользователей в корпоративной сети и выявления аномалий. Например, система может определить, что поведение пользователя является аномальным, если он обращается к большому количеству конфиденциальных данных, которые он ранее не запрашивал.
  • Защита от внутренних угроз: система может защищать корпоративную сеть от внутренних угроз, таких как злоумышленники, которые имеют доступ к корпоративной сети, и сотрудников, которые могут использовать свои привилегии для передачи данных.
  • Автоматизация процессов: система может автоматизировать процессы предотвращения утечек, чтобы снизить нагрузку на администраторов безопасности. Например, система может автоматически блокировать определенные типы данных, которые не могут быть переданы из корпоративной сети
  • Обнаружение утечек данных: система может обнаруживать попытки утечки данных из корпоративной сети и предотвращать их. Например, система может анализировать трафик сети и блокировать передачу конфиденциальных данных за пределы корпоративной сети.
  • Интеграция с системами управления инцидентами: система DLP может интегрироваться с системами управления инцидентами для более эффективного управления утечками данных и реагирования на возможные угрозы.
  • Защита от вредоносного программного обеспечения: система DLP может обнаруживать и блокировать вредоносное ПО, использующееся для попытки компрометации конфиденциальной информации.
  • Анализаторы контента: анализаторы контента используются для поиска конфиденциальной информации в различных форматах, такие как текстовые документы, электронные таблицы, презентации, электронные таблицы, презентации, а также изображения, видео- и аудиофайлы.
  • Распознавание образов: этот компонент используется для распознавания образов и шаблонов в изображениях и видеофайлах, что позволяет обнаружить скрытые данные. Данный функционал эффективно противодействует стеганографическим методам сокрытия информации.
  • Поведенческий анализ пользователя: используется для идентификации пользователя в информационной системе по паттерну поведения, например по клавиатурному почерку пользователя. Данный функционал позволяет обнаружить аномальное поведение пользователя и пресечь попытку несанкционированного доступа.

Семантическое ядро DLP-системы обладает следующим функционалом:

  • Использование регулярных выражений для поиска структурированных данных (например, паспортные данные, банковские карты и страховые номера);
  • Выполнение поиска по наборам ключевых слов, позволяющих эффективно производить поиск файлов с нужным содержимым.
  • Выполнение поиска по полному совпадению содержимого файлов для контроля неизменной информации (например, договоры с электронной подписью);
  • Анализ структуры файлов, созданных на основе шаблонов, для определения категории конфиденциальности (например, объекты интеллектуальной собственности);
  • Анализ содержимого с использованием машинного обучения: проводится обучение DLP-системы на некотором количестве данных, которые аналитик информационной безопасности отметил, как конфиденциальные. При обнаружении нового файла, DLP-система сравнивает его с файлами, на основе которых проходило обучение, чтобы определить, содержит ли файл конфиденциальную информацию[7].

Поиск методов решения поставленных задач

Для эффективного решения поставленной задачи требуется определиться с используемыми инструментами и технологиями:

  • Язык программирования: С++. Данный выбор обусловлен наличием ряда преимуществ:
    • Высокая производительность, низкое потребление аппаратных ресурсов;
    • Прямой доступ к интерфейсу системных вызовов (syscalls), позволяющим напрямую обращаться к ядру операционной системы для выполнения операций. Благодаря данной возможности мы можем устанавливать ловушки (hooks), позволяющими обрабатывать взаимодействия пользователя с операционной системой;
    • Высокая функциональность языка, встроенных инструментов;
    • Объемная кодовая база сторонних библиотек.
  • Алгоритмы шифрования, используемые при разработке программного обеспечения:
    • Алгоритм блочного шифрования «Кузнечик» (ГОСТ Р 34.12-2015) [8];
    • Алгоритм «RSA», реализованный посредством библиотеки OpenSSL.
  • Хранение данных, используемых программным обеспечением, осуществляется при помощи:
    • Бинарных файлов;
    • Защищенных ZIP-архивов;
    • Баз данных SQLite. Встраиваемой СУБД, обладающей высокой скоростью и позволяющей хранить всю базу локально.

Далее определим список инструментов, требуемых для реализации функционала DLP-системы:

  • Мониторинг активных процессов: модуль написан при помощи встроенных методов syscalls. Данный модуль отслеживает все запущенные процессы на устройстве пользователя и сверяет их со списком разрешенных процессов.
  • Кейлоггер: для написания модуля кейлоггера используется встроенные методы syscalls. Данный модуль отвечает за захват и распознавание нажатых клавиш, а также передвижение курсора.
  • Контроль записи информации на внешние носители: используем методы syscalls.
  • Контроль работы с файлами: используем методы syscalls.
  • Анализ входящего и исходящего трафика: для анализа трафика используем стороннюю библиотеку «libPcap».
  • Анализ документов: для анализа PDF документов используем свободно-распространяемую библиотеку «Foxit PDF SDK», дающую возможность эффективно обрабатывать PDF файлы. Для работы с остальным офисным пакетом документов разработали собственную библиотеку.
  • Модуль OCR: для оптического распознавания текстов с изображений используем «Tesseract OCR». Помимо этого, реализуем распознавание полей документа при помощи «OpenCV».
  • Обработка изображения с веб-камеры устройства: для распознавания объектов используем «OpenCV», для построения и обучения нейросети используем «TensorFlow» (для упрощения обучения нейросети при помощи «TensorFlow» возможно использование программы-прослойки, написанной на CPython с применением библиотеки «Keras»). Передача на сервер реализуется посредством стандарта WebRTC, что позволяет осуществлять просмотр в режиме реального времени.
  • Захват экрана: для захвата изображения с экрана используется библиотека «FFmpeg». Передача на сервер реализуется посредством стандарта WebRTC, что позволяет осуществлять просмотр в режиме реального времени.
  • Запись с устройств захвата звука: для работы со звуком в Astra Linux используется звуковая подсистема архитектуры ALSA. Для записи звука используем методы библиотеки «asoundlib», поставляемой в пакете «ALSA Development Package». Передача на сервер реализуется посредством стандарта WebRTC, что позволяет осуществлять просмотр в режиме реального времени.

Список литературы

  1. Катасонов А. И., Цветков А. Ю. “Анализ механизмов разграничения доступа в системах специального назначения” // Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2020). – 2020. – С. 563-568 (дата обращения: 25.01.2023).
  2. Шемякин С. Н., Гельфанд А. М., Орлов Г. А. “Критическая информационная инфраструктура” // Наука и инновации-современные концепции. – 2020. – С. 114-118 (дата обращения: 25.01.2023).
  3. Базовая модель угроз безопасности персональных данных при их обработке в информационных системах персональных данных // ФСТЭК России URL: https://fstec.ru/component/attachments/download/289 (дата обращения: 25.01.2023).
  4. Синельщиков В. С., Цветков А. Ю. “Защита персональных данных на предприятии” // Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2021). – 2021. – С. 653-657 (дата обращения: 25.01.2023).
  5. Волкогонов В. Н., Гельфанд А. М., Карамова М. Р. “Обеспечение безопасности персональных данных при их обработке в информационных системах персональных данных” // Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2019). – 2019. – С. 266-270 (дата обращения: 25.01.2023).
  6. Качуровский Ю. О., Пестов И. Е. “Использование dlp-систем для защиты информации” // инновационные технологии, экономика и менеджмент в промышленности. – 2021. – С. 201-202 (дата обращения: 25.01.2023).
  7. Алексанян А. П., Пестов И. Е. “Система мониторинга состояния информационной безопасности в ключевых системах информационной инфраструктуры” // Научный альманах. – 2015. – №. 7. – С. 560-565 (дата обращения: 25.01.2023).
  8. ГОСТ Р 34.12 – 2015 // Федеральное агентство по техническому регулированию и метрологии URL: https://tc26.ru/standard/gost/GOST_R_3412-2015.pdf (дата обращения: 25.01.2023).

Интересная статья? Поделись ей с другими: