Telegram — мессенджер для смартфонов, позиционирующий себя как безопасный, защищающий не только от злоумышленников, но и от государственных структур. Маркетинг сделал своё дело и мессенджер получил свою аудиторию, но при этом многие известные специалисты критикуют Telegram за низкую защищённость.
Основная проблема в том, что многие люди имеют слабое представление о криптографии и защите данных, потому легко поддаются популистским маркетинговым заявлениям.
В этом докладе я хочу на примере Telegram простыми словами объяснить, как можно получить доступ к вашим перепискам, ну или хотя бы узнать, кто когда с кем разговаривал, а также о том, как защититься, если это возможно.
Но важно понимать, что устойчивость всей системы защиты равна устойчивости её слабейшего звена. Также, как мало смысла от пароля на кредитке, если тот написан на оборотной стороне карты.
Для начала — а зачем защищать свои данные? Фразу «мне нечего скрывать» каждый слышал хотя бы однажды. Специалисты в области безопасности – многократно.
Аргумент «мне нечего скрывать» очень нравится организаторам различных систем контроля и слежки, которые «режут» наше с вами право на неприкосновенность частной жизни. «Давайте сюда сумку и выложите все из карманов. — весело говорят они. — Ноутбук и смартфон мы заберем на экспертизу. Не переживайте: если вы честный человек, вам нечего скрывать, правда?»
Позиция «мне нечего скрывать» деструктивная. Она лишь выглядит так, будто произносящий эту фразу храбро открывает забрало. На самом деле он выбрасывает белый флаг.
Вы можете считать, что вас не интересует соблюдение права на личную жизнь, тем не менее, вероятнее всего, это не так. Ежедневно у себя дома мы делаем то, что не стали бы делать открыто. И это не потому, что нам есть, что скрывать, а потому что есть аспекты жизни, которые мы предпочли бы оставить только для себя.
Вы вряд ли будете в восторге, если кто-то завладеет вашим аккаунтом в соцсети и начнет распространять оскорбительные сообщения, вирусы или спам. Мы не скрываем факты. Да, у нас есть банковский счет, электронная почта, аккаунт в Фейсбуке. Это не секрет. Что же тогда мы делаем? Защищаем перечисленное от несанкционированного, произвольного доступа.
Мы не делаем секрет из факта владения автомобилем, но пользуемся ремнем безопасности, чтобы в экстренной ситуации защитить здоровье и жизнь. Это несомненные физические ценности. По той же причине мы не позволяем ребенку засовывать пальцы в электрическую розетку. Пренебрежение безопасностью по типу «мне нечего скрывать» способно повлечь самые неприятные последствия.
Человек, поведавший о коррупции в правоохранительных органах, рискует оказаться жертвой преследования со стороны властей, если им станет известно его имя. Член ЛГБТ-сообщества, не совершивший самостоятельно «каминг-аут» и не подготовившийся к нему, может не выдержать тяжелый психологический прессинг на работе со стороны начальства и коллег. Широкое распространение информации о готовящемся семинаре способно привести к срыву мероприятия из-за подоспевших экстремистов, не согласных с повесткой. Готовы ли вы поставить под удар жизнь, здоровье, психологическое благополучие, карьеру, финансы, рабочие планы и прочие ценности других людей, тех, кто вам доверился? [4][5]
1. Привязка к номеру телефона
Telegram использует авторизацию с помощью номера телефона, и по-умолчанию достаточно ввести код из SMS сообщения, чтобы получить доступ к аккаунту.
Проигнорировать это требование нельзя, т. к. мессенджер привязан к номеру и вся пользовательская активность привязана к этому номеру.
Привязка к номеру телефона не защищает от злоумышленников, ведь купить кулёчек SIM-карт, арендовать в интернете временные SIM-карты или просто найти на дороге — не представляет сложностей. Напротив, несмотря на простоту для пользователя, такое решение значительно снижает защищённость аккаунта и требует в большего доверия в том плане, что сервис будет надёжно защищать ваши данные и никогда не решит использовать в своих интересах.
В апреле 2016 года были взломаны Telegram аккаунты оппозиционного активиста Олега Козловского и сотрудника Фонда борьбы с коррупцией Георгия Албурова.[6] Оба были пользователями МТС, и о том, что услуга SMS отделом технической безопасности МТС была отключена в 2:25 ночи 29 апреля и включена в 4:55 сообщили Козловскому в службе поддержки компании. В этот промежуток времени, в 3 часа ночи, злоумышленниками был произведён вход в аккаунт оппозиционеров, введя секретный код, который доставляется по SMS. [7][8]
Причины, по которым Козловскому отключили и включили SMS-сервис, в службе поддержки называть отказались — ему предложили написать письменный запрос. Также, как не было объяснено, каким образом SMS-сообщение с кодом попало в руки злоумышленников.
Вскоре МТС опроверг сообщения службы поддержки, заявив, что отключение SMS-услуги не производилось. [9] «Никаких целенаправленных действий по отключению услуг не производилось», но компания «не исключает вероятности вирусной атаки или доступа к аккаунту через веб-интерфейс», – заявил пресс-секретарь группы МТС Дмитрий Солодовников. [10]
Мобильные сети очень уязвимы (об этом — дальше), но скорее всего, в данном случае злоумышленники действовали совместно с оператором связи. Оператором была отключена услуга SMS, принято сообщение от Telegram, возвращён ответ о том, что у пользователя отключен приём сообщений, а затем снова включен.
В связи с рисками привязки к номеру телефона очень важно включить двухфакторную или двухэтапную аутентификацию в таких приложениях.
Кстати говоря, включение двухэтапной аутентификации в Telegram совсем не спасёт вас от взлома, лишь обеспечит уничтожение истории переписки. [11]
Известны также случаи, когда оператор в огромных количествах выдавал дубли SIM-карт. [12] Но для атаки не всегда требуется «помощь» со стороны оператора.
Несмотря на то, что в мобильных сетях используются современные технологии, они основаны на устаревшем наборе протоколов SS7 — Signalling System No.7, которые уходят корнями в семидесятые годы прошлого века. При этом сети унаследовали все недостатки безопасности протоколов SS7, которые сейчас практически невозможно устранить.
В то время безопасность протоколов сводилась к физической защите узлов и каналов связи, потому получение доступа было неосуществимо. В начале 2000-х годов сообщения SS7 начали передаваться по IP-сетям, к которым может каждый подключиться, в результате появилась возможность атак на мобильные сети и их абонентов злоумышленниками, даже не обладающих высокой квалификацией или специализированным оборудованием.
Эти уязвимости, в том числе позволяют перехватывать звонки и SMS-сообщения, а впервые о них стало известно в 2001 году. Раньше инструменты для взлома SS7 были только у спецслужб, а в настоящее время они доступны службам безопасности корпораций и обычным хакерам. Некоторые компании вполне легально торгуют оборудованием и программами для взлома сотовых сетей, а в интернете полно инструкций по организации атак и перехвату звонков и трафика. Ни один оператор в мире не застрахован от подобных атак, как бы он ни защищался. [13]
Существует конспирологическая теория, что уязвимости были специально встроены в фундаментальную основу технологии SS7 для того, чтобы спецслужбы могли незаметно вести прослушку. Об этом в 2013 году говорил Эдвард Сноуден, обнародовавший документы, за которые его сейчас преследуют правоохранительные органы США. По его словам, благодаря этим уязвимостям спецслужбы США, Великобритании и других стран долгие годы следят за гражданами, в том числе вполне законопослушными. [14]
Схема атаки довольно простая. Атакующий использует обычный запрос, использующийся при отправке SMS, в который отправляет номер телефона, а получает уникальный идентификатор SIM карты и служебную информацию, такую как местоположение с точностью до региона.
На основе этих данных можно получить точное местоположение абонента, используя запрос, который обычно используется для тарификации. В условиях городской застройки точность местоположения составит несколько сотен метров.
Или ещё пример: путём нехитрых манипуляций можно произвести перевод денег с одного счёта на другой, а если это совместить с перехватом SMS сообщений со статусом выполненного действия, то такие переводы могут оказаться незамеченными в течении длительного времени.
Это примеры лишь основных векторов атак, и надо понимать, что мобильные сети очень слабо защищены. По сути — все они действуют на основе доверия к тому, что если какой-то запрос отправлен, то он отправлен от легитимного оператора, и фильтровать запросы практически не представляется возможным.
2. Контактный лист хранится на сервере
Даже если вы использовали только секретные чаты, но злоумышленниками был получен доступ к вашему аккаунту — они получат возможность запросить список ваших контактов, что создает след из «хлебных крошек», который может помочь правоохранительным органам в расследовании.
Сервису Telegram же это позволяет выстроить гигантскую карту социальных связей всех пользователей, установив, каким образом они связаны друг с другом. [2]
Список телефонных контактов непрерывно синхронизируется с сервером. Если вы на несколько минут подключите Google аккаунт друга, либо поставите другую SIM-карту, все контакты с них будут отправлены на сервера мессенджера. [15]
3. Telegram рассылает избыточное количество метаданных
Telegram отправляет просто гигантские объемы служебных данных на сервер. Но это еще полбеды. Приложение рассылает уведомления всему списку контактов каждый раз, когда открывается или скрывается окно приложения.
Злоумышленник, фактически, может «оформить подписку» на все метаданые жертвы, просто добавив её в свой список контактов. К сожалению, взаимного согласия мессенджер в таком случае не спрашивает. Более того, жертва ничего об этом не узнает, так как никаких уведомлений не будет, и злоумышленник вообще не отобразится в списке контактов Telegram. [16]
Собрав достаточно метаданных, можно разобраться в том, когда конкретные люди разговаривали друг с другом. Казалось бы, проблема незначительная, но для мессенджера, который ставит во главу угла защиту данных и полную конфиденциальность своих пользователей, это все-таки проблема.
Для защиты от такой атаки необходимо в настройках приватности выбрать отображение времени последнего посещения «Только для моих контактов» или «Ни для кого».
4. Шифрование выключено по-умолчанию
Да, по-умолчанию переписка не шифруется. Чтобы включить шифрование, необходимо дождаться собеседника в сети и включить секретный чат. Уже существующий разговор зашифровать нельзя. Групповые чаты же вовсе не поддерживают шифрование.
Также проблема для удобства использования в том, что секретные чаты не видны на других устройствах пользователя.
В декабре 2015 в твиттере возник спор по поводу защищённости Telegram между Павлом Дуровым и представителями Open Whisper Systems, разработчиками защищённого мессенджера Signal, и Эдвардом Сноуденом. Представители OWS, ответили одному из пользователей твиттера, который считал, что Telegram достаточно безопасный, что тот по-умолчанию не шифрует сообщения. Сноуден добавил, что Telegram следует провести масштабное обновление, чтобы избавиться от «опасных» настроек по умолчанию.
Мокси Марлинспайк — основатель OWS и создатель мессенджера Signal, ранее работавший главой отдела безопасности Twitter — подчеркнул, что существует разница между тем, как позицинирует себя Telegram и чем он является на самом деле. [17]
Главный технолог Американского союза гражданских свобод Кристофер Согоян считает, что позиционирование мессенджера с точки зрения безопасности неоправданно, поскольку компании должны думать о защите по умолчанию, а не заставлять пользователей менять настройки клиента. [18]
5. Надежность шифрования
Технология шифрования MTProto, разработанная Николаем Дуровым, вызывает вопросы у многих специалистов по безопасности. Дело в том, что серверная часть шифрования закрыта, а шифрование на стороне клиентов никто серьёзно не проверял. Да, был объявлен конкурс на взлом с денежным призом. Однако мероприятие подверглось критике, так как потенциальные победители утверждали, что были ограничены в своих действиях и имели в распоряжении только зашифрованное содержимое переписки, были приведены примеры того, как при заданных правилами конкурса условиях даже заведомо уязвимый алгоритм было бы невозможно взломать. [19]
Спустя год Павел Дуров объявил о начале нового конкурса. Хакерам предлагалось «вскрыть» переписку двух ботов и уже дозволялось не просто выступать в роли наблюдателя, как в случае с первым конкурсом, но и проводить активные атаки. Несмотря на то, что условия конкурса были изменены, возникли вопросы и к правдивости такого конкурса. [18]
Закрытость кода для независимого аудита делает его потенциально уязвимым для будущих атак, как заявил вирусный аналитик ESET Russia Артем Баранов.
6. Имеет центральный сервер
Все клиенты подключаются к одному облаку и нет возможности установить серверную часть мессенджера на свой компьютер, либо просто выбрать тот сервер, которому вы больше доверяете. Если спецслужбы придут и взломают сервер, либо трактор перережет провод — все пользователи от этого пострадают. В случае с Telegram, в котором почти вся переписка хранится на сервере, это особенно неприятно. Павел Дуров утверждает, что никто не может получить доступ к данным, даже если тот проникнет в серверную, [17] однако это совершенно не мешает, например, блокировать Telegram каналы.
Повторю начало статьи — устойчивость всей системы защиты равна устойчивости её слабейшего звена. Любую защиту можно преодолеть. Но это может потребовать таких затрат сил, средств или времени, что добытая информация их не окупит. Поэтому практически надёжной признаётся такая защита, преодоление которой потребует от противника затрат, значительно превышающих ценность информации.
Важно видеть эту грань и иметь хотя бы базовое представление о защите данных, не допуская очевидных ошибок, сводящих на нет все остальные средства.