Как Flame осуществляет инъекцию кода в процессы Windows

Discussion in 'Мировые новости. Обсуждения.' started by d3l3t3, 14 Aug 2012.

  1. d3l3t3

    d3l3t3 Banned

    Joined:
    3 Dec 2010
    Messages:
    1,771
    Likes Received:
    98
    Reputations:
    10
    [​IMG]

    Исследователи продолжают восхищаться сложностью трояна Flame (Flamer, Skywiper). Прошло несколько месяцев с момента его обнаружения, но анализ кода продолжается до сих пор. Очередную порцию аналитики вчера опубликовала польская компания CERT Polska, их отчёт посвящён методам внедрения кода Flame в процессы Windows.

    Исследователи отмечают, что инъекция кода в процессы и треды считается традиционной техникой работы вирусов, но Flame — это особый случай, потому что здесь данный метод доведён до совершенства. Перенос кода между процессами происходит на протяжении всего цикла жизнедеятельности трояна, начиная от инсталляции, и заканчивая самоуничтожением. «Flame использует эту технику для переноса и копирования своих элементов в разные части операционной системы жертвы с потрясающей ловкостью», — пишут исследователи.

    Они рассказывают, как после заражения через эксплойт уязвимости MS10-061 код Flame запускается программой rundll32.exe, после чего внедряется в services.exe, а оттуда — в разные компоненты Windows, в том числе в процесс explorer.exe. В дальнейшем фрагменты кода из разных процессов начинают синхронизировать свои действия: код в explorer.exe ждёт команды от services.exe, после чего создаёт процесс iexplore.exe. В дальнейшем коммуникация между services.exe и iexplore.exe продолжается через именованный канал, причём его имя может генерироваться из случайных символов и отличаться между разными инсталляциями. Тред из services.exe записывает указания в именованный канал, а процесс iexplore.exe получает и исполняет их.

    Все эти сложности с коммуникациями между тремя процессами необходимы для того, чтобы затруднить обнаружение трояна. Если explorer.exe пытается выйти в интернет (например, как это сделано в SpyEye), то это неизбежно вызовет подозрение у файрвола и антивирусной программы. В модульной системе Flame в интернет выходит только процесс iexplorer.exe, что не вызывает никаких подозрений. Запуск iexplorer.exe через explorer.exe тоже является естественной процедурой, ведь пользователи Windows именно так запускают браузер. Вот почему Flame использует explorer.exe в качестве прокси.

    [​IMG]

    Добавить к этому поддельные сертификаты Windows Update — и складывается полная картина, почему Flame так долго мог скрываться от обнаружения даже на компьютерах с антивирусным ПО и файрволами.

    Дата: 14.08.2012
    http://www.xakep.ru/post/59152/
     
  2. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    913
    Likes Received:
    480
    Reputations:
    724
    Гениальная штука.
     
    _________________________