Большое количество приложений для iPhone и iPad подвержены атакам, которые могут привести к передаче приложениями данных на вредоносные серверы, а также приему вредоносных данных с хакерских серверов, вместо того, чтобы общаться с легитимными удаленными узлами, указанными разработчиками.
Исследователи из израильской компании Skycure обнаружили данную проблему, когда они столкнулись с неправильными веб-редиректами в мобильном софте. Вскоре группа специалистов обнаружила, что аналогичную ситуацию можно воссоздать и в случае с другими приложениями, спровоцировав аналогичное их поведение. В результате этого, приложения, отображающие новости, котировки акций, данные соцсетей или даже банковские данные, начинают показывать не подлинные данные, а те, что хакеры подсовывают ничего не подозревающему пользователю.
После того, как приложение однажды было обмануто, оно может отображать поддельные данные на протяжении длительного времени, не выдавая никаких сообщений о проблеме. Данная ситуация становится возможной из-за атаки HRH или HTTP Request Hijacing. По оценкам израильской компании, сейчас в Apple App Store размещены как миниум 10 000 приложений с HRH-проблемой.
«Так как Apple не принимает приложения с автоматическими даунлоадами и сетевым сканированием, мы решили вручную протестировать многие из известных приложений. Практически половина из них была подвержена HRH, следовательно очень большое количество всех других приложений потенциально подвержены проблеме. Восзможно счет таким приложениям идет на десятки тысяч», - рассказывает Яир Амит, технический директор Skycure.
Атака сама по себе злоупотребляет простым HTTP-ответом, известным как 301 Moved Permanently, который указывает на изменение адреса целевой страницы на сервере. Браузеры и приложения, как правило, хранят инструкции по редиректам в кеше, чтобы они могли автоматически использовать обновленные адреса, если пользователь попытается вновь обратиться к уже несуществующему адресу. Механизм переадресации легко наблюдать в браузере, когда адресная строка видна, но это не так для приложений, где работа с URL-адресами происходит на заднем фоне и видеть процесс смены адресов невозможно.
Учитывая это, хакер может провести разновидность атаки man-in-the-middle в незащищенной беспроводной сети. Когда конечный пользователь приложения открывает уязвимое приложение, атакующий перехватывает HTTP-трафик и предоставляет клиенту поддельный ответ в виде 301-й ошибки для веб-сервера. В итоге приложение переводит клиента на указанную злоумышленником страницу, причем, этот вариант работает даже в случае защищенной сети или межсетевого экрана.
Технически, данную атаку можно свести на нет, если использовать HTTPS-защиту, которая строже относится к редиректам, так как сертификаты не сработают на подложные адреса. Однако HTTPS-соединения используют немногие приложения.