The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

11.01.2018 19:36

Группа исследователей безопасности из Рурского университета опубликовала сведения о недоработках протокола в системе групповых чатов 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.

  1. Главная ссылка к новости (https://blog.cryptographyengin...)
  2. OpenNews: Поддельное приложение WhatsApp в Google Play установили более миллиона пользователей
  3. OpenNews: Уязвимость в WhatsApp, позволяющая перехватывать чужие сообщения
  4. OpenNews: Завершено открытие серверной части сервиса мгновенного обмена сообщениями Wire
  5. OpenNews: Выпуск платформы обмена сообщениями Zulip 1.7
  6. OpenNews: Опубликован Signal Desktop, вариант мессенджера для настольных систем
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47887-whatsapp
Ключевые слова: whatsapp, signal
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Michael Shigorin (ok), 19:47, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Facebook Asynchronous Ratcheting Tree -- это просто праздник какой-то.
     
     
  • 2.7, foi (?), 20:06, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Какая пошлая шутка
     
     
  • 3.11, Аноним (-), 20:13, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Не пошлая, а скабрёзная. Ничего пошлого в ней нет.
     

  • 1.3, Аноним (-), 19:51, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Moxie считает Telegram раздутой маркетолоками поделкой, в которой даже и близко безопасности нет.
    Отквочу немного: "I think the lesson to anyone watching is clear: don't build security into your products, because that makes you a target for researchers, even if you make the right decisions, and regardless of whether their research is practically important or not. It's much more effective to be Telegram: just leave cryptography out of everything, except for your marketing."
     
     
  • 2.4, Telegram user (?), 19:57, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Начнём с того, что Signal зависим от GCM. О какой приватности в таком случае вообще может идти речь?
     
     
  • 3.18, Андрей (??), 21:52, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Был. И появилась альтернативная реализация на websocket. А потом websocket перекочевали в официальный Signal.
     
     
  • 4.32, Telegram user (?), 08:39, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И теперь клиент Signal не будет ругаться на отсутствие гуглосервисов и выключаться?
     
     
  • 5.36, Андрей (??), 11:01, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    На Андроиде пользуюсь Conversations и Riot. Установить Signal необходимости не было, так что наверняка не знаю.
     
  • 5.50, Signal user (?), 18:36, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >И теперь клиент Signal не будет ругаться на отсутствие гуглосервисов и выключаться?

    Он уже давно этого не делает. Просто предупреждает, что мол у тебя, чувак, нет GCM, всё может работать чуть-чуть помедленнее. В итоге работает без малейших проблем, и сообщения, и видеозвонки.

     
  • 3.19, Андрей (??), 21:57, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А ещё проще и надёжнее просто взять Jabber с OMEMO или Matrix/Riot.
     
     
  • 4.30, Аноним (-), 07:50, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Matrix/Riot подобной атаке не подвержен?
     
     
  • 5.37, Андрей (??), 11:03, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Что для джаббера, что для матрикса, есть исходные коды не только клиента, но и сервера - анализируй сколько хош. Раз учёные молчат, значит подобных уязвимостей не нашли.
     
  • 4.63, Аноним (-), 00:56, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше Tox, там нет сервера который так и просит чтобы его хакнули и который в два счета будет метаданные собирать на всю толпу. Не ваш сервер так сервер собеседника. На свой вы врядля всех переманите.
     
  • 3.20, Аноним (-), 22:02, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    С февраля прошлого года уже нет. Ну и push отправляет только сообщение вида "что-то произошло" на устройство, что именно произошло, разбирает проснувшаяся программа.
     

  • 1.5, Аноним (-), 20:00, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Да, ждем выхода из беты шифрования в Matrix и переходим/перетаскиваем знакомых на matrix/Riot
     
     
  • 2.8, Аноним (-), 20:10, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Если к тому времени на планете ещё кто-нибудь останется
     

  • 1.6, Аноним (-), 20:03, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    *
    ""только в России Telegram был оштрафован за непредоставление ключей шифрования сообщений. Это единственный подобный прецедент за 4 года работы Telegram на глобальном рынке.""
    https://vk.com/durov?w=wall1_2083400
     
  • 1.9, Аноним (-), 20:10, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я вот одно не пойму... как можно оштрафовать приложение Telegram? Если оштрафовали компанию, то зачем ей существовать в России и ходить в их суды? Это обязательно для распространения чата в Google Play?
     
     
  • 2.10, Аноним (-), 20:13, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Штраф дали компании:
    ""Мещанский суд Москвы оштрафовал Telegram Messenger LLP на 800 тысяч рублей за непредоставление в ФСБ доступа к переписке (“ключей дешифровки”) пользователей Telegram.""
    https://vk.com/durov?w=wall1_2061401
     
  • 2.23, Аноним (-), 22:32, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Это пиар-кампания.
     
     
  • 3.52, _ (??), 23:39, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да сто пудов!
    Иначе было бы что то типа как к гуглям - 800000 но _в_день_ пока не исполнят :)
    А так дура(ф) лохов ишет :)
     
     
  • 4.58, Аноним (-), 10:04, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ты то умён не по годам =)
     
  • 3.54, qsdg (ok), 00:04, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А за что штрафовать пиар-компанию, если она делает только пиар, а не мессенджер?
    Или я просто не понял шутки...
     
     
  • 4.55, qsdg (ok), 00:07, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А за что штрафовать пиар-компанию, если она делает только пиар, а не
    > мессенджер?
    > Или я просто не понял шутки...

    Да и потом, штрафы суды обычно не дают одноразово. Обычно вердикт типа такого:
    1. Штраф сегодня на такую-то сумму.
    2. Указание исправить нарушение до какой-то даты.
    3. За каждый день после этой даты идёт дополнительный штраф (aka счётчик).
    4. В случае злостного невыполнения судебных требований -- прекращение ведения любого бизнеса компании, аннулирование лицензий итп.

    Поэтому "телеграму выписали штраф" звучит как-то неполно.

     
     
  • 5.56, rshadow (ok), 04:51, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да все полно. Просто все было выполнено. Адреса, пароли, явки переданы куда надо.
     
     
  • 6.59, Аноним (-), 10:58, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Почитайте, будет интересно:
    http://dolboeb.livejournal.com/3164007.html
    http://dolboeb.livejournal.com/3167688.html
    http://dolboeb.livejournal.com/3149444.html
     
     
  • 7.61, Носик (?), 12:53, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Этот худила, слава б—гу отдал концы
     
     
  • 8.62, Аноним (-), 13:02, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Аргументируйте, почему так его назвали ... текст свёрнут, показать
     

  • 1.15, Штольман (?), 21:02, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Таким образом, поставлена под сомнение способность групповых чатов WhatsApp обеспечить тайну переписки
    >WhatsApp
    >тайна переписки

    поделили на 0

     
     
  • 2.33, Аноним123 (?), 10:26, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    на бесконечность
     

  • 1.17, Аноним (-), 21:42, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    да бред это все. Что знаю двое - то знают все =)
     
     
  • 2.28, ryoken (ok), 07:16, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > да бред это все. Что знаю двое - то знают все =)

    Не, не так :). Насколько помню, изначально было такое:

    "Мужик сказал свинье, свинья - борову, а боров - всему городу".
    :D

     

  • 1.21, Аноним (-), 22:14, 11/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Почему Wire не упомянули? Он так же использует протокол Signal. Там нет этой уязвимости?
     
     
  • 2.22, anonymous (??), 22:28, 11/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В мессенджере Signal ... участник должен определить секретный идентификатор группы (128-разрядное случайное значение), узнать который нереально, даже имея доступ к серверу (идентификатор передаётся между участниками только в зашифрованном виде).

    А в Signal есть уязвимость?

     
  • 2.25, Moxie (?), 06:18, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Очнись, дружок. Wire не использует протокол Signal.
     
     
  • 3.26, Аноним (-), 06:58, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Wire provides end-to-end encryption for its instant messages. Wire's instant messages are encrypted with Proteus, a protocol that Wire Swiss developed based on the Signal Protocol.

    https://en.wikipedia.org/wiki/Wire_(software)

    Во многом это тот же протокол.

     
     
  • 4.53, _ (??), 23:42, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Запорожец и Феррари тоже во многом те же автомобили :-)
     
  • 2.29, Moxie (?), 07:47, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Почему Wire не упомянули? Он так же использует протокол Signal. Там нет
    > этой уязвимости?

    Wire работает на протеусе. Связь с протоколом Signal минимальна.

     
     
  • 3.35, Аноним (-), 11:00, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Связь с протоколом Signal минимальна.

    Это форк сигнала, проснись.

     
     
  • 4.38, Moxie (?), 11:24, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Связь с протоколом Signal минимальна.
    > Это форк сигнала, проснись.

    Это ты дяде в садике расскажешь.

     
     
  • 5.41, Андрей (??), 13:24, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    (Meg)Olm (Matrix), OMEMO (Jabber), Proteus (Wire) - это всё реализации одного и того же протокола Signal (Axolotl, double-ratchet). Изменены могут быть только параметры, не оказывающие никакого существенного влияния на безопасность протокола.

    И не стоит забывать, что Signal - это по большому счёту только сама криптография, а всё остальное - на усмотрение реализации. Отсюда вот такие баги, как в новости.

     
     
  • 6.46, Moxie (?), 15:18, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > (Meg)Olm (Matrix), OMEMO (Jabber), Proteus (Wire) - это всё реализации одного и
    > того же протокола Signal (Axolotl, double-ratchet). Изменены могут быть только параметры,
    > не оказывающие никакого существенного влияния на безопасность протокола.
    > И не стоит забывать, что Signal - это по большому счёту только
    > сама криптография, а всё остальное - на усмотрение реализации. Отсюда вот
    > такие баги, как в новости.

    Судя по вики, матрикс - самостоятельный протокол, ипользующий библиотеку Olm только для "дополнительного шифрования между комнатами". В остальном это другой протокол.

     
     
  • 7.49, Андрей (??), 17:18, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю по какой вики. Но изобрести безопасный крипто-протокол - это годы работы мастеров. Matrix - это группа (javascript-)программистов, а не крипто-спецов. Они работали только над конкретной реализацией, изменив кое-какие непринципиальные параметры.

    https://en.wikipedia.org/wiki/Double_Ratchet_Algorithm#Applications Как видно, тут и Riot, и прочие знакомые.

     

  • 1.24, Аноним (-), 04:20, 12/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >или предоставления доступа спецслужбам.

    this

     
  • 1.27, Че (?), 07:13, 12/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Симметричные ключи, MDK и UDK. Никто не знает про них, что-ли?
     
  • 1.31, Аноним (-), 07:59, 12/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    - Защищённые чаты!, - кричали они.
    - Меня никто не взломает!, - отвечало эхо.
     
  • 1.34, А (??), 10:37, 12/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Таким образом, поставлена под сомнение способность групповых чатов WhatsApp обеспечить тайну переписки

    Будто бы кто-то в нее верил раньше.

     
  • 1.39, Unicorn (?), 12:15, 12/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Только Ring и Tox, а не эти "анонимные" поделия с привязкой к номерам телефонов.
     
     
  • 2.40, Moxie (?), 12:49, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Только Ring и Tox, а не эти "анонимные" поделия с привязкой к
    > номерам телефонов.

    со дня на день помрут эти твои ring и tox

     
     
  • 3.44, Арни (?), 15:00, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    5 лет уже хоронят. Сам раньше помрешь. :)
     
  • 3.47, А (??), 15:39, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тоже самое про венду и линь говорили, оба живы и умирать не собираются :)
     
  • 2.42, Андрей (??), 13:35, 12/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Протокол Signal признан безопасным. А есть исследования, подтверждающие безопасность Tox?

    И несмотря на то что Tox старше Signal (где есть поддержка multi-device), у Tox баг всё ещё не закрыт: https://github.com/irungentoo/toxcore/issues/843. А как известно, это одна из самых сложных частей реализации.

    Про Ring мне тоже не попадалось исследований.

     

  • 1.51, Аноним (-), 21:31, 12/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У Signal получается как таковой проблемы нет. Если он не может читать сообщение в группе. Если получил доступ к серверу, то тут уже туши свет
     
  • 1.57, Murz (ok), 09:19, 13/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У Matrix/Riot реализация щифрования понадёжней даже несмотря на децентрализацию: https://matrix.org/docs/guides/e2e_implementation.html

    Так зачем же людям использовать эту коммерческую закрытую хрень, если уже есть надёжная и бесплатная опенсоурс реализация?

     
     
  • 2.60, Аноним (-), 11:54, 13/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > даже несмотря на децентрализацию

    чего? Не путайте с tox/ring

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру