Обнаружен неизвестный язык программирования в троянце Duqu

Обнаружен неизвестный язык программирования в троянце Duqu

 В ходе проведения детального анализа вредоносного кода троянца Duqu антивирусные эксперты «Лаборатории Касперского» пришли к выводу, что часть вредоносной программы написана на неизвестном языке программирования.



Duqu представляет собой сложную троянскую программу, созданную авторами скандально известного червя Stuxnet. Главная задача Duqu – обеспечить злоумышленникам доступ в систему с целью кражи конфиденциальной информации. Впервые этот троянец был обнаружен в сентябре 2011 года, однако, по данным «Лаборатории Касперского», следы вредоносного кода, имеющего отношение к Duqu, появились еще в августе 2007 года. Специалисты компании зафиксировали более десятка инцидентов, произошедших при участии этого зловреда, причем большинство его жертв находились в Иране. Анализ рода деятельности организаций, пострадавших в результате соответствующих инцидентов, а также характера информации, на получение которой были направлены атаки, позволяет предположить, что основной целью создателей троянца была кража информации об автоматизированных системах управления, используемых в различных отраслях промышленности, а также сбор данных о коммерческих связях целого ряда иранских организаций.

Одним из важнейших нерешенных вопросов, связанных с Duqu, является то, как эта троянская программа обменивалась информацией со своими командными серверами (C&C) после заражения компьютера-жертвы. Модуль Duqu, отвечающий за коммуникацию с командными серверами, является частью его библиотеки с основным кодом (Payload DLL). При детальном изучении данной библиотеки эксперты «Лаборатории Касперского» обнаружили, что часть её кода, отвечающая за коммуникацию с командным сервером, написана на неизвестном языке программирования, и назвали этот участок «Фреймворк Duqu».

В отличие от остального кода Duqu, Фреймворк Duqu не написан на языке C++ и скомпилирован не при помощи Microsoft's Visual C++ 2008. Возможно, авторы использовали собственные средства разработки для генерации промежуточного кода на C, либо они использовали совершенно иной язык программирования. В любом случае, эксперты пришли к выводу, что язык является объектно-ориентированным и оптимально подходит для разработки сетевых приложений.

Язык, использованный в Фреймворке Duqu, является высокоспециализированным. Он позволяет Payload DLL работать независимо от остальных модулей Duqu и обеспечивает подключение к выделенному командному серверу несколькими способами, в т.ч. через Windows HTTP, сетевые сокеты и прокси-серверы. Он также позволяет библиотеке обрабатывать прямые HTTP-запросы от командного сервера, незаметно пересылает копии украденных данных с зараженной машины на командный сервер и даже может доставлять дополнительные вредоносные модули на другие компьютеры в составе сети, т.е. создает возможность контролируемо и скрытно распространять заражение на другие компьютеры.

«Учитывая масштаб проекта Duqu, весьма вероятно, что созданием Фреймворка Duqu занималась совершенно другая команда – не та, что разрабатывала драйверы и писала эксплойты для заражения системы, – считает Александр Гостев, главный антивирусный эксперт «Лаборатории Касперского». – Принимая во внимание чрезвычайно высокий уровень кастомизации и эксклюзивности, имевший место при создании языка программирования, можно предположить, что он был разработан с целью не только затруднить понимание сторонними лицами особенностей операции по кибершпионажу и взаимодействия с командными серверами, но и отделить этот проект от работы других групп, участвовавших в создании Duqu и отвечавших за написание дополнительных элементов вредоносной программы».

По словам Александра Гостева, создание специализированного языка программирования демонстрирует высочайший уровень квалификации разработчиков, участвовавших в проекте, и указывает на то, что для его реализации были мобилизованы значительные финансовые и людские ресурсы.

 В ходе проведения детального анализа вредоносного кода троянца Duqu антивирусные эксперты «Лаборатории Касперского» пришли к выводу, что часть вредоносной программы написана на неизвестном языке программирования. " />

30-летняя уязвимость в libpng поставила под удар миллионы приложений

Анонсирован выпуск libpng 1.6.55 с патчем для опасной уязвимости, которая была привнесена в код еще на стадии реализации проекта, то есть более 28 лет назад. Пользователям и разработчикам советуют как можно скорее произвести обновление.

Уязвимость-долгожитель в библиотеке для работы с растровой графикой в формате PNG классифицируется как переполнение буфера в куче, зарегистрирована под идентификатором CVE-2026-25646 и получила 8,3 балла по шкале CVSS.

Причиной появления проблемы является некорректная реализация API-функции png_set_dither(), имя которой было со временем изменено на png_set_quantize(). Этот механизм используется при чтении PNG-изображений для уменьшения количества цветов в соответствии с возможностями дисплея.

Переполнение буфера возникает при вызове png_set_quantize() без гистограммы и с палитрой, в два раза превышающей максимум для дисплея пользователя. Функция в результате уходит в бесконечный цикл, и происходит чтение за границей буфера.

Эту ошибку можно использовать с целью вызова состояния отказа в обслуживании (DoS). Теоретически CVE-2026-25646 также позволяет получить закрытую информацию или выполнить вредоносный код, если злоумышленнику удастся внести изменения в структуру памяти до вызова png_set_quantize().

Уязвимости подвержены все версии libpng, с 0.90 beta (а возможно, и с 0.88) до 1.6.54. Ввиду широкого использования библиотеки пользователям настоятельно рекомендуется перейти на сборку 1.6.55 от 10 февраля 2026 года.

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