Специалисты по информационной безопасности из компании Zimperium провели анализ популярного приложения AirDroid и обнаружили, что в нем присутствует критическая уязвимость. Об этом сообщается в их официальном блоге.
AirDroid — популярное приложение удаленного управления Android-устройствами через ПК. Текущая аудитория программы насчитывает не менее 10 млн человек, а всего AirDroid был скачан более 50 млн раз.
Уязвимость связана с возможностью проведения MitM-атаки, последствием которой может стать утечка персональных данных и даже установка злоумышленником стороннего APK на Android-устройство атакуемого пользователя. При этом для атаки используется встроенный функционал AirDroid.
Передача данных при помощи AirDroid происходит, в том числе, по незащищенному HTTP-каналу. Данные шифруется самим приложением при помощи DES — симметричного алгоритма шифрования, утвержденного IBM еще в 1977 году. Проблема в том, что ключ шифрования захардкорен в самом коде AirDroid (890jklms — сам ключ, полученный при помощи парсинга).
Имея ключ шифрования злоумышленник без труда может провести MitM-атаку и, фактически, получить доступ к AirDroid, а через него и к Android-устройству пользователя.
Отправив пакет, зашифрованный при помощи DES с указанным выше ключом, атакующий получит ответ от AirDroid со всей информацией об устройстве, а также с электронной почтой и хэшем пароля, что и продемонстрировали специалисты из Zimperium:
Ответ на запрос атакующего от AirDroid
Используя эту уязвимость можно перенаправить запросы о получении обновлений и подсунуть на пользовательское устройство вредоносный APK-пакет, установка которого будет одобрена юзером под видом получения обновления.
Еще злоумышленник может получить статистическую информацию, которая собирается AirDroid и передается на адрес
http://stat3.airdroid.com/
по незащищенному протоколу HTTP (для API и большинства функций приложение все же использует HTTPS). На этом канале связи все также используется минимально-безопасный DES (видимо, чтобы обеспечить хоть какое-нибудь шифрование). Перехваченная при помощи MitM-атаки информация после расшифровки выглядит следующим образом:Из важной информации злоумышленник может получить ваши
account_id
, androidid
, device_id
, imei
, imsi
, logic_key
и unique_id
.После публикации информации об уязвимости в блоге Zimperium почти сразу же последовала реакция руководства проекта AirDroid. Вот как прокомментировал ситуацию директор по маркетингу Бетти Чен:
После публикации в блоге Zimperium мы выпустили обновление для мобильного клиента AirDroid 4.0. В этой версии сделаны некоторые фиксы, но мы все еще ждем полной оптимизации клиента, прежде чем сможем улучшить шифрование. Мы начнем раскатывать обновление по клиентам и серверам в течение ближайших двух недель, по мере наших возможностей.
Необходимо отметить, что Zimperium — далеко не Black Hat-команда. Информацию об уязвимости они передали AirDroid более полугода назад, 24 мая 2016. В обновлениях 4.0.0 (за 28 ноября) и 4.0.1 (за 30 ноября) и, соответственно, в более ранних версиях, она все еще присутствовала. Выложили информацию об угрозе в открытый доступ 1 декабря 2016 года.
Текущая версия приложения — 4.0.2, но какой-либо информации о том, была ли устранена уязвимость, все еще нет. Последняя запись в официальном блоге приложения сообщает о скором выходе версии 4.0.0 и датируется 18 ноября.
Поделиться с друзьями
OnkelTem
Зачем же они сам ключ опубликовали?
inoventica
Вопрос хороший. Еще лучше вопрос — почему зная об уязвимости разработчики даже не почесались за полгода?
OnkelTem
А как же маркетинг, исследования, qa, скрамы, постановка задачи, разработка, написание тестов, снова qa, автоматические сборки и деплой? Просто не успели, понять-простить...
P.S. У меня подозрение и надежда, что ключ неверный. Но прогу снёс.
inoventica
>захардкоренный в коде ключ
>маркетинг, исследования
10 из 10.
P.S. Как бы не было смешно, но вы, к сожалению, с большой долей вероятности правы.
Psychosynthesis
Ну могли б хоть ключ поменять на более длинный и быстренько новую версию запилить, усилий минимум, но хоть какая-то заплатка была бы сразу. А так отговорки какие-то…
zagayevskiy
Нет никакой разницы, длинный ключ или нет. Его никто не брутфорсил, его посмотрели в apk.
Psychosynthesis
Тут нигде не написано что он был в apk в открытом виде. Написано лишь, что получен он при помощи парсинга.
Как бы там ни было, основная мысль была в том что его неплохо было бы сменить, после того как он в открытом доступе появился.
zagayevskiy
Как только его сменят таким образом, он сразу появится в открытом доступе вновь. Авторам надо воспользоваться каким-либо способом выработки общего секрета. Например, алгоритмом Диффи-Хеллмана.
Psychosynthesis
Во первых «сразу» да не сразу. Во вторых, как минимум уже существующие сплоиты придётся переделывать.
В третьих, у меня ощущение что вы первое моё сообщение через слово прочитали, дураку понятно, что нужно какую-то более серьёзную защиту организовать, я же написал, цитата: «усилий минимум, но хоть какая-то заплатка была бы сразу».
Как же меня порой раздражает подобное буквоедство местных товарищей. Давайте уже закроем этот разговор.
arhangelsoft
Авось не найдут…
Ipeacocks
В бете говорят уже пофиксили. http://www.androidpolice.com/2016/12/07/airdroid-beta-4-0-0-2-fixes-major-security-issues-official-rollout-expected-soon/