BlackHole exploit kit и псевдослучайная генерация доменных имён

BlackHole exploit kit и псевдослучайная генерация доменных имён

 Специалистам компании Sophos удалось "разгадать" схему работы одного из скриптов, используемых в наборе эксплойтов BlackHole для перенаправления траффика на сайты, контролируемые злоумышленниками. По словам представителей Sophos, уникальность данного скрипта в том, что он способен атаковать большое количество сайтов одновременно, а после внедрения в JavaScript сайта, генерирует случайную строку, содержимое которой затем добавляется к доменному имени сайта.

Исследования показали, что встроенный скрипт обфусцируется, внедряясь в легитимные библиотеки JavaScript, установленные на инфицируемых сайтах. Также в ходе исследований обнаружилось, что одной из причин заражения может стать уязвимость в программном обеспечении для администрирования серверов. В частности, сообщается, что уязвимость, ставшая причиной заражения, найдена в программном пакете Plesk.

 

Проведя деобфускацию заражённого JavaScript(а) (простейший процесс, выполняемый стандартными методами), специалисты Sophos обнаружили, что для перенаправления используется iframe-редирект. Однако их особенно заинтересовал тот факт, что для генерации случайной строки используется простейший алгоритм с привязкой к дате.

 

Вредоносный скрипт генерирует случайную строку с привязкой к текущей дате, изменяя её каждые 12 часов.

 Тэг <iframe>, добавляемый вредоносным скриптом на страницу заражённого сайта, перенаправляет браузер пользователя, попавшего на такой сайт, на TDS сервер, контролируемый злоумышленниками. Ранее скрипт часто генерировал случайную строку, содержащую запись вида: 'Runforestrun'.

 

Новейшие модификации скрипта генерируют псевдослучайные строки разного цвета и с различным текстовым наполнением. К тому же замечено, что они научились использовать динамические системы доменных имен (приём который Blackhole применяет весьма активно).

 

Попадая на заражённый сайт, пользователь перенаправляется на сайт контролируемый злоумышленниками, где с помощью обычных эксплойтов, использующих уязвимости Java, Flash PDF и т.д., и происходит заражение компьютера.

 

Эксперты Sophos отметили ещё одну особенность описываемого вредоносного скрипта: Как показали исследования, компьютеры пользователей, попадающих на заражённый сайт, поражают абсолютно разные вредоносные програмы, начиная с бэкдоров и троянцев семейства Trojan-Spy.Win32.Zbot и заканчивая программами требующими выкуп (программа блокирует инфицированный комьютер и выдаёт сообщения с требованием заплатить злоумышленникам за его разблокировку).

По словам представителей Sophos, впервые вышеописанный вредоносный скрипт был обнаружен в начале июня текущего года, в ходе анализа интернет сайтов инфицированных вредоносной программой Mal/Iframe-AF.

 

Создатель Диспетчера задач объяснил, почему загрузка CPU в Windows врёт

Бывший инженер Microsoft Дэйв Пламмер, приложивший руку к таким знаковым вещам, как поддержка ZIP в Windows и меню «Пуск» в Windows NT, рассказал, как на самом деле Диспетчер задач считает загрузку процессора. И заодно объяснил, почему цифры в этом инструменте иногда кажутся немного странными, особенно если сравнивать их с тем, как компьютер ощущается в реальной работе.

По словам Пламмера, идея просто показать, насколько занят процессор на деле куда сложнее, чем кажется.

Вопросов тут сразу слишком много: занят чем именно, на одном ядре или на всех, прямо сейчас или в среднем за последние секунды, в пользовательском режиме или на уровне ядра? Как только начинаешь во всём этом разбираться, простая шкала загрузки уже перестаёт выглядеть такой уж простой.

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

Самым очевидным решением мог бы быть простой расчёт по времени между обновлениями интерфейса. Но Пламмер от такого подхода отказался: он посчитал, что полагаться на точность GUI-таймера — идея так себе. Он даже сравнил это с попыткой доверить точный ритм метронома, который едет в кузове пикапа по разбитой дороге.

Вместо этого он заложил в Диспетчер задач другой принцип. Утилита запрашивает, сколько процессорного времени каждый процесс суммарно использовал с момента запуска (отдельно в пользовательском и системном режимах).

Затем из нового значения вычитается предыдущее, полученное во время прошлого обновления. Так определяется, сколько CPU-времени процесс съел за конкретный промежуток. А дальше это сравнивается с общим объёмом процессорного времени, которое было израсходовано всеми процессами за тот же период.

Звучит не очень просто, но именно такой метод, по словам Пламмера, даёт более точный результат, чем грубый расчёт по таймеру. Проблема в другом: современные процессоры стали намного сложнее, чем во времена, когда создавался классический Диспетчер задач.

Сегодня на работу CPU влияют динамическое изменение частоты, турбобуст, тепловые ограничения, глубокие режимы простоя и другие механизмы. Из-за этого один и тот же процент загрузки уже не всегда означает один и тот же объём реально выполненной работы. Пламмер привёл образное сравнение: современная загрузка CPU больше похожа не на пройденное расстояние, а на загруженность шоссе. Полупустая трасса с быстрыми спорткарами может перевезти больше, чем полностью забитая дорога со старыми грузовиками.

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

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