В центральной системе NATS, National Airspace System (NAS), хранится и обрабатывается информация о рейсах. Помимо прочего, она назначает самолетам squawk codes – четырехзначные коды транспондера, по которым система связывает отметку самолета на радаре с конкретным планом полета. Обычно это происходит автоматически, но коды можно запрашивать и вручную. В 10:00 8 сентября поступил совершенно нормальный ручной запрос на выдачу такого кода. Никакой ошибки оператора и никакого странного полетного плана не было. В тот самый момент, когда программа обновляла некоторое внутреннее значение, пришло другое, более приоритетное сообщение. Система сделала нормальную для нее вещь: приостановила первую операцию, обработала приоритетную, а потом вернулась к первой и... вот тут-то и произошел конфуз. После возвращения программа неправильно продолжила прерванную операцию и записала в систему поврежденные данные, запустив цепочку запланированных на такой случай вполне штатных операций.
И вот дальше мы вспоминаем про то, что такое недопустимое событие и каскадный эффект.
Одна миллисекунда → повреждение нескольких записей → защитное отключение интерфейса → потеря автоматизации → резкое снижение пропускной способности → остановка/ограничение авиасообщения всей страны → >2000 затронутых рейсов → сотни тысяч пассажиров сосут лапу → больше двух суток на устранение backlog
Причем все отдельные защитные механизмы во многом сработали правильно. Лондонский авиаузел отсек потенциально неконсистентные данные. Диспетчеры перешли на fallback. Поток самолетов уменьшили. Безопасность сохранили. Проблема оказалась не столько в том, что "система упала", сколько в том, что редчайшая ошибка в небольшом legacy-фрагменте кода создала каскадный эффект в критической инфраструктуре от которого пострадал бизнес (подсчеты еще ведутся).
NATS восстановилась вечером того же дня, а экосистема авиаперевозок – только через двое с лишним суток. Это к разговору о последствиях "незначительных" инцидентов (в том числе и ИБ), а также о том, что восстановление ИТ-инфраструктуры еще не означает восстановления бизнес-показателей и если для внутренней деятельности SOC важно говорить про MTTD/MTTR/MTTC и т.п., то для бизнеса важны и иные метрики, менее технические, но имеющие более "денежное" значение ☺️
ЗЫ. Почему такой дефект вообще пережил годы тестирования и почему архитектура, в которую вложили 1 миллиард фунтов, позволила одной некорректной операции с squawk code испортить достаточно данных, чтобы пришлось рестартовать NAS целиком, история умалчивает 😔
#недопустимое #resilience #метрики