Издание Guardian сообщает, что в WhatsApp была найдена проблема, которая в теории позволяет сотрудникам Facebook и другим посторонним лицам читать переписку пользователей. Хотя представители Facebook заявляют, что перехватить сообщения WhatsApp не может никто, исследователь Тобиас Бёлтер (Tobias Boelter) из калифорнийского университета в Беркли с ними не согласен.
Бёлтер рассказал журналистам Guardian, что проблема связана с имплементацией протокола для end-to-end шифрования, который использует мессенджер. Напомню, что end-to-end шифрование WhatsApp строится на протоколе Signal, созданным Open Whisper Systems. Мессенджер генерирует уникальные ключи шифрования, которые и защищают переписку пользователей. Но исследователь установил, что WhatsApp может принудительно сгенерировать новые ключи, к примеру, если пользователь долгое время не появлялся в онлайне или сменил устройство. И об этой особенности мессенджера ранее известно не было.
В итоге возникает странная ситуация: пользователь отправляет сообщение реципиенту, который долгое время находится оффлайне. Сообщение повисает как не отправленное, и за то время, что пользователь находится в оффлайне, WhatsApp успевает сменить ключ шифрования, о чем не знают ни отправитель, ни получатель. В итоге, получив повторно отправленное сообщение, реципиент вообще не узнает о случившемся, а отправитель сообщения получит уведомление о смене ключа шифрования лишь в том случае, если он заранее включил такую опцию в настойках безопасности. Более того, уведомление будет показано уже после повторной отправки сообщения.
По мнению Бёлтера – это серьёзная проблема. «Если правительственное учреждение потребует, чтобы WhatsApp раскрыл данные о переписке пользователей, по сути, доступ может быть предоставлен через смену ключей», — говорит исследователь.
Еще в апреле 2016 года специалист сообщил о найденной уязвимости представителям Facebook. Тогда исследователю ответили, что компания знает о проблеме, назвали эту особенность работы мессенджера «ожидаемым поведением» и сообщили, что исправлять баг (или лучше сказать бэкдор?) в ближайшее время не собираются.
«Имплементация протокола Signal, которую использует WhatsApp, позволяет включить опцию “Показывать уведомления безопасности” (Настройки -> Учетная запись -> Безопасность), которая уведомит вас о том, что код безопасности контакта сменился. Мы знаем, что в основном такое происходит, когда кто-то меняет телефон или переустанавливает WhatsApp. Потому что в большинстве стран мира люди часто меняют устройства и SIM-карты. В данных обстоятельствах мы хотим, чтобы сообщения доходили до получателей, а не терялись в пути.
WhatsApp не предоставляет правительствам “бэкдор” для своих систем и будет бороться с любыми правительственными запросами на создание бэкдоров», — прокомментировал Guardian представитель WhatsApp.
Стоит сказать, что мессенджер Signal, который тоже базируется на одноименном протоколе, не имеет такой проблемы. Если у реципиента сменился ключ шифрования, пока тот находился в оффлайне, отправка сообщения завершится неудачей, а отправитель получит уведомление о смене ключа. Автоматической повторной отправки сообщения Signal не предусматривает – это особенность собственной имплементации, используемой WhatsApp.
«Некоторые могут решить, что данная уязвимость позволяет перехватить только отдельные сообщения, а не все разговоры в целом. Это не так. Нужно учитывать, что сервер WhatsApp способен перенаправлять сообщения, не отображая при этом уведомления “сообщение получено реципиентом” (или двойную галочку), то есть пользователь может этого не заметить. Используя уязвимость, связанную с такой ретрансляцией, позже сервер WhatsApp может восстановить полную копию всего разговора, а не только отдельное сообщение», — объясняет Бёлтер.
Журналисты Guardian отмечают, что ИБ-эксперты и правозащитники уже назвали данную проблему «золотой жилой для силовых структур, огромным предательством доверия пользователей и угрозой свободе слова».