Разделите поток поступления IoC, нормализацию и быстрый поиск: очередь, идемпотентная обработка, индекс точного совпадения и отдельные индексы для доменных или сетевых запросов.
Как бы вы спроектировали хранение и быстрый поиск по большому потоку IoC (индикаторов компрометации: хэши, IP-адреса, домены)?
Разделите поток поступления IoC, нормализацию и быстрый поиск: очередь, идемпотентная обработка, индекс точного совпадения и отдельные индексы для доменных или сетевых запросов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите поток поступления IoC, нормализацию и быстрый поиск: очередь, идемпотентная обработка, индекс точного совпадения и отдельные индексы для доменных или сетевых запросов.
Ключом служат тип индикатора и нормализованное значение; храните источник, confidence, first_seen, last_seen и срок действия. Хэши ищут по точному ключу, IP-диапазоны — подходящей сетевой структурой, домены — с явно заданными правилами поддоменов и IDNA. Горячие индикаторы можно кешировать, сырые события хранить отдельно для повторной обработки. Партиционирование выбирают по нагрузке, а retention — по актуальности угроз. Нужны дедупликация, отзыв ложных индикаторов, контроль доступа, lag и измерение p99; Bloom filter не заменяет окончательную проверку совпадения.