Эксплойт, который нельзя пропатчить, угрожает большинству iPhone

Эксплойт, который нельзя пропатчить, угрожает большинству iPhone

Эксплойт, который нельзя пропатчить, угрожает большинству iPhone

Специализирующийся на безопасности iOS исследователь сообщил, что ему удалось создать эксплойт, с помощью которого можно провести джейлбрейк сотен миллионов iPhone — начиная с iPhone 4S, заканчивая iPhone X.

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

axi0mX так описывает свою разработку: «постоянный эксплойт, который невозможно пропатчить, самая большая новость для сообщества любителей iOS-джейлбрейка за последние несколько лет».

Сам эксплойт получил название Checkm8, он не является полноценным джейлбрейком, но может использоваться для осуществления этой процедуры в случае с большинством процессоров, выпущенных Apple. Затронуты процессоры с A5 (представлен в 2011 году с выходом iPad 2 и iPhone 4S) по A11 (представлен в 2017 году с релизом iPhone 8 и iPhone X).

Процессоры A12 и A13, установленные в iPhone XS и XR, iPad Air 2019 года и iPhone 11, не уязвимы перед эксплойтом Checkm8.

По словам разработчика, в настоящее время эксплойт недоработан — его нельзя использовать удалённо. Для проведения джейлбрейка потребуется физический доступ к устройству.

Особенность Checkm8 заключается в том, что это уязвимость в bootrom (также SecureROM) — её невозможно пропатчить обновлением прошивки или софта, так как bootrom работает в режиме «только чтение» (read-only).

Исходный код эксплойта можно найти на GitHub.

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

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

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

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

 

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

 

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

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

 

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

 

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

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