«Лаборатория Касперского» запатентовала передовую технологию трассировки кода

«Лаборатория Касперского» запатентовала передовую технологию трассировки кода

Технология обеспечивает удобную и безопасную трассировку — отслеживание последовательных событий, происходящих при выполнении программных инструкций. С помощью запатентованной системы специалисты «Лаборатории Касперского» могут анализировать поведение программных продуктов, не раскрывая оригинальных методик и внутренних процессов.

Патент на новую технологию зарегистрирован Патентным бюро США 30 марта 2010 года под номером 7689974 В1. Автором изобретения является эксперт «Лаборатории Касперского» Михаил Павлющик.

Трассировка кода позволяет детально исследовать поведение программного обеспечения в различных средах выполнения. Результаты трассировки используются для отладки, обнаружения и устранения ошибок, оптимизации производительности и т.д. Данные, полученные в ходе трассировки кода, могут содержат информацию об алгоритмах работы программного продукта, включая информацию, являющуюся интеллектуальной собственностью компании, и поэтому требуют защиты от несанкционированного доступа. Этому требованию полностью отвечает новая запатентованная технология «Лаборатории Касперского». Результаты трассировки записываются не в виде текстовых данных, как обычно, а в виде двоичного кода, причём все строки изначально заменены на числовые идентификаторы, что делает невозможным прочтение данных трассировки недоверенными лицами. Для разработчиков программного обеспечения и доверенных пользователей запатентованная система предоставляет средства трансляции данных трассировки в удобный для восприятия человеком текстовый вид.

«Трассировка кода — это эффективный метод анализа поведения программ путём разбора их кода на инструкции. Она уже давно и активно используется в наших продуктах и исследовательских департаментах, — говорит директор по исследованиям и разработке «Лаборатории Касперского» Николай Гребенников. — Новая запатентованная технология позволит нам сделать трассировку ещё более удобной для вирусных аналитиков, а её результаты — полностью защищенными от неавторизованного доступа».

В настоящее время патентные организации США, России, Китая и Европы рассматривают более пяти десятков патентных заявок «Лаборатории Касперского», описывающих уникальные инновационные технологии в области информационной безопасности.

Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

Если у вас есть компьютер на macOS, который работает неделями без перезагрузки и критичен для сервисов, мы бы посоветовали следить за его аптаймом.

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