Новая атака, основанная на CSS, приводит к сбою в работе iPhone

Новая атака, основанная на CSS, приводит к сбою в работе iPhone

Новая атака, основанная на CSS, приводит к сбою в работе iPhone

Исследователь в области безопасности нашел новый способ вызвать сбой в работе iPhone, а также заставить его перезагрузиться. Этого удалось добиться всего несколькими строками кода. Сабри Хаддуш даже опубликовал специальную веб-страницу, которая доказывает наличие бреши в безопасности.

Специалист поделился своими выводами в Twitter, там же он опубликовал proof-of-concept в виде веб-страницы, содержащей 15 строк кода. Если пользователь iPhone или iPad посетят такую страницу, их устройство не сможет продолжить работу, что приведет к перезагрузке.

Если эту же ссылку открыть в Safari на macOS, браузер тоже может зависнуть.

Суть эксплойта в использовании уязвимости в движке WebKit, который в iOS используется повсеместно. Хаддуш пояснил, что сотни вложенных элементов вроде тегов <div> внутри свойства backdrop-filter в CSS могут использовать все ресурсы устройства и вызвать сбой в ядре (kernel panic).

Это приведет к сбою в работе и последующей перезагрузке iPhone или iPad, поскольку система таким образом пытается предотвратить дальнейшие повреждения.

«Все, что касается рендеринга HTML в iOS, затронуто этой уязвимостью. Это справедливо и для отправленных ссылок в приложениях Facebook и Twitter, и для обычного посещения вредоносной страницы в браузере, и для электронных писем с такими ссылками», — объясняет эксперт.

Независимые исследователи протестировали код на последней на данный момент стабильной версии iOS 11.4.1 — он действительно привел к перезагрузке системы. Эта же проблема актуальна и для iOS 12.

Любой желающий может проверить работу эксплойта, так как он выложен на GitHub. В настоящее время Apple, судя по всему, работает над устранением бреши, так как Хаддуш сообщил корпорации о проблеме.

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Инженер Microsoft Рэймонд Чен рассказал любопытную историю отладки загадочных падений Проводника. Сначала всё выглядело так, будто в Windows внезапно появился неприятный баг. Но виновником оказалась вовсе не Microsoft, а сторонний деинсталлятор.

Проблема проявилась как резкий всплеск сбоев Проводника. Инженеры начали изучать дампы и заметили странную деталь: падала 32-битная версия программы, запущенная на 64-битных системах Windows.

Такая версия Проводника всё ещё есть в Windows ради совместимости со старыми приложениями. Обычно современные системы почти не используют этот путь. Но в данном случае сторонний деинсталлятор каким-то образом заставлял систему обращаться именно к этому устаревшему компоненту.

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

Поскольку процесс повторялся в цикле, повреждение памяти постепенно накапливалось. В какой-то момент указатель стека уезжал в область активного кода, и Проводник падал.

Со стороны всё выглядело как типичная системная ошибка: софт снова и снова аварийно завершал работу, создавая ощущение, что проблема в самой Windows. На деле операционная система лишь показывала последствия ошибки в стороннем ПО.

Чен напомнил важную вещь: в экосистеме Windows с миллиардами устройств и огромным количеством приложений далеко не каждый сбой компонента Microsoft означает баг в Windows. Сторонние программы тоже могут ломать системные процессы, особенно если неправильно используют низкоуровневые API.

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