Master Security Framework: моя многоуровневая система безопасности для современных приложений
18.05.2026
Резюме
Master Security Framework (MSF) — это комплексная, многоязычная и многоуровневая структура безопасности, предназначенная для защиты современных приложений на всех уровнях технологического стека. MSF, реализованный на Python и TypeScript, предлагает более 350 функций, распределенных по 28 модулям, охватывающих все: от аутентификации и шифрования до обнаружения веб-атак, сетевого анализа, облачной безопасности, защиты искусственного интеллекта, адаптивных ловушек, активной защиты и соответствия корпоративным требованиям. В этой статье представлен подробный технический анализ каждого модуля, функции, шаблона проектирования и механизма безопасности, реализованного в рамках.
1. Введение
1.1. Проблема
Современные приложения сталкиваются со все более сложным спектром угроз. Одна система может быть объектом атак на нескольких уровнях одновременно: внедрение подсказок в языковые модели, использование веб-уязвимостей (XSS, SQLi, SSRF), сканирование портов, DDoS-атаки, неправильные настройки облака, взломанные контейнеры, уязвимые зависимости в цепочке поставок программного обеспечения и нарушения нормативных требований.
Традиционный подход к безопасности — решение каждой проблемы с помощью изолированных инструментов — создает разрозненность защиты, оставляющую промежутки между уровнями. MSF была создана для решения этой проблемы, предлагая единую платформу безопасности, которая работает на всех уровнях приложения.
1.2. Что такое основная система безопасности
MSF — это платформа безопасности с открытым исходным кодом, реализованная на двух языках: Python и TypeScript. Каждый модуль существует на обоих языках с одинаковой семантикой, что позволяет многоязычным командам использовать один и тот же набор возможностей безопасности независимо от технологического стека.
Структура структурирована вокруг четырех столпов:
- Профилактика: проверка входных данных, очистка, шифрование, усиление безопасности конфигурации.
- Обнаружение: анализ моделей атак, статистических аномалий, сигнатур вредоносных программ, подозрительного поведения.
- Ответ: автономные оповещения, карантин, сдерживание, самовосстановление.
- Соответствие: автоматическая проверка LGPD, GDPR, HIPAA, PCI-DSS.
1.3. Метрики проекта
- Пройдено 243 автоматических теста (77 Python + 166 TypeScript)
- 14 модулей Python с более чем 180 функциями.
- 14 модулей TypeScript с более чем 170 функциями.
- Телеметрия OpenTelemetry интегрирована во все функции
- Структурированное журналирование (pin в TypeScript, loguru в Python)
- Кэш в памяти с автоматической аннулацией
- Policy Engine для настраиваемых правил безопасности.
- Шина событий для асинхронной связи между модулями
2. Каркасная архитектура
2.1. Уровень инфраструктуры (основной)
База MSF состоит из шести компонентов инфраструктуры, которые используются всеми остальными модулями:
Глобальная конфигурация: централизованный объект конфигурации, в котором хранятся параметры безопасности, пороговые значения, списки разрешенных/заблокированных пользователей и криптографические ключи. Конфигурацию можно перезагрузить в режиме реального времени из переменных среды без перезапуска приложения.
Policy Engine: система оценки правил, которая позволяет определять политики безопасности в виде структурированных утверждений. Механизм поддерживает логические операторы, сложные условия и принудительные действия (разрешить, запретить, предупредить, записать в журнал).
Шина событий: асинхронная система публикации и подписки, которая позволяет модулям публиковать события безопасности, а другим модулям подписываться на реагирование. Шина событий включает в себя историю событий и очередь недоставленных сообщений для событий, которые не удалось обработать.
Реестр метрик: система показателей, поддерживающая счетчики (для совокупных значений), датчики (для мгновенных значений) и гистограммы (для распределений). Все функции обнаружения автоматически публикуют метрики.
Диспетчер кэша: кэш LRU (наименее недавно используемый) с настраиваемым TTL (сроком жизни), используемый для хранения дорогостоящих результатов проверки, списков заблокированных IP-адресов, отпечатков пальцев сеансов и отозванных токенов.
OpenTelemetry: полная интеграция со стандартом OpenTelemetry, генерирующая распределенные интервалы трассировки для каждой операции безопасности. Это позволяет цветусвязывать события безопасности с трассировками запросов в архитектурах микросервисов.
Структурированный журнал: структурированный журнал в формате JSON с PIN-кодом (TypeScript) и loguru (Python), включая автоматический контекст, такой как идентификатор трассировки, серьезность, модуль и метаданные безопасности.
Обработка исключений: иерархия исключений безопасности («SecurityError», «ValidationError», «AuthenticationError», «EncryptionError»), которая обеспечивает детальную обработку ошибок безопасности.
2.2. Уровень защиты
Что касается инфраструктуры, MSF разделяет свои модули безопасности на три функциональных уровня:
Входной уровень: Интернет, API, аутентификация — защита точек входа приложения. Уровень инфраструктуры: сеть, облако, файл — защищает базовую инфраструктуру. Интеллектуальный уровень: искусственный интеллект, мониторинг, защита, ловушка — защита с помощью интеллекта и адаптации.
3. Модуль аутентификации (Auth)
Модуль аутентификации является самым обширным в платформе: 30 функций на Python и 7 на TypeScript. Он охватывает весь жизненный цикл аутентификации: генерацию и проверку токенов, управление сеансами, обнаружение атак и расширенные методы проверки личности.
3.1. JWT (веб-токены JSON)
MSF реализует полноценную систему JWT, которая выходит за рамки простой генерации и проверки:
generate_jwtсоздает токены с темой, настраиваемыми утверждениями, настраиваемым сроком действия и эмитентом. Поддерживает алгоритмы HS256, HS384, HS512, RS256, ES256.validate_jwtпроверяет подпись, срок действия, обязательные утверждения и возвращает декодированные полезные данные. Параметр verify_exp позволяет отключить проверку срока действия в определенных случаях.revoke_jwtдобавляет JTI (JWT ID) токена в черный список отзыва. Это необходимо для выхода из системы до естественного истечения срока действия токена.rotate_jwtпроверяет старый токен и выдает новый с тем же идентификатором, позволяя выполнять автоматическую ротацию токенов, не прерывая сеанс пользователя.validate_refresh_tokenпроверяет токены обновления с проверкой принадлежности конкретному пользователю, предотвращая использование украденного токена обновления другим пользователем.
3.2. Управление сеансами
Сеансовая система MSF включает защиту от перехвата сеанса:
secure_sessionсоздает сеанс, связывающий user_id, IP, пользовательский агент и отпечаток устройства. Это позволяет обнаружить подозрительные изменения в контексте сеанса.validate_sessionпроверяет, принадлежит ли session_id пользователю и соответствует ли текущий IP IP-адресу, зарегистрированному при создании сеанса.detect_session_hijackсравнивает текущий IP-адрес и пользовательский агент с историческими данными сеанса. Если IP-адрес переместился в другую подсеть или пользовательский агент значительно изменился, функция возвращает true, указывая на возможный захват.detect_token_replayсохраняет учет уже использованных токенов. Если токен представлен более одного раза, функция обнаруживает атаку повтора.
3.3. Обнаружение атак аутентификации
MSF обнаруживает три основных типа атак на системы аутентификации:
detect_credential_stuffingотслеживает попытки входа в систему с одного IP-адреса для нескольких учетных записей пользователей. Если IP-адрес пробует много разных имен пользователей за определенный период времени, это помечается как подстановка учетных данных.detect_bruteforceотслеживает попытки входа в систему для одной учетной записи. Если количество попыток превышает порог во временном окне, это помечается как перебор.detect_impossível_travelвычисляет расстояние между двумя последовательными местами входа в систему и сравнивает его с прошедшим временем. Если скорость, необходимая для перемещения между точками, превышает разумные физические пределы (например, 900 км/ч), функция обнаруживает невозможность перемещения.geo_velocity_checkрасширяет обнаружение невозможного путешествия на несколько мест, вычисляя географическую скорость между всеми последовательными точками входа.
3.4. Адаптивная аутентификация и аутентификация на основе рисков
adaptive_authнастраивает требования аутентификации на основе оценки риска контекста. Для входа со знакомого устройства в знакомом месте может потребоваться только пароль, а для входа с нового устройства в другой стране может потребоваться дополнительный MFA.- «behavioral_auth» использует поведенческую биометрию (схему набора текста, движение мыши, ритм просмотра) для проверки личности пользователя по зарегистрированному базовому уровню поведения.
- Risk_based_auth вычисляет совокупную оценку риска из несколькихпо факторам: местоположение, устройство, время, поведение, репутация IP-адреса и возвращает решение об аутентификации с уровнем доверия.
3.5. TOTP и резервные коды
generate_totpгенерирует коды одноразовых паролей на основе времени в соответствии с RFC 6238 с настраиваемыми цифрами и периодом.validate_totpпроверяет токены TOTP с допуском отклонения тактовой частоты (параметрdrift), компенсируя рассинхронизацию между сервером и устройством пользователя.verify_backup_codeпроверяет и использует коды резервного копирования/восстановления, удаляя их из допустимого списка после использования, чтобы предотвратить повторное использование.
3.6. WebAuthn и ключи доступа
passkey_authпроверяет аутентификацию FIDO2/WebAuthn, проверяя криптографическую подпись аутентификатора, данные аутентификатора и данные клиента JSON.webauthn_verifyвыполняет полную проверку утверждений WebAuthn, включая проверку источника, идентификатора RP (идентификатор проверяющей стороны) и криптографической подписи по зарегистрированному открытому ключу.phishing_resistent_authпроверяет, устойчив ли метод аутентификации к фишингу, требуя FIDO2 уровня 2 или выше с проверенной аттестацией.
3.7. Безопасность пароля
password_entropyвычисляет энтропию Шеннона пароля, измеряя его информационную сложность в битах. Пароли с энтропией ниже 40 бит считаются слабыми.detect_weak_passwordсочетает энтропийный анализ с проверкой списков распространенных паролей (rockyou, top 10000 и т. д.).password_breach_checkпроверяет, появляется ли хэш пароля в базе данных известных нарушений (Have I Been Pwned и т.п.).secure_password_hashсоздает хэши паролей с криптографической солью и растяжением ключей (итерациями), поддерживая такие алгоритмы, как PBKDF2, bcrypt, scrypt и Argon2.verify_password_hashсравнивает пароль с сохраненным хешем, используя безопасное сравнение с постоянным временем.
3.8. Отпечатки устройств и браузеров
device_fingerprintгенерирует уникальный идентификатор устройства на основе таких атрибутов, как пользовательский агент, разрешение экрана, часовой пояс, языки и платформа.browser_fingerprintиспользует расширенные методы снятия отпечатков пальцев, основанные на характеристиках рендеринга: хеш 2D-холста, хэш WebGL, хэш аудиоконтекста и список установленных шрифтов.biometric_validationсравнивает биометрические данные (отпечаток пальца, распознавание лица, радужная оболочка глаза) с сохраненным шаблоном с настраиваемым порогом сходства.
4. Модуль криптографии (Crypto)
Модуль шифрования реализует современные алгоритмы симметричного, асимметричного и постквантового шифрования с упором на аутентификацию и целостность.
4.1. Аутентифицированное шифрование
encrypt_dataиспользует аутентифицированное шифрование со связанными данными (AEAD), поддерживая AES-256-GCM и ChaCha20-Poly1305. Связанные данные (AAD) позволяют связать незашифрованные метаданные с зашифрованным текстом аутентифицированным способом.decrypt_dataвыполняет расшифровку с аутентификацией, проверяя тег аутентификации перед возвратом открытого текста. Если тег не соответствует, расшифровка не удалась, предотвращая атаки, связанные с заполнением оракула и манипулированием зашифрованным текстом.encrypt_fileиdecrypt_fileрасширяют аутентифицированное шифрование файлов на диске, безопасно управляя nonce, солью и метаданными.
4.2. Гибридная криптография
- «hybrid_encrypt» сочетает в себе асимметричное шифрование (для обмена ключами) с симметричным шифрованием (для полезной нагрузки). Симметричный ключ генерируется случайным образом, используется для шифрования полезных данных, а затем шифруется открытым ключом получателя.
hybrid_decryptменяет процесс: расшифровывает симметричный ключ с помощью закрытого ключа, а затем расшифровывает полезную нагрузку.
4.3. Постквантовая криптография
MSF реализует постквантовые алгоритмы, стандартизированные NIST:
pqc_encryptиpqc_decryptиспользуют ML-KEM (ранее Kyber) для шифрования, устойчивого к квантовым компьютерам.kyber_key_exchangeреализует протокол обмена ключами Kyber для постквантового установления общего ключа.dilithium_signиспользует ML-DSA (ранее Dilithium) для постквантовых цифровых подписей.sphincs_signиспользует SPHINCS+, схему подписи, основанную на хэш-функциях, в качестве постквантовой альтернативы без сохранения состояния.falcon_signиспользует Falcon, схему подписи на основе решетки с компактными подписями.
4.4. HMAC и проверка подписи
generate_hmacсоздает Hash-bиспользовать код аутентификации сообщения с использованием HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 или HMAC-SHA3-256.verify_hmacсравнивает вычисленный HMAC с ожидаемым HMAC, используя сравнение в постоянное время.verify_signatureпроверяет цифровые подписи (Ed25519, ECDSA, RSA-PSS) на основании сообщения и открытого ключа.
4.5. Криптографические утилиты
secure_randomгенерирует криптографически безопасные байты, используяos.urandom()(Python) илиcrypto.getRandomValues()(TypeScript).secure_memory_eraseперезаписывает области памяти, содержащие конфиденциальные данные, нулями, предотвращая сохранение данных в памяти после использования.anti_timing_compareсравнивает две последовательности байтов за постоянное время, перебирая все байты независимо от того, где возникает первая разница, предотвращая атаки по времени.
5. Веб-модуль
Веб-модуль является самым обширным с точки зрения обнаружения атак: он содержит 30 функций на Python и 35 на TypeScript. Он охватывает все категории веб-уязвимостей, включенные в топ-10 OWASP и далее.
5.1. Межсайтовый скриптинг (XSS)
detect_xssанализирует входные данные на наличие шаблонов XSS, включая: теги<script>, обработчики событий (onload,onclick,onerror),javascript:URI, DOM XSS (innerHTML,document.write) и XSS через SVG/MathML. Функция принимает набор шаблонов регулярных выражений и вычисляет показатель достоверности на основе количества совпадающих шаблонов.severity_thresholdпозволяет вам настроить чувствительность обнаружения.sanitize_htmlудаляет недопустимые теги и атрибуты из HTML, используя список разрешенных безопасных тегов (<p>,<br>,<strong>,<em>и т. д.) и безопасных атрибутов (href,src,alt,titleи т. д.). Запрещенные теги полностью удаляются, а опасные атрибуты, такие какon*, отфильтровываются.sanitize_svgочищает SVG, удаляя опасные элементы, такие как<script>,<foreignObject>,<animate>и атрибуты событий.sanitize_markdownочищает уценку, удаляя встроенный опасный HTML, сохраняя при этом собственное форматирование уценки.sanitize_cssудаляет опасные свойства CSS, такие какexpression(),url(javascript:),behaviorи-moz-binding.sanitize_jsудаляет опасные шаблоны JavaScript, включаяeval(),Function(),setTimeout/setIntervalсо строкой,document.write,document.cookie, небезопасные манипуляции с DOM и методы выполнения кода.
5.2. SQL и NoSQL-инъекция
detect_sqliобнаруживает шаблоны SQL-инъекций, включая: запросы на основе UNION (UNION SELECT), слепые (AND 1=1,OR '1'='1'), временные запросы (SLEEP(),WAITFOR DELAY), основанные на ошибках и составные запросы. Функция также обнаруживает методы обхода, такие как шестнадцатеричное кодирование, комментарии (--,/* */) и конкатенацию строк.detect_nósqliобнаруживает внедрение в базы данных NoSQL (в основном MongoDB), идентифицируя опасные операторы во входных данных:$gt,$gte,$lt,$lte,$ne,$in,$nin,$regex,$where,$exists.
5.3. Подделка запросов на стороне сервера (SSRF)
detect_ssrfпроверяет URL-адреса по списку разрешенных доменов и заблокированных IP-адресов. Функция обнаруживает методы обхода SSRF, включая: перенаправление на локальный хост, использование повторной привязки DNS, URL-адреса с кодировкой (%00,%0d%0a) и доступ к конечным точкам облачных метаданных (169.254.169.254,metadata.google.internal).
5.4. Удаленное выполнение кода (RCE) и внедрение команд
detect_rceидентифицирует шаблоны удаленного выполнения кода, включая вызовыeval(),exec(),system(),passthru(),popen(), обратные кавычки и операторы канала.detect_command_injectionобнаруживает внедрение команд ОС с помощью операторов оболочки:;,|,||,&&, обратные кавычки,$()и перенаправления (>,>>).
5.5. Включение файлов и обход пути
detect_lfiобнаруживает включение локального файла, определяя последовательности обхода пути (../,..\), закодированного обхода (%2e%2e%2f) и опасных протоколов (php://filter,php://input,data://,expect://).detect_rfiобнаруживает удаленное включение файлов, когда внешние URL-адреса передаются в качестве параметров include/require.detect_path_traversalпроверяет, разрешается ли путь в пределах разрешенногоbase_path, обнаруживая абсолютное и относительное прохождение.
5.6. Внедрение шаблона
detect_template_injectionобнаруживает внедрение шаблонов на стороне сервера (SSTI) для Jinja2 ({{ 7*7 }},{% for %}), EJS (<%= %>), Handlebars ({{#each}}), Pug, Twig, Mustache и общий режим, который определяет общий синтаксис шаблонов.
5.7. Десериализация иОткрыть перенаправление
detect_deserialization_attackвыявляет небезопасную десериализацию, проверяя разрешенные классы и известные шаблоны гаджетов (сериализация Java, Pickle Python, десериализация PHP, десериализация YAML).detect_open_redirectпроверяет, указывает ли URL-адрес перенаправления на хост в белом списке, предотвращая перенаправление на вредоносные домены.
5.8. Защита CSRF, CORS и CSP
csrf_protectиvalidate_csrfпроверяют токены CSRF запроса на токены сеанса, используя безопасное сравнение.validate_corsпроверяет запросы CORS, проверяя происхождение, методы и заголовки по разрешенным спискам.generate_cspгенерирует заголовки Content-Security-Policy из конфигурации директив (script-src, style-src, img-src, Connect-SRC, Frame-ancestors и т. д.).validate_cspпроверяет существующий заголовок CSP на соответствие определенной политике безопасности.secure_headersгенерирует полный набор заголовков безопасности: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy и Content-Security-Policy.
5.9. Безопасные файлы cookie и кликджекинг
secure_cookieгенерирует заголовки Set-Cookie с флагами Secure, HttpOnly, SameSite (Strict или Lax), областью домена, путем и максимальным возрастом.detect_clickjackingпроверяет наличие заголовков X-Frame-Options и предков CSP-фреймов для обнаружения уязвимости кликджекинга.validate_originиvalidate_refererпроверяют заголовки Origin и Referer на соответствие ожидаемым доменам.
5.10. Вебхуки
webhook_signatureгенерирует подписи HMAC для полезных данных веб-перехватчика, включая метку времени для предотвращения повторного воспроизведения.webhook_replay_protectionпроверяет подпись и временную метку веб-перехватчика, отклоняя запросы за пределами настроенного временного окна.
6. Модуль API
Модуль API защищает конечные точки API от широкого спектра атак и злоупотреблений.
6.1. Проверка ввода и очистка
validate_json_schemaпроверяет данные на соответствие определениям схемы JSON с дополнительным строгим режимом, который отклоняет дополнительные поля, не определенные в схеме.validate_inputпроверяет входные данные API на соответствие правилам типа (строка, число, логическое значение, массив, объект), минимальному/максимальному размеру, шаблону регулярного выражения, перечислению разрешенных значений и максимальной глубине вложенности (по умолчанию: 5 уровней).sanitize_jsonочищает данные JSON, удаляя недопустимые типы и усекая строки, превышающие настроенную максимальную длину (по умолчанию: 10 000 символов).
6.2. Ограничение скорости
- api_rate_limit реализует ограничение скорости с использованием алгоритма скользящего окна, сохраняя запись временных меток запроса для каждого клиента и конечной точки. Когда количество запросов в окне превышает лимит, запрос отклоняется.
adaptive_rate_limitдинамически регулирует ограничения скорости в зависимости от поведения клиента. Клиенты с чистой историей получают более щедрые лимиты, а клиенты с подозрительными моделями — более строгие лимиты.
6.3. Обнаружение злоупотреблений API
detect_api_abuseанализирует шаблоны запросов для обнаружения: очистки (последовательные запросы ко многим ресурсам), перечисления (последовательные попытки идентификации), фаззинга (запросы с различными неверными полезными нагрузками) и вредоносной автоматизации (высокая частота с регулярными шаблонами).detect_shadow_apiидентифицирует недокументированные конечные точки, которые получают трафик, путем сравнения конечных точек, к которым осуществляется доступ, со списком документированных API.
6.4. Авторизация на уровне сломанного объекта (BOLA/IDOR)
detect_bolaпроверяет, имеет ли пользователь право доступа к запрошенному ресурсу, сравниваяresource_idсownership_map, который сопоставляет ресурсы с их владельцами. Если пользователь не является владельцем и не имеет делегированных разрешений, функция возвращает true.
6.5. Нарушенная аутентификация и массовое присвоение
detect_broken_authпроверяет наличие и достоверность токена аутентификации, области действия, необходимые конечной точке, и соответствие между токеном и запрошенным пользователем.detect_mass_assignmentпроверяет, содержит ли ввод API поля, которых нет в модели (model_fields) или которые находятся в списке полей только для чтения (readonly_fields), не позволяя злоумышленникам изменять защищенные поля, такие какis_admin,roleилиbalance.
6.6. Безопасность GraphQL
— graphql_length_limit анализирует глубину запросов GraphQL, отклоняя запросы, превышающие настроенный лимит (по умолчанию: 10 уровней). Это предотвращает атаки, которыерекурсивные попытки, которые могут вызвать отказ в обслуживании.
- «graphql_cost_anaанализ» вычисляет вычислительную стоимость запроса GraphQL на основе сложности каждого поля (настраивается через «complexity_map») и уровня вложенности. Запросы со стоимостью выше лимита (по умолчанию: 1000) отклоняются.
- graphql_abuse_detection анализирует несколько запросов во временном окне для обнаружения переполнения запросов, злоупотреблений самоанализом (запросы, которые используют схему для сопоставления API) и повторяющихся шаблонов злоупотреблений.
6.7. gRPC и безопасность WebSocket
grpc_security_validationпроверяет безопасность запросов gRPC, проверяя метаданные, обязательные заголовки и информацию TLS (набор шифров, протокол, сертификат узла).secure_websocketнастраивает безопасные соединения WebSocket с проверкой происхождения и разрешенными подпротоколами.websocket_origin_validationиwebsocket_flood_protectionзащищают от вредоносных соединений WebSocket и лавинной рассылки соединений.
6.8. Управление ключами API
api_key_rotationгенерирует новые ключи API с безопасным хешем (SHA3-256), идентифицируемым префиксом и настраиваемой датой истечения срока действия.- api_key_validation проверяет ключи API на соответствие реестру известных ключей, проверяет области действия, срок действия и индивидуальные ограничения скорости.
7. Модуль искусственного интеллекта (ИИ)
Модуль AI — один из самых инновационных модулей MSF, предлагающий полную защиту приложений, использующих большие языковые модели (LLM).
7.1. Быстрое внедрение и защита от джейлбрейка
detect_prompt_injectionанализирует подсказки для шаблонов внедрения, таких как «игнорировать предыдущие инструкции», «забыть все правила», «система:», «вы сейчас», «игнорировать все предыдущие», «переопределить системные инструкции», «обойти безопасность», «действовать так, как будто вы есть», «притвориться, что вы есть», «с этого момента вы есть», «режим разработчика:», а также шаблоны разметки, которые пытаются имитировать системные инструкции. Функция использует более 20 шаблонов регулярных выражений и вычисляет показатель достоверности на основе количества совпадений и длины приглашения.detect_jailbreakобнаруживает попытки взлома, специально направленные на обход ограничений безопасности LLM, в том числе: режим DAN, «сделать что-нибудь сейчас», «отключить безопасность», «неограниченный режим», «без каких-либо ограничений», «игнорировать правила безопасности», «вам не обязательно следовать вашим правилам», «ролевая игра без ограничений», «гипотетический сценарий, в котором вы можете», «в этой альтернативной вселенной» и шаблоны «только для образовательных целей», используемые в качестве оправдания обхода.
7.2. Защита конфиденциальных данных
detect_sensitivity_leakсканирует текст на предмет конфиденциальных данных, включая: SSN/CPF, номера кредитных карт (с проверкой контрольной суммы Луна), электронные письма, номера телефонов, ключи API (стандарты AWS, GCP, GitHub, Stripe), пароли, токены JWT, закрытые ключи (заголовки PEM) и адреса криптовалютных кошельков.detect_prompt_leakобнаруживает попытки извлечь системное приглашение LLM путем сравнения содержимого пользовательского приглашения с системным приглашением, используя сходство текста. Если пользователь пытается воспроизвести или вывести части системного приглашения, функция помечает это.detect_data_exculturalанализирует выходные данные LLM на наличие конфиденциальных данных, которые могли быть случайно включены в ответ.
7.3. Санитарная обработка
sanitize_promptудаляет заблокированные шаблоны из приглашения пользователя и устанавливает ограничение длины.sanitize_llm_outputудаляет сценарии, обработчики событий и конфиденциальные данные из выходных данных LLM, при необходимости применяя усечение.ai_memory_sanitizerочищает записи памяти ИИ на основе политики хранения, удаляя конфиденциальные данные и записи с истекшим сроком действия.
7.4. Обнаружение злоупотреблений моделями и агентами
detect_model_abuseанализирует шаблоны запросов для обнаружения злоупотреблений моделью: чрезмерное повторение (одно и то же приглашение отправляется несколько раз), высокая частота запросов (более 30 в минуту) и аномальная сложность (очень глубокие или длинные запросы). Оценка злоупотреблений рассчитывается как взвешенная комбинация соответствия шаблону, повторения, частоты и сложности.detect_agent_abuseотслеживает поведение агентов ИИ, проверяя, соответствуют ли выполняемые действия определенным политикам (разрешенные действия, ограничения вызовов, ограничения доступа).
7.5. LLM Межсетевой экран и механизм политик
llm_firewallоценивает входные данные по набору правил брандмауэра LLM с настраиваемыми действиями (блокировать, предупреждать, регистрировать). Каждое правило определяет шаблон, условие и действие.ai_policy_engineоцениваеткак запрос LLM, так и выходные данные соответствуют набору политик безопасности, включая: запрет на создание вредоносного кода, запрет на раскрытие личной информации, требование источников для фактических утверждений и ограничения, специфичные для домена.
7.6. ТРЯПКА и галлюцинации
rag_source_validationпроверяет достоверность источников, используемых в системах RAG (поисковая дополненная генерация), проверяя, находятся ли исходные домены в списке доверенных, и применяя правила проверки, такие как проверка даты, автора и репутации.- «hallucination_risk» оценивает риск галлюцинаций в результатах LLM путем анализа: низких показателей достоверности, непроверенных утверждений, фактических несоответствий и языковых моделей, указывающих на неопределенность.
7.7. Ограждения и проверка вызова инструментов
ai_output_guardприменяет ограничения и правила редактирования к выходным данным LLM, удаляя запрещенный контент и редактируя конфиденциальные данные.tool_call_validationпроверяет вызовы инструментов (вызовы функций), проверяя, находится ли инструмент в списке разрешенных и соответствуют ли аргументы ожидаемой схеме.- multi_agent_isolation проверяет политику изоляции и связи между несколькими агентами ИИ, предотвращая компрометацию одного агента другим.
7.8. Мониторинг
ai_token_monitorотслеживает использование токенов LLM в соответствии с определенными лимитами (за запрос, за минуту, за день, за стоимость), генерируя оповещения при приближении или превышении лимитов.ai_behavior_monitorотслеживает поведение ИИ на предмет отклонений от установленного базового уровня, обнаруживая изменения в шаблонах ответов, увеличение количества ошибок или неожиданное поведение.
8. Сетевой модуль
Сетевой модуль обеспечивает обнаружение угроз на сетевом уровне, охватывая все: от сканирования портов до связи для управления и контроля.
8.1. Обнаружение сканирования
detect_port_scanанализирует соединения с исходного IP-адреса для обнаружения сканирования портов. Функция подсчитывает уникальные порты, к которым был осуществлен доступ, вычисляет скорость соединения (соединений в секунду) и анализирует шаблоны флагов TCP (SYN-флуд, шаблоны SYN-RST). Обнаруженные типы сканирования включают: сканирование SYN, сканирование FIN, сканирование XMAS, сканирование NULL и сканирование UDP. Настраиваемый порог позволяет регулировать чувствительность (по умолчанию: 20 одиночных портов за 60 секунд).detect_dns_tunnelingанализирует DNS-запросы на предмет обнаружения туннелирования, рассчитывает энтропию Шеннона поддоменов (данные, закодированные в DNS-запросах, имеют высокую энтропию), измеряет средний размер поддоменов и подсчитывает частоту запросов для конкретного домена.
8.2. Обнаружение аномалий дорожного движения
detect_traffic_anomalyсравнивает текущие показатели трафика (байты в секунду, пакеты в секунду, соединения в секунду, распределение протоколов) с историческими базовыми показателями с использованием статического z-показателя. Отклонения выше порогового значения (по умолчанию: стандартное отклонение 2,0) помечаются как аномалии.detect_ddosобнаруживает распределенные атаки типа "отказ в обслуживании", анализируя скачки количества байтов/пакетов в секунду по сравнению с базовым уровнем, с настраиваемым пороговым значением и временным окном.
8.3. Обнаружение прокси, VPN и Tor
detect_proxyпроверяет заголовки HTTP, указывающие на прокси-сервер (X-Forwarded-For, Via, X-Real-IP, Forwarded), и анализирует модели поведения прокси-соединений.detect_vpnпроверяет исходный IP-адрес по базе данных известных IP-адресов VPN-провайдера.detect_torпроверяет, принадлежит ли IP сети Tor, путем сравнения со списками узлов и выходных узлов из сети Tor.
8.4. Проверка IP и домена
validate_ipпроверяет адреса IPv4 на соответствие разрешенным диапазонам и блокирует их, используя сопоставление CIDR. Поддерживает нотацию CIDR (например, «192.168.1.0/24») и отдельные диапазоны.validate_domainпроверяет домены, проверяя TLD на соответствие списку разрешенных (например, только.com,.org,.br) и весь домен на наличие списка заблокированных.
8.5. Обнаружение спуфинга и отравление ARP
detect_spoofingанализирует пакетные данные на соответствие ожидаемым источникам и топологии сети для обнаружения подмены IP-адреса, проверяя, соответствует ли исходный IP-адрес ожидаемому маршруту.detect_arp_poisoningсравнивает текущую таблицу ARP с ожидаемыми сопоставлениями IP-MAC, определяя, когда MAC-адрес отвечает на несколько IP-адресов или когда сопоставление неожиданно изменяется.
8.6. TLS-отпечаток пальца
tls_fingerprintгенерирует отпечаток TLS на основе рукопожатия (наборы шифров, расширения, эллиптические кривые, форматы точек) и сравнивает его св базу данных известных отпечатков пальцев для идентификации клиента.ja3_fingerprintгенерирует специфичный для TLS хэш JA3 ClientHello, который является отраслевым стандартом для идентификации клиентов TLS на основе параметров согласования.
8.7. Маяк и обнаружение C2
beaconing_detectionобнаруживает поведение маяка (периодическая связь с управлением и контролем) путем анализа регулярности интервалов между соединениями. Соединения с очень регулярными интервалами (низкий джиттер) и высокой интервальной корреляцией указывают на маяковую передачу.command_and_control_detectionанализирует шаблоны трафика по известным показателям C2: связь с доменами DGA (алгоритм генерации домена), трафик на нестандартных портах, шаблоны маяков и использование протоколов туннелирования (DNS, ICMP, HTTP).
8.8. Боковое движение и сетевой анализ
Lateral_movement_detectionобнаруживает горизонтальное перемещение путем анализа шаблонов доступа между хостами в сети: доступ к хостам, к которым пользователь обычно не имеет доступа, использование протоколов удаленного администрирования (RDP, SSH, WMI) для необычных хостов и распространение доступа в виде графа.network_entropy_anaанализанализирует энтропию сетевых пакетов для обнаружения зашифрованного или скремблированного трафика (высокая энтропия указывает на случайные или зашифрованные данные).traffic_behavior_anaанализанализирует поведение трафика по сравнению с базовыми показателями, установленными во временном окне, обнаруживая изменения в модели связи.protocol_anomaly_detectionобнаруживает аномалии в протоколах путем сравнения данных протокола с ожидаемой спецификацией (обязательные поля, допустимые значения, последовательность сообщений).
9. Облачный модуль
Облачный модуль защищает облачные инфраструктуры на AWS, GCP и Azure, охватывая контейнеры, Kubernetes, хранилище, IAM, IaC и цепочку поставок.
9.1. Безопасность контейнеров
validate_dockerfileпроверяет файлы Dockerfile на соответствие передовым практикам безопасности: не используйте тегlatest, не запускайте от имени пользователя root, включайте HEALTHCHECK, не включайте жестко запрограммированные секреты, используйте минимальное количество базовых образов (alpine, без дистрибутива) и не открывайте ненужные порты.detect_container_escapeобнаруживает потенциальные векторы выхода из контейнера, проверяя: привилегированный режим, опасные возможности (SYS_ADMIN, SYS_PTRACE, NET_ADMIN), чувствительное монтирование HostPath (/,/etc,/proc,/sys), отсутствие профилей seccomp/AppArmor и совместное использование пространства имен хоста.runtime_container_protectionанализирует события контейнера во время выполнения на соответствие правилам угроз и выполняет автоматические действия (блокировать, предупреждать, изолировать, завершать, регистрировать).container_image_scanсканирует слои образа контейнера на наличие известных уязвимостей (CVE) и проверяет подписи образа (Cosign, Notary).
9.2. Безопасность Кубернетеса
validate_k8s_rbacпроверяет конфигурации Kubernetes RBAC на соответствие принципам минимальных привилегий: обнаружение ClusterRoles с подстановочным знаком (*), ServiceAccounts с чрезмерными разрешениями, привязок, предоставляющих доступ к секретам, и ролей, разрешающих выполнение в модулях.validate_kubernetes_manifestпроверяет манифесты Kubernetes на соответствие политикам безопасности модулей и сетевым политикам: обнаруживает модули, работающие от имени пользователя root, без ограничений ресурсов, с hostNetwork/hostPID/hostIPC, без readOnlyRootFilesystem и без SecurityContext. — runtime_k8s_anomaly обнаруживает аномальное поведение в событиях среды выполнения Kubernetes: создание модулей в необычных пространствах имен, изменения в RBAC, доступ к нестандартным секретам и связь между модулями, которые обычно не обмениваются данными.
9.3. Хранилище и IAM
detect_public_bucketобнаруживает общедоступные сегменты облачного хранилища, проверяя: политики сегментов сPrimary: "*", общедоступные списки управления доступом, отключенную блокировку публичного доступа и конфигурации веб-сайта, которые предоставляют доступ к сегменту.validate_s3_permissionsпроверяет разрешения корзины S3 на соответствие требованиям безопасности: проверяет отсутствие общедоступных разрешений на запись, включено ли шифрование, активно ли управление версиями и настроено ли ведение журнала.validate_iam_policyпроверяет политики IAM по спискам разрешенных и запрещенных действий, обнаруживая превышение разрешений: действия с подстановочным знаком (s3:*,*), доступ к ресурсам всех служб и отсутствие условий ограничения.
9.4. Инфраструктура как код
validate_terraformпроверяет планы Terraform на соответствие политикам безопасности: обнаруживает ресурсы с отключенным шифрованием, группы безопасности с открытыми правилами входа (0.0.0.0/0), общедоступные сегменты, неподдерживаемые базы данных и ресурсы без идентифицирующих тегов.detect_cloud_misconfigобнаруживает неправильные конфигурации облачной инфраструктуры путем сравнения текущей конфигурации с базовым уровнем безопасности для каждого поставщика (AWS, GCP, Azure).
9.5. Секреты и цепочка поставок
validate_secrets_managerпроверяет конфигурацию диспетчера секретов: включена автоматическая ротация, неактивное шифрование с помощью KMS, политики ограничительного доступа и включено ведение журнала доступа.- «supply_chain_validation» проверяет зависимости программного обеспечения от доверенных источников и баз данных уязвимостей, обнаруживая пакеты из непроверенных источников, версии с известными CVE и зависимости с ограничительными лицензиями.
sbom_generatorгенерирует спецификацию программного обеспечения в форматах SPDX или CycloneDX, в которой перечислены все компоненты с указанием имени, версии, типа, лицензий и хеша.dependent_auditпроверяет зависимости на соответствие базе данных уязвимостей с фильтром серьезности.detect_typósquattingобнаруживает атаки типосквоттинга, сравнивая имена пакетов с известными пакетами, используя сходство строк (Левенштейн, замена символов, расстановка переносов).
9.6. Оценка и идентичность
- Cloud_security_score вычисляет общий рейтинг облачной безопасности на основе тестов CIS и настраиваемых весов по категориям (IAM, хранилище, сеть, ведение журнала, шифрование).
workload_identity_validationпроверяет конфигурацию удостоверения рабочей нагрузки (IRSA в AWS, удостоверение рабочей нагрузки в GKE, управляемое удостоверение в Azure).confidential_computing_validationпроверяет аттестацию конфиденциальных вычислений для TEE (Intel SGX/TDX, AMD SEV-SNP, AWS Nitro Enclaves, Azure CVM).
10. Модуль мониторинга
Модуль мониторинга предлагает расширенные возможности обнаружения, корреляции и реагирования на инциденты.
10.1. Защищенное от несанкционированного доступа ведение журнала
secure_logсоздает безопасные записи журнала с криптографической целостностью, используя хэш-цепочку: каждая запись включает в себя хеш предыдущей записи, что делает невозможным изменение прошлых записей без аннулирования всей цепочки.tamperproof_logsпроверяет целостность цепочки журналов, проверяя, что каждый хэш правильно указывает на предыдущую запись.
10.2. Статистическая оценка
anomaly_scoreвычисляет оценку аномалии с использованием статистического z-показателя: для каждой метрики вычисляет, на сколько стандартных отклонений текущее значение отличается от исторического среднего. Отдельные оценки объединяются с настраиваемыми весами для получения составной оценки.- Threat_score вычисляет оценку угрозы, состоящую из событий безопасности и информации об угрозах, взвешивания по серьезности, критичности цели и уверенности в источнике информации.
- Risk_score вычисляет оценку риска для конкретного пользователя на основе недавних событий, текущего контекста и истории (предыдущее среднее значение риска, количество инцидентов, количество дней с момента последнего инцидента).
10.3. Корреляция и оповещения
- «correlate_events» коррелирует события безопасности в пределах временного окна, используя определяемые пользователем правила корреляции. Например: «если есть 3 неудачных события входа в систему с одного и того же IP, за которыми следует успешное событие, соотнесите это как возможный перебор».
- Realtime_alert оценивает события на соответствие правилам оповещений и генерирует оповещения в реальном времени с настраиваемыми уведомлениями (электронная почта, Slack, PagerDuty, веб-перехватчик).
- «adaptive_alerting» реализует адаптивные оповещения с предотвращением усталости оповещений: если количество оповещений в час превышает базовый уровень, система группирует похожие оповещения и снижает частоту оповещений.
10.4. Анализ атак
— «attack_path_anaанализ» анализирует потенциальные пути атак через сеть на основе событий безопасности и топологии сети, определяя последовательности действий, которые злоумышленник может использовать для достижения критической цели.
- threat_graph строит граф знаний об угрозах из событий, объектов (пользователей, хостов, приложений) и отношений (доступ, компрометация, взаимодействие).
- attack_chain_mapping отображает события безопасности в структуру MITRE ATT&CK (методы и тактика) и в Cyber Kill Chain (разведка, вооружение, доставка, эксплуатация, установка, C2, действия по целям).
10.5. Поведенческий анализ и UEBA
behavioral_anaанализанализирует поведение пользователей на основе установленных базовых показателей: типичное время входа в систему, общие местоположения, объем событий в час и типичные типы действий.ueba_anaанализвыполняетАналитика поведения пользователей и объектов сравнивает поведение пользователей с аналогичной группой (группой пользователей с похожим профилем), выявляя статистические отклонения.detect_account_takeoverобнаруживает попытки захвата учетной записи на основе поведенческих индикаторов: вход в систему с неизвестного устройства, необычное местоположение, нетипичное время, смена пароля с последующей передачей данных и доступ к нестандартным ресурсам.
10.6. Автономное реагирование и судебная экспертиза
- autonomous_response выполняет автономное реагирование на инциденты в зависимости от серьезности угрозы и правил реагирования: блокирует IP-адрес, отключает учетную запись, изолирует хост, отзывает токены и передает информацию команде безопасности.
forensic_snapshotсоздает криминалистический снимок состояния системы с цепочкой хранения доказательств, включая криптографический хэш всех собранных артефактов.incident_timelineстроит хронологическую временную шкалу инцидентов на основе событий безопасности, упорядочивая их по временным меткам и группируя по фазам атаки.- autonomous_triage выполняет автономную сортировку оповещений с использованием правил сортировки и дополнительных данных (информация об угрозах, контекст пользователя, история ложных срабатываний).
11. Модуль активной защиты (оборонительный)
Защитный модуль реализует механизмы активной защиты, которые защищают саму платформу и среду выполнения приложения.
11.1. Защита от отладки и защиты от взлома
runtime_self_protectionвключает механизмы самозащиты во время выполнения: периодические проверки целостности, обнаружение отладки и непрерывный мониторинг состояния процесса.anti_debugging_detectionобнаруживает активные попытки отладки, проверяя: статус ptrace (если процесс отслеживается), сигналы отладчика в среде (переменные среды, файлы отладки) и аномалии времени выполнения (неожиданные паузы указывают на точки останова).- «anti_tampering» проверяет двоичную целостность путем сравнения криптографических хешей (SHA-256, SHA3-256) с ожидаемыми значениями. Если хэш изменился, двоичный файл был изменен.
memory_integrity_checkпроверяет целостность регионов памяти, сравнивая текущее состояние с ожидаемым и проверяя подписи критических регионов.process_integrity_checkпроверяет целостность процесса, включая: загруженные модули (обнаружение неавторизованных DLL), страну цепочки процессов (определение того, был ли процесс запущен неожиданным родителем) и разрешения процесса.
11.2. Двоичная проверка и проверка загрузки
code_signing_validationпроверяет сертификат подписи двоичного кода по хранилищу доверенных сертификатов и проверяет, не был ли сертификат отозван.binary_integrity_validationпроверяет целостность двоичного файла для каждого раздела (.text, .data, .rsrc, .reloc), вычисляя отдельные хэши для каждого раздела и сравнивая их с ожидаемыми хэшами.secure_boot_validationпроверяет безопасную цепочку загрузки, проверяя измерения TPM (доверенный платформенный модуль) и значения PCR (регистры конфигурации платформы), которые записывают каждый этап загрузки.secure_update_validationпроверяет пакеты обновлений, проверяя: криптографическую подпись пакета, целостность содержимого, версию (предотвращая атаки на понижение версии) и канал распространения.
11.3. Передовые методы обнаружения
anti_hook_detectionобнаруживает перехваты функций в памяти, проверяя: перехват IAT (изменение таблицы адресов импорта), встроенный перехват (изменение первых инструкций функции) и перехват SSDT (изменение таблицы дескрипторов системных служб в ядре).anti_injection_detectionобнаруживает внедрение кода в пространство памяти процесса путем проверки: модулей, загруженных без подписи, библиотек, загруженных по подозрительным путям, и сигнатур известных методов внедрения (выпуклость процесса, внедрение DLL, отражающая загрузка DLL).anti_rootkit_detectionобнаруживает индикаторы руткитов, анализируя: системные вызовы, которые возвращают противоречивые результаты, неподписанные модули ядра и скрытые процессы (процессы, которые появляются в списке процессов ядра, но не в списке операционной системы).anti_vm_detectionобнаруживает выполнение в виртуальной среде путем проверки: информации об оборудовании, указывающей на виртуальную машину (производитель BIOS, модель процессора, MAC-адрес), проверки времени (инструкции, которые выполняются медленнее в виртуальных машинах) и артефактов виртуальной машины (файлы, службы, драйверы, специфичные для VMware, VirtualBox, Hyper-V).anti_emulation_detectionобнаруживает среды эмуляции, проверяя: наличие API-интерфейсов, которые эмуляторы часто не реализуют, время операций (эмуляторы медленнее) и проверки среды (количество процессов, дисковое пространство, оперативная память).
11.4. Движущаяся цель и самоисцеление
- «moving_target_runtime» реализует защиту от движущихся целей путем ротации конечных точек службы, рандомизации структуры памяти и изменения времени отклика, чтобы затруднить эксплуатацию уязвимостей.
- Dynamic_attack_surface динамически настраивает поверхность атаки в зависимости от уровня угрозы: на низком уровне доступны все конечные точки; на среднем уровне отключены несущественные конечные точки; на высоком уровне активными остаются только критические конечные точки.
runtime_policy_engineоценивает и применяет политики безопасности во время выполнения с настраиваемым режимом применения (аудит, предупреждение, принудительное применение).- self_healing_security автоматически обнаруживает и восстанавливает инциденты безопасности: если служба скомпрометирована, система может перезапустить службу, восстановить исходную конфигурацию и уведомить персонал.
adaptive_threat_responseвыполняет адаптивное реагирование на угрозы на основе характеристик угроз и заранее определенных сценариев реагирования.- autonomous_containment содержит автономно активные угрозы с использованием правил сдерживания и топологии сети: изолируйте скомпрометированные хосты, блокируйте связь C2 и сегментируйте сеть для ограничения распространения.
12. Модуль Honeypot
Модуль Honeypot реализует методы обмана для привлечения, обнаружения и анализа злоумышленников.
12.1. Поддельные услуги
fake_admin_panelразвертывает реалистичную фальшивую панель администратора с маршрутами входа в систему, информационной панелью, управлением пользователями и настройками системы. Все взаимодействия протоколируются для анализа.fake_databaseсоздает поддельную базу данных с реалистичной схемой (таблицы пользователей, заказов, платежей) и примерами записей, которые выглядят законными, но являются полностью вымышленными.fake_apiразвертывает поддельный REST API с реалистичными конечными точками (/api/users,/api/orders,/api/pays), которые возвращают убедительные, но вымышленные полезные данные.fake_filesystemсоздает поддельную файловую систему с правдоподобной структурой каталогов (/etc,/var/log,/home/user,/opt/app) и файлами с реалистичным содержимым.fake_ssh_serviceразвертывает поддельную службу SSH, которая принимает соединения, отображает реалистичный баннер и регистрирует все попытки аутентификации и выполненные команды.fake_rdp_serviceразвертывает поддельную службу RDP для обнаружения и отслеживания атак на удаленный рабочий стол.fake_kubernetes_clusterразвертывает поддельный API-интерфейс кластера Kubernetes для привлечения злоумышленников, ориентированных на контейнеры, отвечая на запросы модулей, сервисов, развертываний и секретов.fake_s3_bucketсоздает поддельную корзину S3 с реалистичными объектами (документами, конфигурациями, резервными копиями) и политиками доступа, которые выглядят законными.fake_login_pageразвертывает убедительную страницу входа с настраиваемым брендингом для отслеживания попыток отправки учетных данных.fake_debug_panelразвертывает поддельную панель отладки/разработки, которая, по-видимому, раскрывает внутреннюю системную информацию (переменные среды, настройки базы данных, журналы).
12.2. Honeytokens и обман
fake_secretsгенерирует и управляет поддельными секретами (ключами API, токенами базы данных, учетными данными SSH), которые предупреждают при использовании вне авторизованного контекста.- Honeytoken_generation генерирует отслеживаемые токены разных типов (URL-адреса, ключи API, учетные данные, файлы), которые вызывают оповещения при доступе.
- Honeycredential_detection проверяет предоставленные учетные данные по базе данных известных HoneyToken, обнаруживая, когда злоумышленник использует поддельные учетные данные.
deceptive_routesзаписывает обманные маршруты, которые выглядят как законные конечные точки API, но при доступе вызывают оповещения.decoy_endpointsгенерирует список ложных конечных точек API, которые имитируют конечные точки реальных служб.deceptive_responsesгенерирует контекстуально соответствующие ложные ответы на основе запроса и профиля злоумышленника, удерживая злоумышленника во время сбора информации.
12.3. Анализ и адаптация
adaptive_honeypotдинамически настраивает конфигурацию приманки на основе наблюдаемого трафика и уровня угроз: если злоумышленник использует веб-уязвимости, приманка увеличивает поверхность веб-сервисов; если он сканирует двери, он открывает больше фальшивых дверей.attacker_behavior_trackingотслеживает и анализирует модели поведения злоумышленников в сеансе приманки: выполняемые команды, доступ к файлам, попытки ввода учетных данных и время, затраченное на каждую услугу.adaptive_deceptionдинамически корректирует тактику обмана на основе профиля злоумышленника (script kiddie, автоматический злоумышленник, APT) и показателей эффективности (как долго злоумышленник оставался, сколько действий он выполнил).- «moving_target_defense» реализует защиту от движущихся целей в контексте ловушек, меняя конфигурации сервисов (порты, баннеры, ответы), чтобы усложнить определение отпечатков пальцев в среде.
13. Файловый модуль (Файл)
Файловый модуль защищает от файловых угроз: вредоносных загрузок, документов с макросами, PDF-файлов с JavaScript, многоязычных файлов, zip-бомб и вредоносных программ.
13.1. Загрузить подтверждение
secure_uploadпроверяет и безопасно обрабатывает загрузку файлов на нескольких уровнях: проверяет расширение по списку разрешений, проверяет тип MIME с помощью магических байтов, проверяет максимальный размер и сканирует содержимое на наличие вредоносных программ.validate_extensionпроверяет, находится ли расширение файла в списке разрешенных расширений.validate_mimeпроверяет MIME-тип файла, используя обнаружение магических байтов (подписи формата файла в первых байтах), предотвращая подмену расширения (например, файл.jpg, который на самом деле является исполняемым файлом).
13.2. Обнаружение угроз в файлах
detect_polyglot_fileопределяет, содержит ли файл несколько сигнатур формата файла, что указывает на атаку файла-полиглота (файл, который действителен в двух или более форматах одновременно, например GIF, который также действителен для JavaScript).detect_zip_bombобнаруживает zip-бомбы, анализируя степень сжатия и заявленный несжатый размер. Соотношение выше 100:1 или размер несжатого файла более 1 ГБ помечается как потенциальная zip-бомба.detect_office_macroобнаруживает макросы VBA в документах Office (Word.doc/.docx, Excel.xls/.xlsx, PowerPoint.ppt/.pptx), которые могут выполнять вредоносный код при открытии документа.detect_pdf_javascriptобнаруживает встроенный в PDF-файлы JavaScript, который может выполнять вредоносные действия, такие как загрузка вредоносного ПО или фишинг.detect_executable_payloadобнаруживает исполняемые полезные данные, встроенные в неисполняемые файлы (например, PDF-файл, содержащий PE-заголовок исполняемого файла Windows).detect_embedded_scriptобнаруживает сценарии, встроенные в файлы: JavaScript в PDF, VBScript в документах Office, PowerShell в текстовых файлах и сценарии Python в файлах данных.
13.3. Сканирование вредоносных программ
malware_scanсканирует файлы на наличие вредоносных программ, используя сопоставление сигнатур (сравнение с известными сигнатурами вредоносных программ) и правила YARA (расширенное сопоставление шаблонов со сложными условиями).yara_scanсканирует файлы с использованием правил YARA с поддержкой пространства имен для организации правил по категориям (вредоносное ПО, эксплойт, подозрительное и т. д.).heuristic_scanвыполняет эвристический анализ для обнаружения подозрительного поведения в файлах, которые не соответствуют известным сигнатурам, но имеют характеристики, указывающие на вредоносное ПО (обфускация, защита от отладки, упаковка).
13.4. Расширенный анализ
entropy_anaанализвычисляет энтропию Шеннона данных блочного файла для обнаружения шифрования или сжатия. Файлы с энтропией выше 7,5 бит на байт считаются высокослучайными (что указывает на шифрование или упаковку).detect_steganographyобнаруживает стеганографию в файлах изображений, используя несколько методов: анализ LSB (наименьший значащий бит), обнаружение добавленных данных, энтропийный анализ блоков и анализ цветовой гистограммы.detect_obfuscationобнаруживает запутанное содержимое в файлах, используя несколько методов: обнаружение строк base64, шестнадцатеричное кодирование, конкатенацию строк, высокую энтропию в определенных разделах и запутанные шаблоны потока управления.
13.5. Санитарная обработка и карантин
sanitize_filenameочищает имена файлов, удаляя опасные символы (/,\,..,:,*,?,",<,>,|) и последовательности обхода пути.quarantine_fileперемещает вредоносные файлы в каталог карантина с отслеживанием метаданных (причина карантина, временная метка, хеш файла, загрузчик).sandbox_executeвыполняет файлы в изолированной среде для поведенческого анализа, мониторинга: системных вызовов, доступа к сети, изменения файлов и создания дочерних процессов.secure_tempfileсоздает безопасные временные файлы с ограниченными разрешениями (только чтение/запись владельцем) и необязательным самоудалением при закрытии.immutable_storage_checkпроверяет целостность файлов в неизменяемом хранилище, сравнивая текущий хэш с ожидаемым хешем.
14. Корпоративный модуль
Корпоративный модуль проверяет соблюдение правил защиты данных и информационной безопасности.
14.1. Соответствие нормативным требованиям
- lgpd_check проверяет соответствие Общему закону о защите данных (LGPD, Закон 13,709/2018) Бразилии: согласие владельца, назначение DPO (сотрудника по данным), права владельцев (доступ, исправление, удаление, переносимость), регистрация операций обработки, отчет о влиянии на защиту персональных данных и уведомление об инцидентах в ANPD.
- gdpr_check проверяет соответствие Общему регламенту защиты данных (GDPR, Регламент ЕС 2016/679): правовую основу для обработки, назначение DPO, минимизацию данных, ограничение цели, точность, ограничение хранения, целостность и конфиденциальность, право на забвение, переносимость данных и уведомление о нарушениях в течение 72 часов.
hipaa_checkпроверяет соответствие Закону США о переносимости и подотчетности медицинского страхования (HIPAA): шифрование PHI (защищенной медицинской информации) при хранении и передаче, контроль доступа (уникальная идентификация пользователя, экстренный доступ, автоматический выход из системы), контроль аудита (журналы аудита, контроль целостности) и целостность данных PHI.pci_checkпроверяет соответствие стандарту безопасности данных индустрии платежных карт (PCI-DSS): шифрование данных карты при передаче и хранении, сегментацию сети (разделение среды карт), контроль доступа (необходимость знать, уникальные идентификаторы, MFA), мониторинг сети и систем, а также регулярное тестирование безопасности.
14.2. Отчеты и панель мониторинга
- Compliance_report создает подробный отчет о соответствии требованиям на основе результатов нескольких проверок, включая: краткое описание, выявленные пробелы, рекомендации по исправлению, график соблюдения требований и оценку по категориям.
- Realtime_security_dashboard создает в режиме реального времени информационную панель безопасности, отображающую: показатели безопасности (обнаруженные угрозы, блокировки, ложные срабатывания), активные оповещения, исторические тенденции и общую оценку риска.
14.3. Аудит и политика
audit_trailсоздает неизменяемый контрольный журнал на основе событий безопасности, действий пользователя и изменений данных, в том числе: кто, что сделал, когда, откуда и каково было влияние.policy_as_codeоценивает и применяет политики безопасности, определенные в виде кода, позволяя управлять версиями, просматривать и автоматически тестировать политики безопасности.
14.4. Мультитенантность и мультирегиональность
— «tenant_isolation» проверяет и применяет изоляцию арендаторов в многоарендной среде: разделение данных, сетевую изоляцию, контроль доступа между арендаторами и предотвращение утечки информации между арендаторами. - multi_region_security оценивает состояние безопасности в нескольких регионах и соответствие местонахождению данных: проверка того, что данные из определенных регионов остаются в регионе, согласованное шифрование между регионами и соответствие местным нормам в каждом регионе.
15. Модуль интеграции
Модуль интеграции предоставляет адаптеры для популярных фреймворков и платформ.
15.1. Веб-фреймворки Python
- fastapi_security_dependenty создает зависимость безопасности для FastAPI с OAuth2, проверкой JWT, ограничением скорости и защитой ввода.
django_security_middlewareсоздает промежуточное программное обеспечение безопасности для Django с CSP, CSRF, заголовками безопасности и защитой ввода.flask_security_extensionсоздает расширение безопасности для Flask с оболочками безопасности, защитой запросов и проверкой ввода.celery_security_monitorсоздает монитор безопасности для задач Celery с проверкой аргументов, ограничением скорости для каждой задачи и ведением журнала аудита.sqlalchemy_query_protectionприменяет защиту к запросам SQLAlchemy с безопасностью на уровне строк, фильтрацией разрешений и предотвращением внедрения запросов.
15.2. Веб-фреймворки TypeScript
— «expressSecurityMiddleware» создает промежуточное программное обеспечение безопасности для Express.js с защитой ввода, ограничением скорости, CORS, CSRF и заголовками безопасности.
- fastifySecurityMiddleware создает промежуточное программное обеспечение безопасности для Fastify с крючками проверки, ограничением скорости и защитой полезной нагрузки.
- nestjsSecurityModule создает модуль безопасности для Nest.JS со средствами защиты аутентификации, перехватчиками проверки и декораторами авторизации.
- nextjsSecurityHeaders настраивает заголовки безопасности для Next.js (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy).
15.3. Edge и среда выполнения
- CloudflareEdgeProtection настраивает пограничную защиту в Cloudflare с помощью правил WAF, ограничения скорости, управления ботами и настраиваемых работников безопасности.
denoSecurityPluginсоздает плагин безопасности для Deno с контролем разрешений (чтение, запись, сеть, конвертация, запуск) и песочницей.bunSecurityPluginсоздает плагин безопасности для Bun с оптимизацией безопасности и контролем доступа к системным API.- «browserRuntimeProtection» настраивает защиту среды выполнения браузера с помощью CSP, изолированной программной среды iframe и ограничений API.
- serviceWorkerSecurity настраивает безопасность Service Workers с ограниченной областью действия, ограниченными разрешениями и проверкой происхождения.
wasmSecurityRuntimeсоздает среду выполнения безопасности для WebAssembly с ограничениями памяти (начальными, максимальными, общими) и ограничениями на системные вызовы.
15.4. Трубопровод и двигатель
async_threat_pipelineсоздает асинхронный конвейер обнаружения угроз с настраиваемыми процессорами (проверка, обнаружение, оценка, оповещения) и каналами вывода (журнал, метрики, веб-перехватчик).yara_realtime_engineсоздает механизм сканирования YARA в реальном времени с просмотром файлов (мониторингом каталогов) и непрерывным сопоставлением правил.ai_threat_classifierсоздает классификатор угроз ИИ, используя обученную модель и порог уверенности для автоматизированных решений.secure_cli_runtimeсоздает безопасную среду выполнения CLI с очисткой ввода, проверкой аргументов и тайм-аутами выполнения.python_runtime_guardсоздает защиту времени выполнения Python с белым списком импорта (можно импортировать только разрешенные модули) и песочницей (ограничения доступа к файловой системе, сети и системе).
16. Телеметрия и наблюдаемость
MSF интегрирует возможность наблюдения во все свои операции, следуя трем основным принципам наблюдения: журналы, метрики и трассировки.
16.1. Структурированные журналы
Все модули используют структурированное журналирование в формате JSON. Каждая запись журнала включает в себя:
- «метка времени»: дата и время ISO 8601.
уровень: серьезность (отладка, информация, предупреждение, ошибка, критическая)module: имя модуля, создавшего журнал.traceId: идентификатор трассировки OpenTelemetry для корреляции.- «контекст»: метаданные, специфичные для операции (например, «обнаружено», «достоверность», «серьезность», «совпадения»).
16.2. Метрики
Реестр метрик поддерживает три типа метрик:
- Счетчики: совокупные значения, которые только увеличиваются. Примеры: jwt_validations, xss_detections, sqli_detections,port_scan_detections, ddos_detections,malware_scans.
- Датчики: мгновенные значения, которые могут увеличиваться или уменьшаться. Примеры: «active_sessions», «cache_hit_ratio».
- Гистограммы: распределение значений. Примеры: anomaly_scores, threat_scores, detection_latency_ms.
Каждая метрика может включать метки (теги) для дополнительной размерности, например «модуль», «серьезность», «обнаружено», «cloud_provider».
16.3. Распределенная трассировка
Каждая роль безопасности создает диапазон OpenTelemetry с:
- Имя операции (например:
msf.web.detect_xss) - Атрибуты: входные параметры, результат, продолжительность.
- События: важные вехи во время выполнения
- Статус: ок или ошибка с описанием
Промежутки экспортируются в серверные части, совместимые с OpenTelemetry (Jaeger, Zipkin, AWS X-Ray, Google Cloud Trace, Azure Application Insights).
16.4. Автобус для мероприятий
Шина событий обеспечивает асинхронную связь между модулями:
- Публикация: любой модуль может публиковать события с указанием типа, серьезности, сообщения и метаданных.
- Подписка: модули могут подписываться на определенные типы событий и выполнять действия при публикации событий.
- История: шина событий сохраняет историю последних N событий для просмотра.
- Очередь недоставленных писем: события, которые не удалось обработать, перемещаются в очередь недоставленных писем для последующей повторной обработки.
17. Шаблоны проектирования и инженерные принципы
17.1. Используемые шаблоны
- Singleton: для компонентов инфраструктуры (PolicyEngine, MetricsRegistry, EventBus, CacheManager).
- Фабрика: для создания стандартизированных объектов результатов (DetectionResult, ValidationResult, ScanResult).
- Стратегия: для взаимозаменяемых алгоритмов обнаружения (различные шаблоны обнаружения для XSS, SQLi и т. д.).
- Наблюдатель:в шину событий, где модули отслеживают события, опубликованные другими модулями.
- Цепочка ответственности: для конвейеров проверки, где каждый шаг может передать или отклонить входные данные.
- Декоратор: для добавления функций безопасности к существующим функциям (ведение журнала, метрики, трассировка).
17.2. Принципы безопасности
- Глубокая защита: несколько уровней защиты, поэтому в случае сбоя одного другие продолжают работать.
- Наименьшие привилегии: каждая функция и модуль работают с минимально необходимыми разрешениями.
- Fail Secure: в случае внутренней ошибки функции возвращают результаты, запрещающие доступ (закрытие при сбое).
- Безопасное сравнение: все секретные сравнения используют сравнение с постоянным временем для предотвращения атак по времени.
- Обеззараживание входных данных: все входные данные считаются ненадежными и дезинфицируются перед обработкой.
- Журнал безопасности: все операции безопасности протоколируются для аудита и обнаружения инцидентов.
18. Заключение
Master Security Framework представляет собой комплексный унифицированный подход к безопасности современных приложений. Благодаря более чем 350 функциям, распределенным по 28 модулям, MSF охватывает весь спектр угроз, с которыми сегодня сталкиваются приложения: от традиционных веб-атак (XSS, SQLi, SSRF) до новых угроз (мгновенное внедрение в LLM, атаки на цепочки поставок, побег из контейнеров).
Двойная реализация на Python и TypeScript позволяет многоязычным группам использовать один и тот же набор возможностей обеспечения безопасности, а интеграция с OpenTelemetry, структурированным журналированием и шиной событий гарантирует, что все операции безопасности можно наблюдать и проверять.
Модули активной защиты (защита от отладки, защиты от взлома, самовосстановления) и адаптивные приманки добавляют уровни проактивной защиты, выходящие за рамки реактивного обнаружения, а модуль соответствия корпоративным требованиям автоматизирует сканирование LGPD, GDPR, HIPAA и PCI-DSS.
Платформа имеет открытый исходный код, расширяется с помощью Policy Engine и шины событий и предназначена для развития вместе с ландшафтом угроз. Каждая функция автоматически тестируется (пройдено 243 теста), документируется с помощью строк документации и JSDoc, а также оснащена телеметрией для производственной эксплуатации.
Ссылки
- Топ-10 OWASP: https://owasp.org/www-project-top-ten/
- Платформа MITRE ATT&CK: https://attack.mitre.org/
- Структура кибербезопасности NIST: https://www.nist.gov/cyberframework.
- Пост-квантовая криптография NIST: https://csrc.nist.gov/projects/post-quantum-cryptography
- RFC 6238 - TOTP: https://datatracker.ietf.org/doc/html/rfc6238
- RFC 7519 - JWT: https://datatracker.ietf.org/doc/html/rfc7519
- Тесты стран СНГ: https://www.cisecurity.org/cis-benchmarks
- LGPD (Закон 13,709/2018): https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm
- GDPR (Регламент ЕС 2016/679): https://eur-lex.europa.eu/eli/reg/2016/679/oj
- HIPAA: https://www.hhs.gov/hipaa/index.html.
- PCI-DSS: https://www.pcisecuritystandards.org/