Эксперты Symantec обнаружили ошибку в ранних версиях вымогателя WannaCry

Эксперты Symantec обнаружили ошибку в ранних версиях вымогателя WannaCry

Эксперты Symantec обнаружили ошибку в ранних версиях вымогателя WannaCry

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

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

В недавнем твите Symantec Security Response говорится о том, что баг не позволял вредоносу использовать уникальный биткойн-адрес для каждой жертвы. Проблема привела к тому, что вымогатель использовал только три кошелька для сбора средств, что не позволяет его операторам отслеживать выплаты конкретным жертвам.

Исследователи настоятельно рекомендуют не оплачивать выкуп злоумышленникам, так как это не гарантирует возможность восстановления файлов. В случае с WannaCry, маловероятно, что жертвы получат свои файлы после оплаты.

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

Некоторые файлы можно восстановить

Хорошей новостью является тот факт, что некоторые файлы можно восстановить, особенно в старых версиях Windows XP. Вымогатель перезаписывает файлы, хранящиеся на Рабочем столе, в Моих документах и на любых съемных дисках, затем удаляет их.

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

«Это значит, что файлы могут быть восстановлены, но коэффициент восстановления может отличаться от системы к системе, потому что удаленный файл может быть перезаписан другими операциями с дисками» - говорит Symantec.

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

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

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

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

 

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

 

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

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

 

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

 

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

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