- Вопрос или проблема
- Фан-аут на стороне клиента
- Метаданные частных групп
- Шифрование в приложении
- Использование хранилища ключей ОС
- Необязательные уведомления о чтении и наборе текста
- Безопасность резервных копий
- Автоудаление сообщений
- Отсутствие хранения метаданных
- Частное обнаружение контактов
- Блокировка регистрации
- Предпросмотр частных ссылок
- Скрытие отправителя
- Зашифрованные профили
- Подтверждения о получении через защищенный канал
- Эфемерные сообщения?
- Ответ или решение
Вопрос или проблема
WhatsApp «недавно» внедрил сквозное шифрование с использованием протокола Signal, который, конечно же, также используется самим Signal. Соответствующая белая книга (PDF).
Теперь возникает вопрос:
Есть ли еще какие-либо преимущества в безопасности использования Signal по сравнению с широко распространенным WhatsApp, теперь, когда оба имеют хорошее сквозное шифрование?
Модель угроз в данном случае включает в себя, в принципе, любого, кто не имеет доступа к телефонам на обоих концах. Она особенно включает в себя провайдеров услуг и правоохранительные органы.
Тем не менее, существует несколько функций безопасности, которые могут иметь значение для вас, которые Signal реализует лучше, чем WhatsApp.
Фан-аут на стороне клиента
Когда вы используете групповой чат в WhatsApp, вы отправляете свое сообщение на сервер, который, в свою очередь, распределяет его среди всех членов группы. Таким образом, WhatsApp узнает все социальные структуры и теоретически может проводить анализ трафика, чтобы выяснить достаточно много информации на основе объема обменяемых сообщений.
С другой стороны, в Signal групповые чаты на самом деле являются обычными пиринговыми чатами1 с специальным флагом, установленным внутри зашифрованного фрейма. Таким образом, OpenWhisperSystems (создатели Signal) не узнают о ваших социальных группах. Однако они все же могут увидеть, что три сообщения отправляются трем разным людям одновременно и могут предполагать, что это связано с групповым чатом.
Запись в блоге для Signal. Фан-аут на стороне сервера упоминается в белой книге (PDF).
Метаданные частных групп
Поскольку ранее упомянутое применение того, что все просто напрямую отправляют групповые сообщения друг другу, создает путаницу в отношении привилегий — так как достижение консенсуса в асинхронной распределенной системе трудно — Signal внедрил новую систему для обеспечения контроля доступа и привилегий в группах без изучения структуры группы — только о наличии группы и предварительной оценке ее размера на основе объема зашифрованного текста, хранящегося на сервере. Смотрите этот пост в блоге для получения деталей и этот пост для объявления о развертывании и этот пост о том, как подбор ссылок на группы влияет на это.
Мне не удалось найти документацию о том, как WhatsApp обрабатывает эти данные. Хотя, учитывая, что они знают о членстве группы для доставки сообщений, они могут просто хранить это открыто.
Шифрование в приложении
Signal предлагает шифровать прошлую коммуникацию на уровне приложения, требуя пароль для чтения предыдущих сообщений, чего совершенно нет в WhatsApp. Очевидно, это может защитить ваши сообщения в случае кражи, однако вы, вероятно, не получите особой безопасности, потому что большинство людей, вероятно, не выберут хорошие пароли по соображениям удобства использования.
Использование хранилища ключей ОС
Современные мобильные операционные системы предоставляют место для хранения ваших ключей, чтобы они не были расшифрованы в файловой системе. Обычно операционная система либо шифрует их с помощью каких-то механизмов с аппаратным обеспечением, таких как защищенная среда iOS, либо Android использует такие вещи, как ARM TrustZone, чтобы усложнить извлечение ключей. Дополнительно Apple славится тем, что хорошо защищает резервные копии ключей iOS. Signal использует эти функции безопасности (iOS, Android), а WhatsApp (вероятно) нет.
Необязательные уведомления о чтении и наборе текста
WhatsApp уведомляет вас, когда кто-то печатает, и уведомляет вас, когда кто-то прочитал ваше сообщение — и вы не можете отключить это для групповых чатов. Это позволяет WhatsApp выяснить поведение пользователей и их привычки. Например, «Проверяете ли вы свои сообщения в WhatsApp в 1 часа ночи?» Сочетая это с другими метаданными, которые собирает WhatsApp, можно сделать полезные предположения о жизни людей. Кроме того, уведомления о «печати» могут быть использованы для предположения о возможном содержании на основе контекста и предложений стандартной клавиатуры и других факторов.
Signal этого не требует. Вот оригинальное обсуждение этого вопроса на GitHub. Как более недавнее развитие, Signal принял уведомления о прочтении, но они отключены по умолчанию (для уже существующих установок) и не включены в групповых беседах. Для групп я полагаю, что они работают индивидуально с каждым участником, то есть если у участника и отправителя оба включены, отправитель получит уведомление, что гораздо более ориентировано на конфиденциальность, чем решение WhatsApp.
Безопасность резервных копий
WhatsApp предлагает вам делать резервные копии ваших сообщений, чтобы вы могли восстановить их, когда ваш телефон недоступен или уничтожен. Однако из-за самой природы этого резервная копия (которая также должна хоститься на Google Drive) не может быть зашифрована/защищена иначе, как с помощью вашего имени пользователя/пароля для этой учетной записи (который WhatsApp не знает). Таким образом, как только эта учетная запись Google Drive будет скомпрометирована или какое-то правительство потребует доступ, вся безопасность сквозного шифрования исчезнет, если хоть одна сторона коммуникации включила резервные копии. Что касается iCloud (в отличие от Google Drive), применяется аналогичный аргумент — особенно поскольку тип данных, который WhatsApp сохраняет, не является достаточно чувствительным, чтобы Apple использовала свои более серьезные механизмы безопасности, как это произошло бы, например, с паролями.
Хотя функция резервного копирования Signal не так удобна, как функция WhatsApp, она не автоматически сохраняет (в открытом виде?) копии сообщений на серверах Google, а позволяет вам (автоматически) создавать локальный (защищенный) файл и вручную распространять его. Однако неясно, получает ли функция резервного копирования WhatsApp выгоду от недавних улучшений безопасности в инфраструктуре резервного копирования Google (по крайней мере на Android), так что они могут быть на самом деле безопасными.
Автоудаление сообщений
Автоматическое удаление ваших старых сообщений может быть хорошим с точки зрения безопасности. Это означает, что если злоумышленник сможет получить доступ к вашему телефону / резервным копиям, то (с) он не сможет получить доступ ко всем сообщениям, а только к недавним. Автоудаление особенно приятно, если учесть, что вы все равно не будете читать все действительно старые сообщения и это сэкономит вам немного места. С декабря 2021 года WhatsApp также реализует это.
Signal, с другой стороны, делает это.
Отсутствие хранения метаданных
Недавно Signal столкнулась с повесткой. Они выполнили запрос (конечно), но смогли предоставить очень мало, что подтверждает их политику конфиденциальности.
В то же время WhatsApp располагает большим объемом метаданных и был бы гораздо более полезным, если его коснется (и если они будут раскрыты). Это особенно очевидно, если сравнить, какие логирует WhatsApp и что логирует Signal.
Частное обнаружение контактов
WhatsApp загружает вашу всю адресную книгу на свои серверы, чтобы сравнить, какие из перечисленных пользователей имеют учетные записи WhatsApp. Очевидно, в процессе WhatsApp узнает вашу социальную графику, то есть кого вы знаете, включая людей, которые не используют WhatsApp.
С другой стороны, Signal недавно внедрил гораздо более умное решение, используя современные криптографические методы вместе с технологией SGX от Intel, так что OpenWhisperSystems фактически не обучается вашей адресной книге (только SGX-среда знает об этом, и она не утечет), а лишь должна контролировать, кто их пользователи, таким образом они также не узнают ничего о том, каких пользователей вы можете знать, но не общаетесь с ними через Signal, и о тех людях, которых вы знаете, но которые еще не используют Signal. Подробности вы можете прочитать в их посте в блоге.
Блокировка регистрации
Хотя как Signal, так и WhatsApp поддерживают блокировку регистрации, которая требует ввода заранее заданного PIN-кода каждый раз, когда новое устройство добавляется к учетной записи, неясно, как обеспечивается безопасность. То есть, сколько попыток разрешено для PIN-кода перед блокировкой и может ли эта блокировка быть отменена оператором сервиса. Signal в настоящее время тестирует в бета-версии использование SGX, чтобы иметь проверяемый верхний предел на попытки, которые вы получаете для этого.
Предпросмотр частных ссылок
Signal прилагает усилия, чтобы скрыть, какой URL вы получаетеSignal, когда генерирует предварительные просмотры ссылок и скрывает ваш IP от сервера.
WhatsApp, с другой стороны, имеет менее строгую позицию по этому вопросу, хотя она является «хуже» чем Signal в этом отношении из-за утечки IP-адреса отправителя на сервис.
Скрытие отправителя
Signal имеет функцию, которая позволяет вам скрывать свою личность от сервера при отправке сообщения. Это означает, что приложение может отправить сообщение на сервер, которое будет доставлено без раскрытия того, от кого оно пришло. Таким образом, то, что видят серверы Signal, что кто-то с заданным IP отправил сообщение конкретному пользователю.
На сколько я знаю, WhatsApp не реализует ничего подобного и вместо этого полагается на аутентификацию пользователя для отправки, чтобы предотвратить подмену личности и схожие проблемы.
Зашифрованные профили
В Signal ваша фотография профиля и выбранное имя передаются только с использованием сквозного шифрования. Также см. в посте блога о внедрении. Это означает, что сервер не узнает, как выглядит ваша фотография или какую строку вы используете для идентификации себя другим.
В WhatsApp, однако, ситуация менее ясна. Очень вероятно, что если вы установите эту информацию в открытый доступ, они действительно хранятся в открытом виде на серверах. Однако если вы установите их только для контактов, гораздо менее ясно, использует ли WhatsApp свое сквозное шифрование для передачи изображения или является ли это просто функциональностью контролируемого API на сервере. По крайней мере, этот (неофициальный) пост в блоге утверждает, что сквозное шифрование не используется для профилей.
Подтверждения о получении через защищенный канал
Signal отправляет уведомление о том, что сообщение было получено, используя тот же защищенный канал, что и само сообщение. Благодаря конструкции протокола Signal это подразумевает свежее обновление ключевого материала. С другой стороны, в WhatsApp уведомления о получении передаются вне этого сквозного протокола. Конкретно это означает, что если только одна сторона в разговоре (или группе) говорит, компрометация состояния этой стороны позволит всем последующим сообщениям этой стороны быть пассивно дешифрованными в WhatsApp, в то время как только сообщения до следующего уведомления о получении можно утечь для Signal.
Эфемерные сообщения?
Это функция, поддерживаемая как в WhatsApp, так и в Signal — сообщения, которые удаляются на стороне получателя после выполнения определенного условия. Однако их реализация не имеет реального влияния на безопасность, поскольку правило «если вы можете это видеть, вы можете сфотографировать это с помощью другого устройства» применяется.
Итак, краткое содержание:
Оставшиеся различия в безопасности (после обновления протокола) в основном заключаются в том, что WhatsApp генерирует много метаданных для удобства, в то время как Signal старается избегать метаданных.
1: Они на самом деле не используют пиринговую связь в смысле прямого подключения к своим пиром. Скорее, они используют защищенные двусторонние каналы для общения со всеми остальными.
Отказ от ответственности: это не технический вклад (дополнение к ранее предоставленному ответу). Некоторые материалы могут быть субъективными, возможно, спекулятивными.
Я считаю, что при оценке/сравнении решений в области информационной безопасности необходимо выходить за рамки чисто технического текущего состояния решения и учитывать, какую траекторию данный продукт, вероятно, займет в будущем, учитывая известные или предполагаемые мотивы контролирующей организации.
В 2014 году Facebook купил WhatsApp
Как утверждает Марк Гудман в своей книге «Будущие преступления», для Facebook пользователи являются его продуктом, а рекламодатели — его клиентами; и для того, чтобы быть жизнеспособным, Facebook монетизирует свои продукты и делает это, максимизируя объем и качество продукта, который он предлагает своим клиентам. Упрощая: объем переводится в время, которое пользователи тратят на просмотр контента Facebook (время, доступное для показа рекламы), а качество переводится в то, насколько точно Facebook может нацеливать рекламу на пользователей на основе того, что он о них знает. Другими словами, Facebook хочет знать как можно больше о пользователях (что невозможно сделать, когда данные действительно защищены) и использовать это для:
- максимизации времени, которое пользователи проводят, смотря на Facebook
- максимизации точности и эффективности таргетированной рекламы
Поскольку WhatsApp предлагает сквозное шифрование без доступа к пользовательским данным, зачем Facebook платил более 19 миллиардов долларов в 2014 году за его покупку (см. https://en.wikipedia.org/wiki/WhatsApp ссылки 13, 14), учитывая, как Facebook монетизирует свои продукты? Только если Facebook сможет найти способ собирать данные WhatsApp о пользователях. Недавние изменения в политике конфиденциальности WhatsApp, позволяющие делиться номерами телефонов контактов пользователей WhatsApp с Facebook, я считаю, указывают на ответ.
Спекуляции о будущем
Спекулятивно рассматривать, какую будущую траекторию Facebook выберет с WhatsApp. Однако, рассчитывая решения в области информационной безопасности, я считаю разумным оценивать послужной список организации и в каком направлении указывает их бизнес-модель. Рассмотрите:
- С учетом вышеупомянутого и аргумента «Будущие преступления», максимизация информационной безопасности WhatsApp контрпродуктивна для бизнес-модели Facebook
- У Facebook есть история документированных сомнительных практик конфиденциальности; например: сброс настроек конфиденциальности пользователя при обновлении политики или эксперименты по контролю за настроением пользователей, фильтруя их ленты новостей – ищите больше примеров в Google.
Сравнивая решения в области информационной безопасности, особенно с аналогичными техническими возможностями, я предлагаю выбирать решение, которое более вероятно будет сохранять свое основное внимание на конфиденциальности в будущем. Здесь Signal, похоже, является лучшим выбором.
Еще один момент, который следует добавить здесь:
Signal является открытым программным обеспечением и во многих платформах реализован на управляемом языке, безопасном с точки зрения памяти (Java или JavaScript). Он также написан/поддерживается известным исследователем безопасности, который отлично разбирается в нахождении и исправлении уязвимостей в безопасности (надеюсь, даже в своем собственном коде). WhatsApp является проприетарным программным обеспечением и содержит компоненты, написанные на неуправляемых, нативных языках программирования (почти наверняка C/C++). Даже если вы доверяете Facebook не вводить вредоносный контент в ваш бинарный файл WA (и вам действительно нужно доверять им, если вы не хотите заниматься реверс-инжинирингом), они подвержены ошибкам (при работе с нативным кодом), как и все остальные, и это весьма.
WhatsApp был найден с множественными уязвимостями переполнения буфера, включая по крайней мере одну, которая была использована в действии. Переполнения буфера могут быть использованы для получения полного контроля над уязвимым приложением, что, конечно, означает, что злоумышленник может прочитать все, что приложение может (ваши закрытые ключи, вашу историю разговоров, ваши текущие чаты или звонки, ваши контакты/фото/микрофон/камеру/что угодно еще, к чему вы предоставили доступ приложению) и также могут быть использованы как платформа для запуска дополнительных атак (компрометация других мобильных приложений, вашей мобильной ОС и других устройств в локальной сети с вашим телефоном, потенциально включая ваши домашние и/или рабочие компьютеры). Это огромное дело.
Хотя открытое программное обеспечение не является по сути безопасным от таких атак, у него есть больше шансов не подвергнуться уязвимости. Больше людей посмотрят на исходный код (включая множество людей, заботящихся о безопасности, которые являются одной из основных групп пользователей Signal), чем на компанию вроде Facebook. Большинство людей на самом деле не стремятся причинить вред, и, действительно, часто надеются создать репутацию и/или получить премию за нахождение и ответственное раскрытие ошибок безопасности, так что шансы, что уязвимости будут замечены и исправлены, больше. Кроме того, существует такая вещь, что уязвимости уровня переполнения буфера просто значительно менее вероятны в языках, безопасных с точки зрения памяти; даже если бы в Signal была ошибка, позволяющая удаленному злоумышленнику сделать что-то недоброе с приложением, отправив вам сообщение, это, вероятно, было бы гораздо менее серьезно, чем «полностью взять под контроль приложение и получить доступ ко всему, что оно может видеть». Тем временем WhatsApp имел множество уязвимостей этого класса за один год, и по крайней мере одна из них использовалась в течение некоторого времени до исправления; это не гипотетическая уязвимость. Надеюсь, (надеюсь) FB улучшили свои меры безопасности с тех пор, но это тревожащая история для любого «безопасного» приложения.
Signal предлагает более ориентированный на конфиденциальность опыт, чем WhatsApp и Gb Whatsapp Pro. Он минимизирует сбор метаданных, имеет более сильные функции безопасности и поддерживается некоммерческой организацией, ориентированной на конфиденциальность. Хотя оба используют сквозное шифрование, обязательства Signal по защите конфиденциальности пользователей делают его более безопасным выбором.
Ответ или решение
На сегодняшний день Signal все еще считается более безопасным приложением по сравнению с WhatsApp, несмотря на то, что оба мессенджера используют протокол сквозного шифрования Signal. Разница между двумя сервисами заключается не только в технических аспектах, но и в подходах к сбору и обработке данных пользователей.
### 1. Сбор метаданных и конфиденциальность
WhatsApp собирает значительное количество метаданных, таких как списки контактов, информация о том, кто с кем общается и когда. Это позволяет платформе лучше анализировать поведение пользователей и улучшать таргетированную рекламу. Напротив, Signal стремится минимизировать сбор этих данных и придерживается строгой политики конфиденциальности. В случае получения повестки о предоставлении данных, Signal предоставляет очень ограниченную информацию, что подтверждает их приверженность защите личных данных.
### 2. Архитектура групповых чатов
В WhatsApp сообщения в групповых чатах сначала отправляются на сервер, который затем распределяет их среди участников. Это позволяет WhatsApp анализировать социальные взаимодействия пользователей. Signal же использует метод, при котором сообщения передаются напрямую между участниками, что затрудняет анализ социальной структуры.
### 3. Шифрование и безопасность данных
Signal реализует дополнительные функции шифрования и защиту пользователя. Например, Signal использует современное криптографическое хранилище для хранения ключей, что повышает безопасность даже в случае компрометации приложения. WhatsApp же, как предполагается, не использует подобные механизмы, что делает его более уязвимым.
### 4. Открытость кода
Signal является программным обеспечением с открытым исходным кодом, что позволяет независимым экспертам безопасности проверять его на наличие уязвимостей и обеспечивать прозрачность. WhatsApp, напротив, является закрытым продуктом, что означает, что пользователи должны полагаться на безопасность, обеспеченную Facebook. При этом Facebook имеет многообещающую историю в отношении нехватки безопасности и конфиденциальности данных пользователей.
### 5. Политика резервного копирования
Функция резервного копирования WhatsApp работает так, что копии сообщений могут храниться в облачных сервисах, таких как Google Drive или iCloud, что потенциализирует риски, если эти аккаунты будут скомпрометированы. В отличие от этого, Signal предоставляет возможность создавать локальные зашифрованные резервные копии, которые менее уязвимы к атакам.
### Заключение
С учетом всех вышеизложенных факторов, Signal остается предпочтительным выбором для пользователей, обеспокоенных своей безопасностью и конфиденциальностью. Несмотря на то, что оба мессенджера обеспечивают базовое шифрование сообщений, Signal предлагает более продвинутые функции безопасности и значительно меньший сбор личной информации. Если приоритетом для вас являются безопасность и конфиденциальность, Signal будет более надежным выбором по сравнению с WhatsApp.