Популярный мобильный мессенджер WhatsApp имеет значительную архитектурную уязвимость в его подсистеме криптографии, которая позволяет потенциальным атакующим дешифровать перехваченные сообщения, говорит независимый голландский ИТ-специалист.
По его словам, проблема заключается в том, что Whatsapp использует один и тот же ключ для шифрования входящих и исходящих потоков данных между приложением и сервером WhatsApp, говорит Тийса Алкемад, математик и компьютерный специалист из Университета Утрехта в Нидерландах. Отметим также, что Алкемад является лидером разработки популярного открытого клиента обмена сообщениями Adium для платформы Mac.
"RC4 - это генератор PRNG (pseudo-random number generator), создающий потоки байт, которые криптуются при помощи обычного обычного текста в шифрованную последовательность. Криптование шифр-текста тем же потоком байт, позволяет восстановить текст на сторонней системе путем сравнения зашифрованных данных", пишет специалист в своем блоге.
По словам эксперта, Whatsapp шифрует разные потоки сообщений одним и тем е ключом и это позволяет вскрывать траффик мессенджера, между тем зашифрованный трафик можно перехватить очень легко, например через открытую WiFi-сеть. "Повторное использование отработанного ключа - это серьезная логическая ошибка в реализации программного кода Whatsapp. Эту ошибку допускали советские спецслужбы в 1950х годах и microsoft в 1995 году в VPN-протоколе", - пишет он.
Алкемад выпустил эксплоит для выявленной уязвимости, которые перехватывает пользовательское сообщение на сервер и передает его обратно таким образом, как будто бы это был получен ответ от сервера. По его словам, эксплоит работает на Nokia Series 40 и Android, однако специалист полагает, что и iOS-версия работает аналогично.
Алкемад говорит, что он не связывался с разработчиками Whatsapp до сих пор, так как, во-первых, он посчитал важным предупредить пользователей, а во-вторых, он не считает, что команда Whatsapp быстро ликвидирует проблему. Между тем, исправление не требует пересмотра всей системы шифрования. Если программисты добавят метод генерации разных ключей для разных направлений и реализуют ротацию ключей, то этого будет достаточно.
Источник: CyberSecurity
|