Теорема об одурачивании людей или как не стоит верить уловкам маркетинга в безопасность приложений на примере Telegram

в 1:58, , рубрики: анонимность, информационная безопасность, мессенджеры, приватность

Введение

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

Начну пожалуй издалека. Конец 2017 года. Государство P начало блокировать мессенджер T. Упорно, длительно, забанив множество серверов со всего Интернета, оно оказалось неспособным воспрепятствовать работоспособности мессенджера T. В ходе своих безуспешных попыток, государство P чуть-ли не в поточном режиме свидетельствовало в своих же подконтрольных СМИ о том, что в мессенджере T сидят террористы, наркоторговцы, да и вообще очень плохие люди, но при всём этом, приложение T настолько безопасно, что сложно не то, чтобы его контролировать, но и заблокировать. В итоге, спустя 3 года безуспешных страданий, государство P приняло нелёгкое решение: оставить в покое мессенджер T и дальше жить с тем фактом, что распространяемая информация СМИ позволила лишь увеличить количество пользователей в T.

Статистика активных пользователей в Telegram. Непонятно правда почему за 2019 год нет никакой информации, что портит общую статистику и выглядит даже с моей стороны манипулятивно из-за сильного разрыва количества пользователей между 2018 и 2020 годом. Но если представить 2019 год как среднее между 200 и 400, тобишь 300, то даже это является очень сильным отрывом в сравнении со всеми остальными годами. Ведь за те же два года между 2020 и 2022 статистика увеличивась ровно настолько же при большем количестве пользователей в системе.
Статистика активных пользователей в Telegram. Непонятно правда почему за 2019 год нет никакой информации, что портит общую статистику и выглядит даже с моей стороны манипулятивно из-за сильного разрыва количества пользователей между 2018 и 2020 годом. Но если представить 2019 год как среднее между 200 и 400, тобишь 300, то даже это является очень сильным отрывом в сравнении со всеми остальными годами. Ведь за те же два года между 2020 и 2022 статистика увеличивась ровно настолько же при большем количестве пользователей в системе.

В настоящее время это выглядит даже комично и кажется, что в это поверить мог только человек далёкий от информационных технологий, беря ещё в расчёт успешность последующей блокировки сети Tor в конце 2021 года, к которой теперь можно подключиться лишь используя мосты. Но нет, на 2017-2019 года большинство людей действительно верили, что государство не может заблокировать мессенджер. Лишь сейчас, со временем, люди начали более скептически относится к безопасности Telegram, используя его не в целях безопасности, а лишь как удобный мессенджер. Тем не менее, "застой" здравого сознания в период этих двух лет мог уже привести к тем или иным манипуляциям и пропаганде, направленных на человека (как минимум к установке Telegram).

Также стоит вспомнить, что предысторией всех подобных серий блокировок являлась невыдача ключей Telegram'a. Даже в 2021 году оставались оптимисты, разбиравшие MTProto (довольно хорошо, спору нет) и на основе таковых выводов делали утверждение, что технически невозможно отдать ключи правительству.

Теперь запросы правительств о выдаче ключей шифрования звучат уж слишком смешно. Ну а нам, простым смертным, со спокойной душой можно пользоваться всеми нами любимой тележкой, покуда квантовые компьютеры не пришли и не раздали нам подзатыльники за наши математические фокусы.

Всё бы хорошо, только это утверждение работает исключительно для секретных чатов, а основной трафик Telegram'a проходит через его же сервера и сохраняется там в открытом, транспарентном состоянии, о чём собственно сам автор минутами ранее и писал.

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

Ну так в итоге то что? Топ менеджеры Telegram'а технически могли выдать (депонировать) правительству свои ключи шифрования со своих серверов? Да, могли. Стали ли они это делать? Точно неизвестно. Но учитывая тот факт, что государство P полностью отвязалось от мессенджера T, скорее заставляет думать, что ключи были успешно транспортированы. Т.к. Россия - это второе государство по масштабу загрузок приложения (24.15 million) Телеграм, первое по количеству проводимых часов в приложении (avr 5.1ч) и по генерируемому трафику на 2023 год к https://web.telegram.org/ (23.84%), то потеря такого рынка может быть значительной для мессенджера с экономической точки зрения (статистика).

