• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

Фреймворк Duqu поставил «Лабораторию Касперского» в тупик

Mila

Основатель
Сообщения
4,949
Симпатии
10,471
#1
Эксперты «Лаборатории Касперского» обратились к сообществу с просьбой помочь разобраться, как работает программный код, который составляет значительную часть в основном компоненте Duqu, то есть в payload DLL, и вообще — на каком языке программирования написан этот код?

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



Вот что пишет Игорь Суменков, эксперт «Лаборатории Касперского»:

На первый взгляд, Payload DLL выглядит как обычная загружаемая библиотека формата Windows PE, скомпилированная Microsoft Visual Studio 2008 (версия компоновщика 9.0). Код, расположенный в точке входа, абсолютно стандартный. Единственная экспортируемая функция под номером 1 тоже написана на MSVC++. Эта функция вызывается из PNF DLL и реализует весь функционал данной библиотеки — соединение и общение с C&C серверами, получение и выполнение дополнительных модулей троянца. Интересные детали обнаруживаются при более глубоком анализе кода, который вызывается этой функцией в процессе работы.

Содержимое секции кода Payload DLL типично для исполняемого файла, скомпонованного из нескольких исходных модулей. Секцию можно условно разделить на несколько разделов, каждый из которых соответствует одному или нескольким файлам исходного кода. Большая часть разделов присутствует в любой программе, написанной на C++, — это, например, функции стандартной библиотеки шаблонов STL, функции стандартной библиотеки языка и собственно код программы. Однако самый большой раздел, реализующий всю логику общения с C&C серверами, отличается от них во всём.

Этот раздел не типичен для C++ программ, потому что его исходный код – не C++. Код внутри раздела не обращается к другим функциям программы, написанным на C++, и не использует стандартную библиотеку языка, хотя используемые парадигмы явно указывают, что исходный текст был написан на объектно-ориентированном языке программирования. Мы назвали это Фреймворком Duqu.
Далее эксперты «лаборатории Касперского» пытаются разобраться, каким образом работает объектно-ориентированный язык во фреймворке Duqu. Они отмечают, что весь функционал в коде реализуют объекты, все они являются экземплярами какого-либо класса, всего в коде обнаружено 60 различных классов. Таблица функций объекта находится непосредственно в его памяти и может быть изменена в процессе выполнения. Во фреймворке активно используется парадигма так называемого событийно-ориентированного программирования.



Специалисты «Лаборатории Касперского» с ноября 2011 года потратили много времени на анализ кода и делают вывод, что фреймворк Duqu написан не на Visual C++, а загадочный язык программирования — определённо не C++, не Objective C, не Java, не Python, не Ada, не Lua и ещё не 30 других языков программирования, которые они проверили. «Лаборатория Касперского» обратились за помощью к самым опытным профессионалам по реверс-инжинирингу, которых смогла найти, но те тоже ничем не смогли помочь.



источник
 

Rins

Активный пользователь
Сообщения
366
Симпатии
49
#2
не C++, не Objective C, не Java, не Python, не Ada, не Lua и ещё не 30 других языков программирования
В чем загвоздка и фишка?
Имея достаточные знания, любой способный на это может свой язык программирования написать. Более того, стандартные инструменты разработчика помогут это сделать.
В чем соль статьи? Какой то "хитрый план" продолжения пиара линейки продуктов 2012 от касперского?
Сенсация для обывателей?
«Лаборатория Касперского» обратились за помощью к самым опытным профессионалам
Не могу вникнуть в суть. Интересует именно разработчик и название его инструментов?
Для чего, ради чего обратилась за помощью?
 

Mila

Основатель
Сообщения
4,949
Симпатии
10,471
#4
"Лаборатория Касперского": троянец Duqu был написан программистами "старой школы"

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

Проанализировав большое количество сообщений, полученных от программистов со всего мира, эксперты «Лаборатории Касперского» пришли к выводу, что Фреймворк Duqu состоит из исходного кода, написанного на языке C, скомпилированного и оптимизированного с помощью Microsoft Visual Studio 2008. Кроме того, при разработке использовалось объектно-ориентированная надстройка С (ОО С). Подобный стиль программирования присущ серьезным «гражданским» программным проектам и не встречается в современном вредоносном ПО.

Точный ответ на вопрос, почему для Фреймворка Duqu использовали OO C, а не С++ пока не найден. Однако, по мнению экспертов «Лаборатории Касперского» наиболее вероятными причинами могут являться следующие:

· Больший контроль над кодом. Когда появился язык С++, многие программисты «старой школы» отказались от его использования из-за неявного управления памятью и сложных конструкций, вызывавших неявное исполнение кода. ОО С обеспечивает наличие более стабильного фреймворка с меньшей вероятностью непредсказуемого поведения.

· Высокая совместимость. Многие годы не существовало общего для всех компиляторов стандарта С++, из-за чего могли возникать проблемы совместимости с компиляторами различных производителей. Использование языка С позволяет писать код под любую существующую платформу и не имеет ограничений С++.

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



источник
 
Сверху Снизу