Эксперт обвинил Apple в принижении уязвимости брутфорса пароля iCloud

Эксперт обвинил Apple в принижении уязвимости брутфорса пароля iCloud

Эксперт обвинил Apple в принижении уязвимости брутфорса пароля iCloud

Исследователь в области кибербезопасности Лаксман Матья обвинил Apple в непорядочном поведении, касающемся уязвимости в функции сброса пароля. Именно Матья выявил брешь, позволяющую получить контроль над аккаунтами iCloud.

По словам самого специалиста, обнаруженная дыра позволяла обойти меры безопасности, которые Apple внедрила для защиты учётных записей пользователей от брутфорса функции «забыл свой пароль».

Когда вы пытаетесь сбросить пароль для iCloud-аккаунта, вас просят подтвердить телефонный номер или адрес электронной почты. Для этого Apple отправит вам шестизначный код, который нужно будет ввести в специальное поле.

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

Чтобы защитить аккаунты пользователей от брутфорса, Apple ограничила число попыток ввода кода. В итоге у владельца учётной записи (или преступника) есть всего пять попыток. Дополнительно купертиновцы ввели лимит на POST-запросы к одному серверу с одного IP-адреса — таких запросов допускается всего шесть.

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

Исследователь сообщил о проблеме представителям Apple ещё в июле 2020 года, а патч при этом вышел аж в апреле 2021-го. Apple поступила странно, даже не уведомив Матья о выпуске заплатки. Более того, техногигант отметил:

«В зоне риска лишь очень ограниченное число аккаунтов пользователей, поскольку атака сработает лишь в том случае, если пользователь никогда не входил в аккаунт с устройств iPhone, iPad или Mac, защищённых паролем».

Это не убедило Матья, который остался при своём мнении: корпорация просто попыталась скрыть факт наличия критической уязвимости. Также эксперт отказался от передоложенного вознаграждения в размере 18 тысяч долларов, поскольку считает, что ему должны выплатить $100 000 или даже $350 000.

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

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

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

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

 

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

 

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

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

 

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

 

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

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