Безопасность

Безопасность - это процесс, а не результат.

(Б. Шнайер)

Нужно брать в расчёт, что реальная безопасность является многосторонним процессом, при успешной защите одного объекта, атаки начинают плавно "перетекать" на другие объекты. Это можно сравнивать с деревянной лодкой, в которой существуют как цельные части - уже защищённые, через которые не проходит вода (направленные атаки) так и дырявые части, через которые вода будет просачиваться. Плюс к этому нужно ещё и учитывать факторы появления новых дыр (новых векторов нападения), которых ранее ещё не было. По количеству и качеству (размеру) таковых дыр можно судить об уровне беспокойства разработчиков, менеджеров и топ менеджеров к безопасности своего программного продукта.

Приведу пожалуй следующий список обнаруженных уязвимостей в Telegram с наибольшим деструктивным потенциалом в хронологическом порядке и с тем, решены ли они:

  1. Закладка в MTProto (2013, решена),

  2. MITM атака со сложностью 264 (2015, не решена),

  3. Dekstop Telegram не хранит чаты в шифрованном виде (2018, не решена),

  4. Копирование приложения (ещё тут, 2019) и его разблокировка (2018, не решены),

  5. SQL инъекция (2019, решена),

  6. XSS уязвимость в Web-приложении (2023, решена) [P.S. статья прям удачно появилась по времени].

Все вышеописанные ошибки, баги и уязвимости я описал не для того, чтобы сказать: "вот смотрите, у них были уязвимости, значит они небезопасны", вовсе нет. Напротив, уязвимости, ошибки и баги возникают во всех программных продуктах, которые так или иначе развиваются.

В первую очередь, я хочу уделить здесь внимание на качество таковых уязвимостей: XSS и SQLi уязвимости в 2019, 2023 годах, возможные манипуляции сервера с учётом прочтения информации в секретных чатах, MITM атаки на централизованную инфраструктуру, разблокировка лишь открывает интерфейс и никак не связана с шифрованием данных?

Во вторую очередь, стоит заметить, что уязвимости, происходящие на серверной стороне решаются куда активнее и быстрее, чем на клиентской или в связи между клиентской и серверной. Это оправдано как минимум экономическими причинами, где ущерб на серверной стороне многократно превосходит ущерб на клиентской. Тем не менее, это же событие можно рассматривать с той стороны, что безопасность клиентов для Telegram не является первостепенной задачей.

Плюс к этому, в Telegram'е существуют сомнительные архитектурные решения со стороны безопасности. Например, протокол MTProto не единожды критиковался (более подробно можно почитать тут и тут) за счёт того, что все действия которые он совершает, можно было выполнить уже готовыми средствами. Криптография - наука консервативная, когда существует что-то старое и рабочее, проверенное временем и большим количеством криптографов, то оно будет выбрано в приоритете.

Телеграм также пытался выстроить видимость своей защищённости, нанимая специалистов криптографов, но давая крайне малые сроки и лишь ограниченный спектр атак, как например взлом только по шифротексту:

В декабре 2013 года Павел Дуров объявил конкурс до 1 марта 2014 года на «взлом» защиты Telegram с призовым фондом в 200 тысяч долларов. Условиями конкурса ставилась задача расшифровать личную переписку Павла с его братом Николаем через «секретные чаты», используя зашифрованные данные, которыми обменивались приложения и сервер.

...

Требуемая для такого «взлома» модель атаки, атака на основе шифротекста, является самой слабой и, в то же время, наиболее сложной и неудобной для криптоаналитика. Существуют чрезвычайно слабые алгоритмы, которые могут быть устойчивыми в данной модели, но уязвимыми для других методов.

...

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

Википедия (там же приведены и ссылки)

В результате, таковые выступления становятся похожи более на спекталь, чем на действительные меры по обеспечению и укреплению безопасности итогового продукта.

Анонимность

Теорема об одурачивании людей или как не стоит верить уловкам маркетинга в безопасность приложений на примере Telegram - 2

