В минувший вторник компания Apple выпустила патчи для iOS, OS X и обновление для браузера Safari. Суммарно в iOS быстро устранено 13 уязвимостей, одна из которых, как оказалось, была критической и обнаружилась 2,5 года тому назад.
Выход iOS 9.2.1 исправил критическую уязвимость CVE-2016-1730, позволявшую произвести автоматизированную атаку, которая похищала браузерные cookie жертвы.
Баг крылся в WebSheet – внутреннем, недоступном пользователю приложении. Оно активируется лишь тогда, когда пользователю нужно подключиться к Wi-Fi сети, а та запрашивает авторизацию через браузер. Такие сети можно встретить в аэропортах, метро, отелях и других публичных местах.
По данным специалистов израильской компании Skycure, которые и обнаружили данную уязвимость, приложение WebSheet некорректно обрабатывало подобные регистрационные операции. Вместо использования собственного набора cookie, как и полагается в таких случаях, WebSheet «воровало» HTTP cookie прямо из браузера Safari.
Простейший способ атаковать уязвимое перед CVE-2016-1730 устройство – поднять собственную публичную Wi-Fi сеть. Как только жертва станет подключаться к сети злоумышленника, WebSheet откроется для аутентификации. Злоумышленнику нужно лишь поместить вредоносный код на страницу логина и использовать обычный JavaScript, чтобы похитить cookie из браузера жертвы.
Браузерные cookie – опасная штука в чужих руках. К примеру, хакер может выдать себя за свою жертву на различных сайтах, не вызывая при этом никаких подозрений. Если же в руки злоумышленника попадут cookie от банковского портала или сайта платежной системы, жертва вообще рискует лишиться денег.
Чужие cookie также можно использовать для проведения атак на отравление кеша (cache poisoning) или атак фиксации сессий (session fixation). То есть жертву могут автоматически перенаправить на вредоносный сайт, принудить залогиниться в аккаунт, подконтрольный хакерам и так далее.
Казалось бы, Apple должна была постараться исправить такой серьезный баг как можно быстрее. Но, выяснилось, что исследователи из Skycure уведомили компанию о проблеме еще 3 июня 2013 года, то есть до официального релиза iOS 7. Исправление проблемы Apple реализовала лишь 18 января 2016 года, с выходом iOS 9.2.1.
Фото: Blake Patterson