Обновление сигнатур
Команда sd update загружает последние сигнатуры угроз из всех настроенных источников. Регулярные обновления критически важны — новые образцы вредоносных программ появляются каждые несколько минут, а устаревшая база данных сигнатур оставляет пробелы в защите.
Использование
sd update [OPTIONS]Параметры
| Флаг | Сокр. | По умолчанию | Описание |
|---|---|---|---|
--check-only | false | Проверить наличие обновлений без загрузки | |
--force | -f | false | Принудительно перезагрузить все сигнатуры, игнорируя кеш |
--source | -s | все | Обновить только конкретную категорию: hashes, yara, ioc, clamav |
--full | false | Включить большие наборы данных (VirusShare 20M+ MD5-хешей) | |
--server-url | официальный | URL пользовательского сервера обновлений | |
--no-verify | false | Пропустить верификацию подписи Ed25519 (не рекомендуется) | |
--timeout | -t | 300 | Таймаут загрузки для каждого источника в секундах |
--parallel | -p | 4 | Количество параллельных загрузок |
--quiet | -q | false | Подавить вывод прогресса |
Как работают обновления
Процесс обновления
sd update
1. Получить metadata.json с сервера обновлений
2. Сравнить локальные версии с удалёнными версиями
3. Для каждого устаревшего источника:
a. Загрузить инкрементальный diff (или полный файл, если diff недоступен)
b. Верифицировать подпись Ed25519
c. Применить к локальной базе данных
4. Перекомпилировать правила YARA
5. Обновить локальный metadata.jsonИнкрементальные обновления
PRX-SD использует инкрементальные обновления для минимизации трафика:
| Тип источника | Метод обновления | Типичный размер |
|---|---|---|
| Базы данных хешей | Delta diff (добавления + удаления) | 50-200 КБ |
| Правила YARA | Патчи в стиле Git | 10-50 КБ |
| IOC-фиды | Полная замена (небольшие файлы) | 1-5 МБ |
| ClamAV | Инкрементальные обновления cdiff | 100-500 КБ |
Когда инкрементальные обновления недоступны (первая установка, повреждение данных или --force), загружаются полные базы данных.
Верификация подписи Ed25519
Каждый загруженный файл верифицируется по подписи Ed25519 перед применением. Это защищает от:
- Подмены — изменённые файлы отклоняются
- Повреждения — неполные загрузки обнаруживаются
- Атак воспроизведения — старые подписи не могут быть воспроизведены (проверка временной метки)
Открытый ключ подписи встроен в бинарный файл sd во время компиляции.
WARNING
Никогда не используйте --no-verify в продакшене. Верификация подписи существует для предотвращения атак на цепочку поставок через скомпрометированные серверы обновлений или атаки «человек посередине».
Проверка наличия обновлений
Просмотр доступных обновлений без загрузки:
sd update --check-onlyChecking for updates...
MalwareBazaar: update available (v2026.0321.2, +847 hashes)
URLhaus: up to date (v2026.0321.1)
Feodo Tracker: update available (v2026.0321.3, +12 hashes)
ThreatFox: up to date (v2026.0321.1)
YARA Community: update available (v2026.0320.1, +3 rules)
IOC Feeds: update available (v2026.0321.1, +1,204 indicators)
ClamAV: not configured
3 sources have updates available.
Run 'sd update' to download.Пользовательский сервер обновлений
Для изолированных сред или организаций, использующих частное зеркало:
sd update --server-url https://signatures.internal.corp/prx-sdУстановите сервер постоянно в config.toml:
[update]
server_url = "https://signatures.internal.corp/prx-sd"
interval_hours = 6
auto_update = trueTIP
Используйте инструмент prx-sd-mirror для настройки локального зеркала сигнатур. Подробнее см. в руководстве по самостоятельному хостингу.
Альтернатива с Shell-скриптом
Для систем, где sd не установлен, используйте входящий в комплект shell-скрипт:
# Стандартное обновление (хеши + YARA)
./tools/update-signatures.sh
# Полное обновление с VirusShare
./tools/update-signatures.sh --full
# Обновить только хеши
./tools/update-signatures.sh --source hashes
# Обновить только правила YARA
./tools/update-signatures.sh --source yaraПримеры
# Стандартное обновление
sd update
# Принудительная полная перезагрузка
sd update --force
# Обновить только правила YARA
sd update --source yara
# Полное обновление с VirusShare (большая загрузка)
sd update --full
# Тихий режим для cron-заданий
sd update --quiet
# Сначала проверить наличие обновлений
sd update --check-only
# Использовать пользовательский сервер с увеличенным параллелизмом
sd update --server-url https://mirror.example.com --parallel 8Автоматизация обновлений
С sd daemon
Демон обрабатывает обновления автоматически. Настройте интервал:
sd daemon start --update-hours 4С cron
# Обновлять сигнатуры каждые 6 часов
0 */6 * * * /usr/local/bin/sd update --quiet 2>&1 | logger -t prx-sdС таймером systemd
# /etc/systemd/system/prx-sd-update.timer
[Unit]
Description=PRX-SD Signature Update Timer
[Timer]
OnCalendar=*-*-* 00/6:00:00
RandomizedDelaySec=900
Persistent=true
[Install]
WantedBy=timers.targetsudo systemctl enable --now prx-sd-update.timerСледующие шаги
- Источники сигнатур — подробности о каждом источнике разведки угроз
- Импорт хешей — добавление пользовательских списков блокировок хешей
- Демон — автоматические фоновые обновления
- Обзор разведки угроз — обзор архитектуры базы данных