Проблема
Когда в одном месяце выходит рекордный пакет исправлений, у команды появляется конфликт: задержишься - растёт exposure window; поставишь везде сразу - можешь получить массовый operational incident.
Особенно больно это для RDS, Hyper-V, рабочих станций инженеров и серверов с периферией. Security-патч нельзя рассматривать отдельно от бизнеса.
Что проверить
- Есть ли кольца обновлений: canary, IT, critical users, broad rollout.
- Сколько времени проходит от patch release до покрытия 90% активов.
- Есть ли быстрый rollback для рабочих станций и серверов.
- Отслеживаются ли known issues и out-of-band updates.
- Может ли SOC видеть машины, которые остались в patch gap.
Решение
Нормальный patch-process объединяет vulnerability urgency и operational telemetry: CVE/KEV, asset criticality, exploitability, crash rate, helpdesk tickets, rollback readiness.
Отчёт руководителю должен показывать не только количество установленных патчей, но и остаточный риск: какие активы не обновлены, почему, до какой даты и кто владелец решения.
Defensive-чеклист
- Сделать canary-группу с реальными бизнес-сценариями.
- Не смешивать патчи Tier-0, пользовательских станций и лабораторий в один процесс.
- Фиксировать known issue decision: hold, deploy, rollback или compensate.
- Проверять RDS/Hyper-V/VPN/EDR после каждого крупного wave.
- Держать отдельный отчёт по patch gap для руководства.
Безопасный пример
# простая сводка patch-gap CSV для отчёта руководителю
import csv
from collections import Counter
gap = Counter()
with open("patch-status.csv", newline="", encoding="utf-8") as fh:
for row in csv.DictReader(fh):
status = row.get("status", "unknown")
tier = row.get("tier", "unknown")
gap[(tier, status)] += 1
for (tier, status), count in sorted(gap.items()):
print(f"{tier:10} {status:14} {count}")