👀 Такие разные канарейки
Многие наверняка слышали историю о шахтёрах, которые в XX веке брали с собой в шахту клетку с канарейкой.
Дело в том, что канарейки чрезвычайно чувствительны к качеству воздуха и быстро реагируют на появление опасных газов вроде угарного газа или метана. Если птица начинала проявлять признаки беспокойства, это служило сигналом опасности, предупреждая рабочих о необходимости срочной эвакуации.
Сегодня вместо птиц используются современные электронные газоанализаторы, однако эта старая практика нашла отражение в мире IT, породив ряд интересных терминов, напоминающих нам о тех временах.
🦆 Канареечное развёртывание (Canary Deployment), или канареечный релиз (Canary Release)
Подход, предполагающий постепенное раскатывание функциональности на клиентов.
Принцип: сначала обновление становится доступным малому числу клиентов (1-5%), основная же масса продолжает использовать имеющуюся стабильную версию. Если критических проблем за отведённый период не выявляется, то доля пользователей, которым становится доступно обновление, постепенно расширяется. В конечном итоге, по прошествии нескольких этапов, оказываются охвачены все пользователи.
Канареечное развёртывание часто используется для веб-сервисов и мобильных приложений. В случае веб-приложений входящий трафик постепенно перенаправляется с текущей версии на новую. В мобильном приложении это выражается в последовательном предоставлении всё большему числу пользователей определённых функций или интерфейсов.
🐦 Канареечное тестирование (Canary Testing)
Процедура оценки работоспособности новой функциональности, предоставляемой ограниченной группе пользователей в реальных условиях.
Фактически то же самое, что и канареечное развёртывание, однако данный термин акцентирует внимание именно на процессе тестирования, а не механизме внедрения изменений.
Также существует трактовка, согласно которой канареечное тестирование является этапом канареечного релиза, во время которого выполняются проверки на канареечной группе пользователей.
🦉 Канареечный токен (Canary Token)
Специально сгенерированная последовательность символов, используемая для маркировки важных файлов или записей. Присутствие такой метки в непредназначенном для этого месте служит признаком несанкционированного доступа к данным. Например, появление канареечного токена в коде из публичного репозитория свидетельствует об утечке конфиденциальной информации.
Более сложный пример — детектирование утечек через промпт-инъекции. В системный промпт AI-агента, использующийся в запросах к LLM, подмешивается канареечный токен. Если в ответе от LLM обнаруживаются этот же токен, то агент фиксирует инцидент и не передаёт ответ клиенту.
Стоит отметить, что к канареечным токенам часто относят и другие механизмы для обнаружения утечек: фиктивный файл или запись в БД, адрес электронной почты и HTTP-ссылка. Работает это следующим образом: если злоумышленник взаимодействует с этим токеном (открывает файл, переходит по ссылке и т.п.), он незаметно для себя отправляет сигнал владельцам системы. Это канарейка, которая "поëт".
🦜 Ловушка для канареек (Canary Trap)
Концепция, очень близкая к канареечному токену, но направленная на выявление источника утечки информации. В данном случае реализуется распространение разных версий одной и той же информации.
Принцип: в документ внедряются уникальные изменения (опечатки, специфическое форматирование и т.п.). Если документ слит, то по этим меткам можно точно определить источник утечки.
🪿 Стековая канарейка (Stack Canary)
Механизм защиты, предотвращающий исполнение вредоносного кода вследствие переполнений стека.
Как работает: во время каждого вызова функции в память добавляется специальное секретное значение (канарейка). Если оно изменяется перед выходом из функции, система немедленно прерывает своё выполнение и сигнализирует о попытке хакерской атаки.
🔍 Итого
Термины с "канарейкой" в IT почти всегда обозначают концепцию раннего обнаружения проблем — будь то баги в новом коде или действия злоумышленника.
#термины #проектирование #ai #qa #инфобез
Post #305
212

- 🔥 6
- 👍 3
- 🤝 2