Приобретение Facebook сервиса мобильных сообщений WhatsApp просто очаровало IT-мир. По большей части причиной этого является мощный ценник в $19 млрд и в меньшей степени — невероятно быстрый рост компании. Но пока аналитики и клиенты изучали сделку, некоторые исследователи в области безопасности решили взглянуть на безопасность самого WhatsApp.

WhatsApp является сервисом пересылки текстовых и мультимедийных сообщений, который использует в качестве инфраструктуры Интернет вместо сети оператора связи. Приложение поначалу росло медленно, но в последние пару лет происходил взрывной рост числа пользователей, и теперь у него около 450 млн активных пользователей. Исследователи безопасности из Praetorian, работавшие над проектом под названием Project Neptune, в рамках которого оценивали защищенность мобильных приложений, провели ограниченную оценку Android- и iOS-версии WhatsApp и выявили ряд проблем в способе, которым приложение работает с SSL.

Наиболее серьезной из обнаруженных проблем было то, что WhatsApp не соблюдает прикрепление сертификатов. Использование прикрепления сертификатов позволяет указать определенный сертификат, которому можно доверять на данном сервере. Это помогает отразить ряд атак, в частности атаки методом «человек посередине», которые основаны на подмене сертификата доверенного сайта. Большинство популярных браузеров поддерживают прикрепление сертификатов, но в мобильный мир эта технология проникает несколько медленнее. В Praetorian обнаружили, что WhatsApp не соблюдает SSL-прикрепление, потенциально подвергая пользователей атакам типа «человек посередине».

«За несколько минут Project Neptune выявил несколько проблем с безопасностью, касающихся SSL и затрагивающих конфиденциальность данных пользователей WhatsApp, которые проходят через серверы бэк-энда. Это понравилось бы АНБ. Это позволяет им или злоумышленнику внедриться в соединение и снизить уровень шифрования до взламываемого и перехватить весь трафик. Такого рода проблемы с безопасностью подвергают риску информацию пользователя  WhatsApp», — написал в пояснении к тесту Пол Джергай из Praetorian.

«WhatsApp не производит прикрепления SSL при установлении доверенного соединения между мобильным приложением и веб-сервисами бэк-энда. Без соблюдения прикрепления SSL злоумышленник может внедриться в соединение между мобильным приложением и веб-сервисами бэк-энда. Это позволит ему перехватывать аутентификационные данные, идентификаторы сессии или другую важную информацию», — говорится в пояснении.

В интервью по электронной почте Джергай сообщил, что невыполнение прикрепления сертификатов, к несчастью, достаточно распространено в мобильных приложениях.

«Удивительно, но невыполнение прикрепления сертификатов крайне распространено в мобильных приложениях. Эта функция используется для противодействия возможности злоумышленника просматривать и модифицировать весь трафик, проходящий между мобильным устройством и сервером бэк-энда. Это также может защитить от сбоев удостоверяющего центра во время установления соединения между клиентом и сервером, когда соединение выполняется со слабым или отсутствующим шифрованием, как это обнаружено в случае с WhatsApp, и это еще больший красный флаг для злоумышленников», — сказал он.

Исследователи также нашли несколько менее серьезных проблем, включая поддержку отсутствия шифрования, что означает, что какие-то данные вообще не шифруются.

«При поддержке нешифрованного обмена клиент мобильного приложения пытается соединиться с сервером, используя SSL, и обе стороны не поддерживают общих шифров в результате враждебного перехвата, тогда передача данных будет выполняться прямым текстом. Поддержка нешифрованного обмена не так уж часто встречается», — сказал Джергай.

Безопасность мобильных приложений во многих аспектах отстает от безопасности десктопных и веб-приложений из-за того, что разработчики перешли на новые платформы и получили множество тех же проблем, которые встречались за годы до того в веб-индустрии. И не впервые исследователи обнаруживают проблемы в системе безопасности WhatsApp. Несколько лет назад были сообщения, что приложение отправляет данные прямым текстом, и исследователи обнаружили, что они могут использовать API для угона учетной записи пользователя.

Исправить проблему прикрепления сертификатов можно множеством способов, и, по словам Джергая, все зависит от того, что хотят делать разработчики.

«Уровень усилий может варьироваться в зависимости от того, как разработчики решат внедрять прикрепление сертификатов. Прикрепление самого сертификата — простейший способ это сделать, но требует большого объема работы из-за того, что разработчикам придется вносить изменения везде, где бы ни менялся сертификат. Другой путь — прикреплять открытый ключ, и это может быть уже сложнее. Выбор лучшего образа действий будет зависеть от того, с какой частотой какой сертификат может меняться», — сказал он.

Категории: Уязвимости