В своей практике мы сталкиваемся с инсайдерскими угрозами и скомпрометированными аккаунтами — атаками, которые используют легитимные учётные данные. Подписи вредоносного ПО здесь не помогают. Поэтому мы строим UEBA (User and Entity Behavior Analytics) на другом принципе: не «это известная угроза», а «это аномальное поведение для конкретного субъекта». Согласно NIST, до 70% инцидентов безопасности остаются незамеченными традиционными средствами — UEBA закрывает этот пробел. Подробнее о технологии — в Wikipedia.
Что именно анализирует UEBA?
User behavior — паттерны работы конкретного сотрудника: в какое время работает, к каким системам обращается, какой объём данных перемещает, с каких устройств/локаций. Логин в 3 часа ночи из Дублина при том, что человек работает в Москве и никогда не бывал в Ирландии — это аномалия. Логин в нерабочее время на следующий день после получения уведомления об увольнении — высокоприоритетная.
Entity behavior — поведение не-человеческих субъектов: серверов, IoT-устройств, сервисных аккаунтов, API-ключей. Сервер приложений, который внезапно начинает сканировать внутреннюю сеть — скомпрометирован.
Peer group analysis — сравнение поведения пользователя с его «группой сверстников» (коллеги в том же отделе, той же должности). Доступ к 500 файлам в день при норме в группе 30 — аномалия, даже если абсолютная цифра не триггерит правило.
Как строится поведенческий baseline?
Baseline — это не простое «среднее за последние 30 дней». Нужно учитывать сезонность (бухгалтер обрабатывает больший объём в период отчётности), день недели (активность в пятницу вечером ниже), роль (DevOps регулярно обращается к production, менеджер — нет) и эволюцию (новый сотрудник осваивает системы первые 2-3 месяца).
Технически: ARIMA + Seasonal Decomposition для временных рядов. Отдельные baseline'ы по каждому пользователю и каждому типу активности. Exponentially weighted moving average для адаптации к изменениям паттернов.
class UserBehaviorBaseline: def __init__(self, lookback_days=90, min_data_points=30): self.models = {} self.lookback = lookback_days def build_baseline(self, user_id: str, activity_type: str, events: pd.Series) -> None: # Seasonal decomposition (недельный период) decomposition = seasonal_decompose( events, model='additive', period=7, extrapolate_trend='freq' ) # Robust statistics для устойчивости к выбросам mad = median_abs_deviation(decomposition.resid.dropna()) self.models[(user_id, activity_type)] = { 'trend': decomposition.trend, 'seasonal': decomposition.seasonal, 'mad': mad, 'median_resid': np.median(decomposition.resid.dropna()) } def anomaly_score(self, user_id: str, activity_type: str, value: float, timestamp: datetime) -> float: baseline = self.models.get((user_id, activity_type)) if not baseline: return 0.5 # unknown user — medium risk expected = baseline['trend'].iloc[-1] + self._seasonal_component(baseline, timestamp) deviation = abs(value - expected) / (baseline['mad'] + 1e-8) return min(1.0, deviation / 10.0) # нормализация в [0, 1] Risk scoring и приоритизация
Единичная аномалия — шум. Реальный инцидент — паттерн. UEBA агрегирует anomaly scores по нескольким измерениям в единый risk score:
- Аномальная активность по доступу к файлам: +0.3
- Аномальный объём исходящего трафика: +0.4
- Логин с нового устройства: +0.2
- Доступ к HR-данным (новая категория для этого пользователя): +0.5
- Composite risk score: 0.87 → HIGH priority alert
Важно: риск-скор учитывает контекст. Тот же сотрудник в период онбординга нового сотрудника (HR-процесс) — базовый риск ниже для HR-доступа.
Из таблицы видно, что ML-модели в 1.9 раза точнее rule-based: precision 0.85 против 0.45.
| Метод | Точность (Precision) | Recall | F1 |
|---|---|---|---|
| Rule-based | 0.45 | 0.60 | 0.51 |
| ML (наша UEBA) | 0.85 | 0.82 | 0.83 |
Как детектируется data exfiltration?
Один из ключевых use cases для insider threats. Признаки предстоящего ухода с кражей данных:
- Резкий рост объёма загружаемых на USB/облако файлов за 1-4 недели до увольнения
- Доступ к данным вне обычного рабочего scope (клиентские базы при работе в технической роли)
- Поиск по ключевым словам типа «confidential», «secret», «customer list»
- Массовое скачивание в нерабочее время
Технический стек для эксфильтрации включает DLP-агенты с OCR, анализ сетевого трафика, прокси-логи, а также детектирование DNS-туннелирования и base64-encoded запросов. Интеграция с CASB и облачными провайдерами.
Практический кейс: как мы предотвратили кражу клиентских данных
Наш клиент — юридическая фирма, 200 сотрудников, чувствительные клиентские дела. Проблема: уволился партнёр, унёс данные по 40 клиентам. Обнаружили через 3 недели.
UEBA внедрили через 2 месяца после инцидента. Через 4 месяца после внедрения:
- Система детектировала сотрудника, который за 2 недели до подачи заявления об уходе загрузил 8 GB на личный Dropbox (при норме 200 MB/месяц)
- Риск-скор за неделю: 0.91 (max)
- Немедленное уведомление CISO
- Данные не покинули компанию — USB заблокирован, Dropbox sync остановлен до расследования
Ключевой insight: поведение начало меняться за 3 недели до формального уведомления об уходе. Без UEBA это было бы незаметно.
Этапы и сроки разработки
Обычно проект проходит следующие этапы. Средняя экономия от предотвращения одного инцидента может составлять от $10k–50k в год. Стоимость разработки рассчитывается индивидуально и обычно находится в диапазоне от $10k–30k при базовом решении. Пример: для производственной компании с 5000 пользователей экономия составила $40k–58k в первый год.
| Этап | Длительность |
|---|---|
| Аудит источников данных и инфраструктуры | 1 неделя |
| Проектирование архитектуры и выбор стека | 1 неделя |
| Разработка baseline-моделей и risk scoring | 3-4 недели |
| Интеграция с SIEM и SOAR | 2 недели |
| Документация и обучение | 1 неделя |
Что входит в разработку UEBA-системы?
Мы предоставляем полный цикл: аудит источников данных и инфраструктуры, проектирование архитектуры и выбор стека, разработка baseline-моделей и risk scoring, интеграция с SIEM и SOAR, документация, обучение команды безопасности, пост-продакшн поддержка и дообучение моделей. Статистическую обработку и ML-моделирование выполняем на стеке PyTorch и LangChain, используем vLLM для инференса. Наши сертифицированные ML-инженеры гарантируют соответствие моделей вашим данным.
Закажите разработку UEBA-системы — начните защиту от инсайдеров уже сегодня. Обратитесь к нашим инженерам для аудита вашей инфраструктуры.







