Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Конференция «Технологии управления данными 2018»
СУБД, платформы, инструменты, реальные проекты.
29 ноября 2018 г.

Представлен метод атаки на групповой чат WhatsApp и Signal

Группа исследователей безопасности из Рурского университета опубликовала сведения о недоработках протокола в системе групповых чатов WhatsApp, позволяющих при получении доступа к серверу организовать прослушивание закрытого чата, несмотря на применение оконечного (end-to-end) шифрования на стороне участников чата. Таким образом, поставлена под сомнение способность групповых чатов WhatsApp обеспечить тайну переписки в случае компрометации инфраструктуры, диверсии персонала или предоставления доступа спецслужбам.

Принцип работы группового чата WhatsApp и Signal сводится к тому, что каждый участник чата шифрует все отправляемые сообщения на своей стороне и рассылает всем участникам чата, используя групповой ключ. Каждый участник имеет подобный ключ, позволяющий остальным читать его сообщения (т.е. вместо создания ключей для всех связей в группе, создаются групповые ключи для каждого участника). При подключении нового участника, члены группы обмениваются новыми групповыми ключами.

Слабой стороной WhatsApp является то, что участие в чате координируется сервером и каждый новый пользователь, который получил от сервера полномочия участия в чате, обретает возможность получения и отправки сообщений каждому участнику чата. В случае контроля за сервером можно обходным путём без получения пригласительного кода от члена группы добавить в группу фиктивного участника, который сможет установить end-to-end соединения со всеми остальными участниками и получать отправляемые в чат сообщения.

В мессенджере Signal недоработка связана с отсутствием проверки факта участия в группе пользователя отправившего управляющее сообщение c включением нового участника в группу. Данная особенность позволяет любому пользователю Signal отправить служебное сообщение с включением участника в группу, но для этого участник должен определить секретный идентификатор группы (128-разрядное случайное значение), узнать который нереально, даже имея доступ к серверу (идентификатор передаётся между участниками только в зашифрованном виде).

В WhatsApp сервер принимает большее участие в организации работы группы и не использует end-to-end шифрование для служебных сообщений управления группой, что позволяет на сервере перехватить идентификатор группы. Таким образом при наличии контроля за сервером WhatsApp можно определить идентификатор группы и инициировать подключение нового участника в чат, без ведома текущих членов группы.

Moxie Marlinspike, один из авторов протокола Signal, скептически отнёсся к практической пользе от атаки на групповой чат, так как все участники группы получат уведомление о подключении нового участника и скрыть данное уведомление не получится, так как связь с каждым новым участником устанавливается на стороне клиента, а сервер лишь обслуживает метаданные и не имеет доступа непосредственно к переписке. Кроме того, атакующий сможет перехватить только новые сообщения, отправленные после его подключения к чату, все ранее отправленные в группу сообщения останутся зашифрованы ключами, недоступными атакующему.

Данный подход оценивается как разумный компромисс между безопасностью и удобством работы. Например, в Telegram в групповых чатах к сообщениям вообще не применяется end-to-end шифрование и шифруются лишь потоки трафика между клиентом и сервером. В такой ситуации при наличии доступа к серверу можно полностью контролировать всю переписку, включая возможность просмотра ранее отправленных в чат сообщений, и делать это незаметно для участников чата.

Тем временем, Facebook, который владеет сервисом WhatsApp, опубликовал на GitHub реализацию нового протокола ART (Asynchronous Ratcheting Tree) для создания защищённых групповых чатов. В протоколе используется end-to-end шифрование и гарантируется конфиденциальность передаваемых сообщений. Прототип реализации написан на языке Java и поставляется под лицензией CC-BY-NC. В отличие от систем групповых чатов, подобных Signal, WhatsApp и Facebook Messenger, в ART предоставляется защита от подслушивания в случае компрометации одного из участников. Например, если кто-то получил контроль за одним из участников чата, в Signal он cможет прослушивать все дальнейшие разговоры группы.

Для решения этой проблемы в ART предложено использовать асимметричные предварительные ключи в сочетании с асимметричным одноразовым установочным ключом, которые позволяют в любой момент выполнить обмен новыми ключами для неполного набора участников и сохранить безопасность даже если некоторые участники не находятся в online или скомпрометированы. Установочный ключ генерируется создателем чата и используется только в процессе создания сеанса, давая возможность лидеру группы создать секретные ключи для участников, находящихся в offline.

OpenNET

Ваш комментарий

Имя:

Текст комментария (HTML-теги не допускаются):

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...