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

В ходе проведения детального анализа вредоносного кода троянца 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: если вам что-то известно о средстве разработки, языке или компиляторе, который может генерировать подобный код, пожалуйста, свяжитесь с экспертами по адресу stopduqu@kaspersky.com.

©  Ferra.ru