В ходе проведения детального анализа вредоносного кода троянца 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 и отвечавших за написание дополнительных элементов вредоносной программы».
По словам Александра Гостева, создание специализированного языка программирования демонстрирует высочайший уровень квалификации разработчиков, участвовавших в проекте, и указывает на то, что для его реализации были мобилизованы значительные финансовые и людские ресурсы.