Группа исследователей из Калифорнийского университета в Санта-Барбаре обнаружила опасную уязвимость в бесплатном навигационном приложении Waze. Исследователи сумели отреверсить код Waze, что позволило им обвести серверы приложения вокруг пальца. Уязвимость помогла специалистам не только проследить за настоящими водителями в Сан-Франциско и Лос-Анджелесе, но также позволила наводнить карту тысячами автомобилей-призраков и создать виртуальные пробки.
Waze начинался как израильский стартап и существует с 2008 года. В июне 2013 Google приобрела Waze за 1,1 млрд долларов, и с тех пор компания работает под патронажем технологического гиганта. Приложение представляет собой смесь навигатора и соцсети, и его аудитория насчитывает более 50 млн человек.
Команда Калифорнийского университета в Санта-Барбаре, работающая под руководством Бена Жао (Ben Zhao), сумела отреверсить протокол, посредством которого приложение Waze обменивается данными со своими серверами. Хотя Waze использует SSL-шифрование, исследователи сумели реализовать MitM-атаку и внедрить между мобильным устройством и сервером собственный компьютер, что позволило им внимательно изучить зашифрованный трафик.
Поняв, как Waze взаимодействует со своим бекэндом, Жао и его студенты, написали собственную программу (по сути – эксплоит), позволяющую передать серверам Waze заведомо неверные данные. Скармливая бекэнду команды собственного производства, исследователи смогли наводнить приложение множеством автомобилей-призраков, которых не существовало в реальности. Так как Waze – приложение социальное, водители сообщают серверам данные о своем местоположении, чтобы другие пользователи могли следить за ситуацией на дорогах. Благодаря появлению тысяч призрачных авто, команда Жао сумела создать на дорогах виртуальные заторы.
Атака, реализованная исследователями, почти полностью повторяет эксперимент израильских студентов, осуществленный в 2014 году. Тогда для создания виртуальных автомобилей на карте использовать боты, которые эмулировали трафик Waze. Однако израильтянам удалось внедрить в систему лишь несколько несуществующих машин, тогда как команда, под руководством Жао, создала тысячи призраков.
Кроме того, группа из Калифорнийского университета в Санта-Барбаре сумела отследить передвижения реальных водителей. Разумеется, сам принцип Waze в том, что пользователи делятся друг с другом данными о своей геолокации. Приложение отображает на карте других пользователей Waze, вместе с их никнеймами и скоростью. Но прицельно шпионить за конкретным пользователем Waze, конечно, не позволяет. Исследователи создали для этих целей пачку виртуальных машин и приказали им следовать за жертвой, таким образом отслеживая перемещения конкретного водителя. Полученные данные оказались очень точны. Удалось проследить полные маршруты, включая даже остановки на заправочных станциях.
«Вы можете масштабировать такой трекинг в режиме реального времени на миллионы пользователей, имея всего несколько серверов», — объясняет Жао. — «Если бы я захотел, я мог бы без проблем собирать данные со всех Соединенных Штатов в реальном времени. В моем распоряжении есть 50-100 серверов, и я мог бы арендовать еще в Amazon Web Services, а затем отследить всех водителей».
Обычные водители в ходе экспериментов команды не пострадали. Слежение исследователи тестировали на себе самих, а также на журналистах издания Fusion, которым команда дала интервью. Опыты на дорогах дважды прекращались досрочно, когда реальные водители начинали объезжать призрачные заторы, созданные исследователями.
Уже довольно долгое время исследователи сотрудничают с разработчиками Waze, помогая им устранить проблемы. К сожалению, пока сильно улучшить безопасность приложения не удалось, система по-прежнему уязвима для атак, которые продемонстрировала команда Жао. Впрочем, нельзя сказать, что создатели Waze сидят сложа руки. Так, слежка за пользователем работает только тогда, когда приложение запущено и работает на переднем плане. Дело в том, что в январе 2016 года разработчики Waze отключили передачу данных геолокации в фоновом режиме. Также атака невозможна, если пользователь включил режим невидимости. Увы, всё это вряд ли поможет водителям, у которых приложение постоянно запущено во время поездок, а мобильное устройство используется в качестве навигатора.
Журналистам Fusion Жао рассказал, что группа очень нервничала, собираясь обнародовать результаты своих изысканий. Предварительно исследователи педантично получили разрешение комитета по этике в своем университете, в ходе «живых экспериментов» тщательно следили за тем, чтобы не взаимодействовать с ничего не подозревающими пользователями, а также уведомили службу безопасности Google о происходящем. С подробным докладом о проблеме команда выступит на конференции MobiSys, летом 2016 года.
«Мы должны были обнародовать эту информацию», — говорит Жао. — «Сидеть и молчать, не сообщая ничего пользователям и публике, не вариант. За ними могут следить прямо сейчас, а они не знают об этом».
При этом исследователи сообщают, что проблема касается не только Waze. Аналогичную атаку можно осуществить на многие другие приложения. По словам Жао, самое страшное заключается в том, что исследователи и разработчики пока не знают, как это предотвратить. Даже специалистам Google трудно придумать решение, которое поможет гарантировано отличить ботов от настоящих пользователей или устройств в подобных случаях.
С подробным отчетом исследователей можно ознакомиться здесь (PDF).
Фото: ictnews.vn