Лаборатория Касперского патентует технологию работы приложения в кластере

Лаборатория Касперского патентует технологию работы приложения в кластере

Лаборатория Касперского запатентовала способ организации бесперебойной работы приложений в распределенных компьютерных системах. Патент №8639818, выданный Бюро по регистрации патентов и торговых марок США, описывает метод, обеспечивающий отказоустойчивую работу приложения, запущенного сразу на нескольких серверах в кластере и требующего скоординированной работы.

Корпоративные системы, такие как почтовые сервисы и базы данных, обслуживают большое количество пользователей и часто запускаются на нескольких серверах, объединенных в так называемый кластер. Подобная структура предоставляет больше ресурсов, но при этом нуждается в механизме перераспределения задач в случае поломки одного или нескольких узлов. Это особенно важно, если задачи обрабатываются только одним узлом и не дублируются на других. Для управления кластером может быть выделен управляющий сервер, однако если и он выйдет из строя, под угрозой окажется работа всей системы.

Полученный патент описывает способ организации бесперебойной работы кластера без использования центрального узла. Если один из серверов в распределенной системе откажет, то другие самостоятельно примут его задачи на себя. Децентрализация гарантирует, что задачи будут выполняться, пока хотя бы один узел продолжает работать.

Важной деталью патента является счетчик, который отсчитывает время по единому для всех узлов системы алгоритму. Благодаря этому метод продолжает работать даже в том случае, если часы на серверах не синхронизированы. Через определяемый алгоритмом период времени каждый из узлов кластера отмечает текущее показание своего счетчика в общей базе данных. Одновременно с этим производится проверка своевременного обновления счетчиков других узлов. Если один из них перестал обновляться, соответствующий счетчику узел считается вышедшим из строя, и его задачи назначаются на тот узел, который первый обнаружил поломку.

«Надежность и эффективность работы наших продуктов обеспечивается, в частности, за счет множества простых и в то же время изящных механизмов — таких как описанный счетчик. И мы в свою очередь стараемся патентовать подобные технические решения, чтобы обеспечить качественное отличие продуктов «Лаборатории Касперского» от предложений конкурентов», — прокомментировал один из авторов запатентованной технологии Александр Бородин, руководитель группы разработки на платформе Microsoft «Лаборатории Касперского».

Подпишитесь на новости

Обновите Telegram для Android: версия 13.2.2 закрыла опасную уязвимость

Telegram исправил уязвимость в HTML-виджетах, которые мессенджер открыл для ботов 9 ноября. Через ошибку скрипт из обычного сообщения мог выйти за пределы песочницы и выполнить машинный код на устройстве. Проблема находилась в движке JavaScript QuickJS, который Telegram использует в собственном форке QuickJS-ng.

Патч описан в журнале изменений песочницы виджетов Telegram на GitHub. Парсер QuickJS принимал конструкцию await using в заголовке цикла даже внутри обычных, неасинхронных функций.

В таком случае движок завершал функцию по пути для асинхронного кода и не закрывал ссылки на ее локальные переменные. Вложенные функции после возврата продолжали обращаться к уже освобожденному участку стека. Такой класс ошибок называют use-after-return.

О проблеме сообщили применительно к Telegram для Android 13.2.1, но, по данным Telegram, она затрагивала все платформы, где собирается форк движка. Исправление внесли 10 ноября: теперь парсер выдает синтаксическую ошибку на такую конструкцию. В тот же день вышла версия Telegram для Android 13.2.2.

Уязвимый код попал в основную ветку QuickJS-ng 16 мая вместе с поддержкой явного управления ресурсами. Ошибку описал разработчик Андреас Рёсдал.

9 ноября он опубликовал в репозитории QuickJS-ng аудит безопасности всего движка, проведенный с помощью модели Claude от Anthropic. В отчете 27 находок, уязвимость с await using в нем третья, с высоким уровнем опасности.

RSS: Новости на портале Anti-Malware.ru