Как человек, пристально изучающий сетевую анонимность, её историю, факторы возникновения, развитие, комбинации и прочее, могу сказать сразу, что в Телеграме нет и намёка на анонимность, скорее присутствует только её противоположность - отсутствие анонимности.

  1. Номер телефона - единственный и основной идентификатор пользователя. На этом пожалуй весь последующий разбор анонимности можно было бы и не продолжать. Номер телефона не только даёт хорошее качество идентификации сторонним сервисам для таргетированной рекламы, но и также даёт хорошее качество идентификации государственному аппарату, потому что сами SIM-карты государство выдаёт по паспортам. Плюс к этому, можно почитать статью по тому как сторонний пользователь может видеть факт онлайн/оффлайн располагая номером телефона и на основе этого выводить корреляцию общения с определённым пользователем из N-ого множества.

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

  3. Централизованная архитектура в секретных чатах. Со стороны безопасности, централизация и секретные чаты были бы абсурдностью, но когда мы говорим об анонимности, нас более волнует не то, как зашифрованы сообщения, а то как они распространяются. И со стороны анонимности, сервер знает совершенно весь маршрут от кого и кому вы передаёте шифрованную информацию. Т.к. секретными чатами пользуются в разы реже, то при определённых обстоятельствах и заинтересованности, государство может потребовать у Телеграма сам факт переписки и абонентов этой переписки.

У телеграма нет никакой децентрализации (как допустим в I2P, RetroShare), нет никакой гибридности (как допустим в Tor, Freenet), а есть только неприкрытая и явная централизация. И поэтому даже сложно представить, что кто-то может поверить в следующее:

По утверждению разработчиков, Telegram не предоставляет никому, кроме самих администраторов канала, информации о том, кто ведёт канал и кто на него подписан.

Википедия (ссылки на это предложение не указано)

Информационная гигиена

Исходя из всего вышеописанного я сформулировал следующий перечень условий/действий, которые могут в той или иной мере помочь людям не подвергнуться уловкам маркетинга, когда вновь появится новый неблокируемый, безопасный, анонимный мессенджер Телеграм2.0:

  1. Если приложение не является клиент-безопасным (то есть нельзя доказать безопасность всей системы исходя только из клиентского кода), а код серверной части скрыт, то обоснованно нельзя доверять приложению. Если клиентский код скрыт, то доверять вообще не следует.

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

  3. Если в описании безопасности приложения часто уделяется внимание названиям общеизвестных криптографических алгоритмов и протоколов, то реальная безопасность приложения скорее скрывается, чем описывается.

  4. Если в централизованном мессенджере вы не видете рекламу товаров, то только потому, что вы сами являетесь товаром. Ваши увлечения, ваша деятельность, ваши знакомые - информация, успешно продающаяся сторонним сервисам.

  5. Частые обновления - это не только признак постоянной поддержки, но и признак несовершенности программного продукта, требующий постоянного редактирования, добавления нового кода и сопутствующего внесения новых уязвимостей.

  6. Открытый исходный код клиента и сервера нельзя рассматривать как 100% доказательство в корректности, безопасности и анонимности, т.к. частые обновления могут приводить не только к непредвиденным багам, уязвимостям и прочему, но и к преднамеренным закладкам (бэкдорам).

  7. Людей привлекают приложения способные соперничать с государственным аппаратом в защите своих коммуникаций от атак последнего. Но реальна ли эта защита? Не проводится ли пиар приложения самим государством, заявляющим о своей неспособности его взломать?

Заключение

На этом пожалуй всё. Самое печальное во всей этой истории - тот факт, что сама эта публикация является лишь постфактумом происходящего. Если государственный аппарат успешно скооперировался с Телеграмом, то все свои цели правительство уже успешно выполнило (привет, пакет Яровой). В свою очередь, Телеграм на хорошей пропаганде СМИ смог завладеть рынком и закрепиться в умах людей как безопасный (а иногда даже как анонимный!) мессенджер с той лишь единственной целью, чтобы собирать и продавать как можно больше конфиденциальной информации, ведь это экономически оправдано.

И таким образом, всё мною вышеописанное есть лишь история о том, как жаба и гадюка успешно заключили мирный договор.

Автор: Коваленко Геннадий

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js