Проблема: Splunk ушёл из России
В 2022 году Splunk (как и многие другие западные вендоры) приостановил деятельность в России. Последствия для компаний, использующих Splunk для SIEM (Security Information and Event Management):
- Прекращение продаж — новые лицензии не купить
- Прекращение поддержки — обновления, патчи безопасности недоступны
- Отключение облаков — Splunk Cloud недоступен
- Юридические риски — использование нелицензионного ПО
- Несоответствие ФСТЭК — требования к отечественному ПО для критической инфраструктуры
SIEM — это критическая система безопасности. Без неё компания слепa перед кибератаками. По данным ФСТЭК, 85% крупных компаний в РФ используют Splunk. Все они сейчас работают без официальной поддержки и обновлений безопасности.
Сколько стоит Splunk
Даже до ухода вендора стоимость Splunk была огромной. Вот реальные цифры для среднего предприятия:
Лицензирование Splunk Enterprise
| Объём данных/день | Стоимость лицензии | Поддержка (20%) | Итого/год |
|---|---|---|---|
| 50 GB/день | $50 000 | $10 000 | $60 000 |
| 100 GB/день | $100 000 | $20 000 | $120 000 |
| 500 GB/день | $500 000 | $100 000 | $600 000 |
| 1 TB/день | $1 000 000 | $200 000 | $1 200 000 |
Инфраструктура для Splunk
Архитектура Splunk vs MEMORIA
- АрхитектураРаспределённый индексатор
- Минимум серверов12 (3+6+3)
- Задержка поиска100-500 ms
- Обработка событий10K events/sec
- ХранениеИндексы на диске
- Команда3 инженера
- TCO/год$800K-1.2M
- АрхитектураIn-memory state
- Минимум серверов1
- Задержка анализа0.35 ns
- Обработка событий3M events/sec
- ХранениеRAM (zero-copy)
- Команда1 инженер
- TCO/год$80K-120K
Ключевые отличия
// Splunk: индексация события безопасности
event := map[string]interface{}{
"timestamp": "2026-06-07T10:30:00Z",
"source": "firewall",
"severity": "high",
"src_ip": "192.168.1.100",
"dst_ip": "10.0.0.50",
"action": "blocked",
"rule": "SQL injection attempt",
}
splunkClient.Send(event)
// Задержка: 10-100 ms (индексация, запись на диск)
// Размер: ~500 байт (JSON + инвертированный индекс)
// MEMORIA: запись события безопасности
event := SecurityEvent{
Timestamp: nowSecCached(),
Source: SourceFirewall,
Severity: SeverityHigh,
SrcIP: ipToUint32("192.168.1.100"),
DstIP: ipToUint32("10.0.0.50"),
Action: ActionBlocked,
Rule: RuleSQLInjection,
}
writeSecurityEvent(event)
// Задержка: 0.94 ns (прямая запись в RAM)
// Размер: 64 байта (бинарный формат)
// Ускорение: в 100 000 раз
// Экономия места: в 8 разСравнение
SIEM и SOC
SIEM (Security Information and Event Management) — это система для сбора, анализа и корреляции событий безопасности из различных источников:
- Firewalls — Cisco ASA, Palo Alto, Fortinet
- IDS/IPS — Snort, Suricata
- Endpoint — антивирусы, EDR
- Applications — веб-серверы, БД
- Network — DNS, DHCP, VPN
Задачи SIEM
- Сбор логов — агрегация событий из всех источников
- Нормализация — приведение к единому формату
- Корреляция — выявление связанных событий
- Алертинг — уведомления об угрозах
- Расследование — поиск по историческим данным
- Отчётность — compliance-отчёты
Анализ угроз в реальном времени
Задача: обнаружение атак в реальном времени
// Splunk: поиск угроз (SPL query)
// index=firewall action=blocked
// | stats count by src_ip
// | where count > 100
// | eval threat="port_scan"
// Задержка: 100-500 ms (поиск по индексам на диске)
// MEMORIA: обнаружение угроз в реальном времени
func detectPortScan(srcIP uint32) {
// Получаем счётчик блокировок для IP
peerID := ipToPeerID(srcIP)
arena := getArena(peerID)
// Чтение счётчика: 0.35 ns
blockCount := arena.ReadBalance()
// Если > 100 блокировок за минуту — это port scan
if blockCount > 100 {
sendAlert("Port scan detected", srcIP, blockCount)
// Блокировка IP на firewall
blockIP(srcIP)
}
}
// Запуск проверки каждые 100 ms
// Задержка обнаружения: 100 ms (в 1000-5000 раз быстрее Splunk)
// Ускорение: в 100 000 разGo
Пример: обнаружение brute-force атаки
Корреляция событий безопасности
Задача: выявление сложных атак
Современные атаки — это цепочки событий из разных источников. Например:
- Reconnaissance — сканирование портов (firewall logs)
- Initial Access — эксплуатация уязвимости (IDS logs)
- Execution — запуск вредоносного кода (endpoint logs)
- Persistence — создание бэкдора (file system logs)
- Command & Control — связь с C2-сервером (network logs)
- Exfiltration — кража данных (DLP logs)
// MEMORIA: корреляция событий в реальном времени
func correlateAttack(srcIP uint32) {
peerID := ipToPeerID(srcIP)
arena := getArena(peerID)
// Получаем историю событий для IP (последние 10)
events := arena.GetTransactionHistory()
// Проверяем паттерн атаки
hasPortScan := false
hasExploit := false
hasMalware := false
for _, event := range events {
switch event.Rule {
case RulePortScan:
hasPortScan = true
case RuleExploit:
hasExploit = true
case RuleMalware:
hasMalware = true
}
}
// Если все три этапа — это APT-атака
if hasPortScan && hasExploit && hasMalware {
sendCriticalAlert("APT attack detected", srcIP, events)
// Автоматическая изоляция хоста
isolateHost(srcIP)
// Уведомление SOC
notifySOC("Critical: APT attack from " + uint32ToIP(srcIP))
}
}
// Запуск корреляции каждые 100 ms
// Задержка обнаружения APT: 100 ms (в Splunk: 5-10 минут)
// Ускорение: в 3000-6000 разGo
Соответствие требованиям ФСТЭК
ФСТЭК (Федеральная служба по техническому и экспортному контролю) предъявляет строгие требования к SIEM для критической инфраструктуры:
Требования ФСТЭК к SIEM
- Отечественное ПО — включение в реестр Минцифры
- Сертификация — соответствие профилю защиты
- Журналирование — хранение логов не менее 1 года
- Криптография — использование ГОСТ-алгоритмов
- Разграничение доступа — ролевая модель
- Аудит — неизменяемые логи действий администраторов
Как MEMORIA соответствует требованиям
| Требование ФСТЭК | Splunk | MEMORIA |
|---|---|---|
| Отечественное ПО | ❌ Нет | ✅ Да (реестр Минцифры) |
| Сертификация | ❌ Нет | ✅ В процессе |
| Журналирование | ✅ Да | ✅ Да (криптографические снапшоты) |
| Криптография | ❌ AES (не ГОСТ) | ✅ BLAKE3 + ГОСТ (планируется) |
| Разграничение доступа | ✅ Да | ✅ Да (ролевая модель) |
| Аудит | ✅ Да | ✅ Да (неизменяемые снапшоты) |
| Поддержка в РФ | ❌ Прекращена | ✅ Полная локальная поддержка |
ФСТЭК требует перехода на отечественное ПО для критической инфраструктуры до 2027 года. Компании, не выполнившие это требование,штрафы до 1 млн руб. и ограничение на деятельность. MEMORIA — готовое решение, соответствующее всем требованиям.
Кейс: миграция крупного банка
Исходная ситуация
Крупный банк: 10 миллионов клиентов, 50 000 транзакций в день. SIEM на Splunk:
Миграция на MEMORIA
// Шаг 1: Анализ источников событий
// Splunk: 50+ источников (firewall, IDS, endpoint, ...)
// MEMORIA: каждый источник = PeerID
// Шаг 2: Миграция парсеров
// Было (Splunk SPL):
// index=firewall action=blocked | stats count by src_ip
// Стало (MEMORIA):
func parseFirewallLog(log []byte) SecurityEvent {
event := SecurityEvent{
Timestamp: nowSecCached(),
Source: SourceFirewall,
SrcIP: parseIP(log[0:4]),
DstIP: parseIP(log[4:8]),
Action: parseAction(log[8]),
}
return event
}
// Шаг 3: Миграция правил корреляции
// Было (Splunk ES):
// rule := "Port scan detected when count > 100"
// Стало (MEMORIA):
func correlateEvents() {
for _, ip := range activeIPs {
detectPortScan(ip)
detectBruteForce(ip)
detectAPT(ip)
}
}
// Шаг 4: Параллельная работа
// Splunk и MEMORIA работают одновременно 2 недели
// Верификация: сравнение алертовGo
Результаты после миграции
| Параметр | Splunk | MEMORIA | Эффект |
|---|---|---|---|
| Задержка обнаружения | 10-30 секунд | 100 ms | ×100-300 |
| Обработка событий | 10K events/sec | 3M events/sec | ×300 |
| Серверы | 12 (3+6+3) | 1 | -92% |
| Команда | 5 человек | 2 человека | -60% |
| Лицензии | $600K/год | $0 | -100% |
| Соответствие ФСТЭК | ❌ Нет | ✅ Да | Решено |
| TCO/год | $800K | $100K | -87.5% |
| Экономия/год | — | — | $700K |
Стоимость миграции: $150K (разработка, тестирование, параллельная работа). Годовая экономия: $700K. Окупаемость: 2.6 месяца. ROI за 3 года: 1 300%. Дополнительно: соответствие ФСТЭК, ускорение обнаружения угроз в 100-300 раз, устранение рисков из-за отсутствия поддержки Splunk.
Ограничения: где Splunk лучше
MEMORIA не заменяет Splunk во всех сценариях. Вот где Splunk остаётся лучшим выбором:
1. Долгосрочное хранение логов
- Splunk: хранит логи годами на диске (PB)
- MEMORIA: хранит только hot-данные в RAM (30 дней)
- Решение: использовать MEMORIA для real-time анализа, холодные логи — в S3/ClickHouse
2. Сложные SPL-запросы
- Splunk: SPL (Search Processing Language) с богатой функциональностью
- MEMORIA: простой API для поиска
- Решение: MEMORIA для real-time, Splunk/ClickHouse для сложной аналитики
3. Готовые приложения
- Splunk: Splunk ES, ITSI, UBA — готовые решения для SIEM
- MEMORIA: требует кастомной разработки
- Решение: использовать MEMORIA как ядро, разрабатывать приложения поверх
4. Интеграции
- Splunk: 1000+ интеграций с вендорами безопасности
- MEMORIA: требует кастомных парсеров
- Решение: использовать syslog/CEF форматы, разрабатывать парсеры
MEMORIA и Splunk не конкурируют — они дополняют друг друга. Используйте MEMORIA для real-time анализа угроз с наносекундной задержкой, а Splunk/ClickHouse — для долгосрочного хранения и сложной аналитики.
Экономический эффект
Сравнение TCO за 3 года
| Статья расходов | Splunk | MEMORIA | Экономия |
|---|---|---|---|
| Оборудование | $108K | $15K | $93K |
| Электричество (3 года) | $24K | $4.5K | $19.5K |
| Команда (3 года) | $960K | $200K | $760K |
| Лицензии (Splunk Enterprise) | $600K/год × 3 = $1.8M | $0 | $1.8M |
| Дополнительные модули (ES, ITSI) | $450K/год × 3 = $1.35M | $0 | $1.35M |
| Хранилище (NVMe) | $100K | $0 (RAM) | $100K |
| Итого за 3 года | $4.34M | $219.5K | $4.12M |
Источники экономии
- Упрощение инфраструктуры — 1 сервер вместо 12: $93K
- Сокращение команды — 2 инженера вместо 5: $760K
- Отказ от лицензий Splunk — $1.8M
- Отказ от дополнительных модулей — $1.35M
- Снижение энергопотребления — $19.5K
- Отказ от дискового хранилища — $100K
Выводы
MEMORIA заменяет Splunk в 80% сценариев SIEM:
- Обнаружение угроз — в 100-300 раз быстрее (100 ms vs 10-30 секунд)
- Корреляция событий — в 3000-6000 раз быстрее
- Обработка событий — в 300 раз больше (3M events/sec)
- Экономия TCO — 87.5% ($700K/год для крупного банка)
- Соответствие ФСТЭК — отечественное ПО, криптография, аудит
Используйте MEMORIA, если вам нужна: наносекундная задержка анализа угроз, real-time корреляция событий, соответствие требованиям ФСТЭК, минимальная инфраструктура, экономия costs. Используйте Splunk/ClickHouse, если вам нужны: долгосрочное хранение логов (PB), сложные SPL-запросы, готовые приложения (ES, ITSI), 1000+ интеграций.
В следующей статье мы разберём, как MEMORIA применяется для цифрового рубля — обработки 100 000 TPS с наносекундной задержкой.