Вредонос LummaC2 использует тригонометрию для детектирования песочниц

Вредонос LummaC2 использует тригонометрию для детектирования песочниц

Вредонос LummaC2 использует тригонометрию для детектирования песочниц

Вредоносная программа LummaC2 (она же Lumma Stealer), ворующая данные пользователей, обзавелась новыми интересными функциями: для ухода от песочницы и извлечения конфиденциальной информации из хоста зловред использует тригонометрию.

Как отмечают исследователи из Outpost24, описанный метод помогает операторам заморозить активацию вредоноса до обнаружения активности мыши.

LummaC2, написанная на C, продается на форумах для киберпреступников с декабря 2022 года. Авторы трояна периодически расширяют его функциональные возможности. Особое внимание разработчики уделяют методам антианализа.

Текущая версия LummaC2, получившая номер v4.0, требует от операторов использования криптора в качестве дополнительной меры сокрытия. Это помогает бороться с утечкой кода вредоноса.

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

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

Для этого LummaC2 берет интервал в 300 миллисекунд и проверяет с такой периодичностью позицию курсора. Этот процесс будет повторяться до момента, пока пять последовательных позиций курсора (P0, P1, P2, P3 и P4) не будут отличаться.

 

Положения курсора зловред рассматривает в качестве векторов, вычисляя угол, который получается между двумя последовательными векторами (P01-P12, P12-P23 и P23-P34).

 

«Если все высчитанные углы ниже 45 градусов, LummaC2 v4.0 убеждается в том, что мышью двигает человек. После этого активируются вредоносные функции», — подытоживают эксперты.

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

Теперь изменение алгоритма не требует пересборки сервиса, ошибочную версию можно быстро откатить, а каждый расчёт — воспроизвести по входным данным и промежуточным результатам.

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

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