15 августа команда Signal сообщила об атаке на пользователей мессенджера, организованной неизвестными хакерами. Рассказываем, почему эта атака демонстрирует преимущества Signal перед некоторыми другими мессенджерами.
Что случилось?
По заявлению создателей Signal, атака затронула около 1900 пользователей мессенджера. Всего аудитория Signal насчитывает более 40 миллионов активных ежемесячно пользователей — получается, инцидент коснулся лишь очень малой их части. С другой стороны, Signal обычно пользуются те, кто действительно беспокоится о приватности переписки. Так что пусть атака и затронула лишь крошечную долю аудитории, это все равно большое и важное событие в мире информационной безопасности.
В результате атаки хакеры получили возможность зайти в учетную запись пострадавшего пользователя с другого устройства, ну или просто узнать, что пользователь с таким-то номером телефона пользуется Signal. Среди этих 1900 номеров атакующих интересовали три конкретных телефона — и в итоге Signal получил уведомление от одного из трех пользователей о том, что его аккаунт был активирован на другом устройстве без его ведома.
Как это произошло?
На страницах Kaspersky Daily мы не раз говорили о том, что Signal — безопасный мессенджер. И вот он подвергается успешной атаке. Неужели на самом деле история про безопасность и приватность — это миф? Давайте разберемся, в чем же именно состояла атака и какую роль в ней сыграл собственно Signal.
Начнем с того, что учетная запись в Signal, как и, например, в WhatsApp и Telegram, привязана к номеру телефона. Это распространенная, но не повсеместно принятая практика: например, безопасный мессенджер Threema среди своих достоинств упоминает как раз то, что он-то к телефону не привязан. Телефон нужен для аутентификации пользователя: пользователь вводит номер телефона — и дальше на этот номер ему приходит СМС с кодом. Код нужно ввести: если он введен правильно, это означает, что пользователь действительно владеет этим номером телефона.
Непосредственно рассылкой таких SMS с одноразовыми кодами занимаются специализированные провайдеры, которые обслуживают сразу множество сервисов с таким же способом аутентификации. В случае Signal это компания Twilio — именно ее взломщики и выбрали своей целью.
Дальше в дело пошел фишинг: сотрудники Twilio получили сообщение о том, что их пароли якобы устарели и надо бы их обновить. Сделать это предлагалось по ссылке — как несложно догадаться, фишинговой. Кто-то из сотрудников купился на этот трюк, перешел на поддельную страницу и в процессе «смены пароля» ввел свой текущий пароль вместе с логином, в результате чего они и достались хакерам.
Эти учетные данные позволили им получить доступ ко внутренним системам Twilio, в том числе дали им возможность отправлять пользователям текстовые сообщения, а также их читать. Взломщики воспользовались сервисом для того, чтобы установить Signal на новое устройство: ввели туда телефонный номер жертвы, перехватили SMS с кодом активации и — вуаля — вошли в ее аккаунт Signal.
Как этот инцидент доказывает надежность Signal
Что ж, оказывается, с Signal тоже могут происходить такие инциденты. Почему же мы продолжаем говорить о том, что он безопасный и конфиденциальный?
В первую очередь, дело в том, что злоумышленники не получили доступ к переписке. Signal использует сквозное шифрование с надежным протоколом Signal Protocol. В силу использования сквозного шифрования переписка пользователей хранится только на их устройствах, а не на серверах Signal или еще где-нибудь. Поэтому никакого способа ее прочитать, взломав инфраструктуру Signal, попросту не существует.
Однако на серверах Signal содержится информация о номерах телефонов пользователей и номерах их контактов. Это позволяет мессенджеру сообщать вам о том, что кто-то из ваших контактов присоединился к Signal. Но тут следует уточнить, что данные хранятся, во-первых, в специальных безопасных хранилищах (secure enclaves), доступа к которым нет даже у самих разработчиков Signal. А во-вторых, сами номера в текстовом виде там не содержатся, а вместо них сохраняются хеш-суммы, по которым можно определить контакт, но нельзя восстановить номер телефона. Этот механизм позволяет приложению Signal на вашем телефоне отправлять зашифрованную информацию о контактах и получать шифрованный же ответ — кто из ваших контактов пользуется Signal. То есть доступ к контакт-листам взломанных пользователей злоумышленники получить тоже не смогли.
Наконец, важно подчеркнуть, что Signal атаковали через атаку на цепочку поставок — используемого компанией менее защищенного сервис-провайдера. Получается, это уязвимое звено в сервисе. Однако на самом деле в Signal предусмотрены меры предосторожности даже на такой случай.
В Signal есть функция «Блокировка регистрации» (искать ее надо в Настройки → Учетная запись → Блокировка регистрации), которая требует ввести заданный пользователем PIN-код при попытке активировать Signal на новом устройстве. На всякий случай уточним: PIN в Signal не имеет отношения к разблокировке мессенджера — для этого обычно используется штатная аутентификация смартфона.
По умолчанию функция «Блокировка регистрации» отключена — так оно и было в случае как минимум одного из взломанных аккаунтов. Поэтому взломщикам и удалось провернуть атаку, получив возможность в течение примерно 13 часов притворяться жертвой взлома. Если бы блокировка регистрации была включена, взломщики вообще не смогли бы войти в приложение, зная лишь номер телефона и код подтверждения.
Что можно сделать, чтобы лучше защитить переписку в Signal
Подведем итоги: злоумышленники взломали не сам Signal, а его партнера Twilio, в результате чего получили возможность войти в 1900 аккаунтов — и воспользовались этой возможностью для входа в три из них. При этом они не получили доступа ни к переписке, ни к контактам — и могли лишь попытаться притвориться теми пользователями, в учетные записи которых смогли войти. Если бы у этих пользователей была включена опция «Блокировка регистрации», взломщикам не удалось бы даже это.
И хотя формально атака была успешной, не стоит пугаться и отказываться от Signal. Это все еще безопасный мессенджер, который дает вам уверенность в приватности вашей переписки — что как раз и демонстрирует история со взломом. Но можно сделать его еще надежнее, а также дополнительно позаботиться о своей безопасности:
- Включите в Signal функцию «Блокировка регистрации», чтобы злоумышленники не могли бы войти в ваш аккаунт, не введя PIN — даже получив одноразовый код для активации Signal на новом устройстве.
- Прочитайте наш пост про настройку приватности и безопасности в Signal и настройте ваш мессенджер. В Signal есть как простые базовые опции, так и пункты для настоящих параноиков, которые обеспечивают дополнительную безопасность ценой некоторого снижения удобства использования.
- Ну и конечно, используйте защитное решение на самом устройстве. При попадании зловреда на смартфон никакие меры со стороны Signal не помогут защитить вашу переписку и список контактов. Но если зловреда не пустить или хотя бы вовремя отловить, переписке ничего не грозит.