WhatsApp может раскрыть вашу ОС и информацию о связанных устройствах

WhatsApp может раскрыть вашу ОС и информацию о связанных устройствах

WhatsApp может раскрыть вашу ОС и информацию о связанных устройствах

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

На проблему указали специалисты Zengo, ранее предупреждавшие о баге обхода функциональности View Once в WhatsApp.

На этот раз изъян содержится в механизме работы с настройками WhatsApp на нескольких устройствах, а именно — в передаваемых во время коммуникации метаданных.

«Как мы выяснили в ходе анализа, разные имплементации WhatsApp генерируют идентификатор сообщения иначе, что позволяет вычислить, пишет ли пользователь, например, с компьютера на Windows или использует другую систему», — заявил в беседе с The Register Тал Бири, сооснователь Zengo.

В блоге Бири также описал метод, с помощью которого можно связать каждое устройство с аккаунтом WhatsApp: как веб-версию мессенджера, так и девайсы на macOS, Android, iPhone и Windows.

На каждой ОС свойство такого идентификатора будет отличаться: на Android он состоит из 32 символов, на iPhone — из 20, а десктопное приложение для Windows генерирует всего 18.

 

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

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

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

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

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

 

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

 

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

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

 

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

 

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

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