Аналитики исследовали троянец Linux.Mirai используемый для DDoS-атак

Аналитики исследовали троянец Linux.Mirai используемый для DDoS-атак

Аналитики исследовали троянец Linux.Mirai используемый для DDoS-атак

Более ранние модификации этой вредоносной программы уже были изучены, поэтому в обновленной версии Linux.Mirai специалисты смогли найти признаки предыдущих версий и даже характерные черты троянцев других семейств.

Первая версия вредоносной программы для Linux, которая впоследствии получила название Linux.Mirai, появилась еще в мае 2016 года и была добавлена в вирусные базы Dr.Web под именем Linux.DDoS.87. Этот троянец, способный работать на устройствах с архитектурой х86, ARM, MIPS, SPARC, SH-4 и M68K, предназначен для организации атак на отказ в обслуживании, то есть DDoS-атак.

Linux.DDoS.87 содержит в своем коде ряд ошибок, которые были устранены вирусописателями в последующих версиях. Этот троянец имеет определенное сходство с вредоносными программами семейства Linux.BackDoor.Fgt, об одном из представителей которого мы уже писали в ноябре 2014 года. После запуска на зараженном устройстве Linux.DDoS.87 ищет в памяти процессы других троянских программ и прекращает их выполнение. Чтобы избежать случайной остановки собственного процесса, троянец создает в своей папке файл с именем .shinigami и периодически проверяет его наличие. Затем Linux.DDoS.87 пытается установить соединение со своим управляющим сервером для получения дальнейших инструкций. На сервер отправляется идентификатор, определяющий архитектуру инфицированного компьютера, и сведения о MAC-адресе сетевой карты, пишет news.drweb.ru.

По команде злоумышленников Linux.DDoS.87 способен выполнять следующие виды DDoS-атак:

  • UDP flood;
  • UDP flood over GRE;
  • DNS flood;
  • TCP flood (несколько разновидностей);
  • HTTP flood.

Максимальный срок непрерывной работы Linux.DDoS.87 на инфицированной машине составляет одну неделю, по истечении которой троянец завершает собственный процесс.

В начале августа 2016 года вирусные аналитики компании «Доктор Веб» обнаружили новую версию этого опасного троянца, получившую наименование Linux.DDoS.89. Эта вредоносная программа имеет множество общих черт со своей предшественницей, однако прослеживаются и характерные отличия от Linux.DDoS.87. Например, в обновленной версии изменился порядок действий при запуске троянца. Механизм защиты от выгрузки собственного процесса также претерпел изменения: теперь вредоносная программа не пытается определить наличие специального файла в собственной папке, а выполняет проверку на основе идентификатора процесса (PID). Среди отсылаемой Linux.DDoS.89 на управляющий сервер информации отсутствует МАС-адрес сетевого адаптера. Кроме того, из списка поддерживаемых типов атак исчез HTTP flood. В то же время формат получаемых от злоумышленников команд остался прежним. Кроме того, в Linux.DDoS.89 появился новый компонент — telnet-сканнер, который ранее использовался во всех версиях Linux.BackDoor.Fgt. Этот сканер предназначен для поиска в сети уязвимых устройств и несанкционированного подключения к ним по протоколу telnet.

В конце августа – начале сентября была обнаружена еще одна обновленная версия этого троянца, получившая название Linux.Mirai. В некоторых образцах вредоносной программы появилась функция самоудаления. Троянец научился отключать предотвращающий зависание операционной системы сторожевой таймер watchdog (чтобы исключить перезагрузку устройства), а в перечень выполняемых типов атак вернулся HTTP flood. Тем не менее, Linux.Mirai во многом похож на своих предшественников. Для сравнения на иллюстрации ниже показан фрагмент кода Linux.DDoS.87 (слева) и Linux.Mirai (справа).

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

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

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

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

 

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

 

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

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

 

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

 

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

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