Публикация к юбилею Telegram


В секретных чатах Telegram используется «сквозное шифрование», и что? End to end encryption Telegram слабо защищает переписку пользователей. Простой пример: злоумышленник достал приватный ключ gpg Алисы, естественно, чтобы расшифровать сообщение, зашифрованное для Алисы необходим пароль от этого ключа, который невозможно сбрутить, придерживаясь современной доктрины парольной защиты. В Telegram end to end encryption на Android — это становится возможно с вероятностью 100%. Обход двухфакторной аутентификации, восстановление пин-кода и угон секретных чатов в Telegram об этой уязвимости и будет статья.

В своей работе я постараюсь описать подробный мануал по уязвимости в Telegram на Android-девайсах, приведу примеры по восстановлению local code Telegram на Android, Desktop Linux/Windows. Скомпрометирую секретный чат Telegram. В этом противостоянии с командой Дурова мне поможет моя компания: Я; Android 7.0; Android 6.0 (root); Android 4.4.2 (root); ПК с OS Linux/Windows. На первый взгляд кажется силы не равны, посмотрим…

ИМХО. С чего все началось


В моем случае всю мощь PR-компании вокруг платформы Telegram ощутил и я. На огромных колесах «Телеги» хайп катился от месяца к месяцу, не имея ни центра, ни границ. Влияние Э. Сноудена на популяризацию повсеместного пользовательского шифрования переписки. Вспомните культовый мессенджер ICQ с его приложением QIP 2005 на Desktop-е, там вся переписка хранилась на ПК в открытом доступе в файлах .txt. Telegram по поводу шифрования переписки «кто первый стал массово шифровать частную переписку» не сразу, но позже заявил, что пионер – это он. История Telegram ничем особо не выделялась: конкурс на безопасность протокола MTProto от durov; калымы для художников и художниц (рисование стикеров); API по созданию ботов/приложений; ICO TON, принесшее хозяевам Telegram немалые деньги; блокировка мессенджера в Иране, РФ и снова в Иране; а также поступлению в сеть редких онлайн-вбросов подноготной Telegram. В июле 2018г. «Телега промчалась и по мне». Когда на массовом рынке мессенджеров появился «очередной Telegram» со своим слоганом и небольшой оговоркой (это супер быстро, просто и бесплатно). «Telegram — это приложение для обмена сообщениями с акцентом на скорость и безопасность». На счет последнего в таком крутом слогане, durov и его команда (за счет Николая Дурова техническая сторона команды сильная) открыто взаимодействуют со специалистами по ИБ/багхантерами, которые находят/пытаются найти уязвимости в протоколе MTProto или баги на платформе Telegram. Специалисты присылают свой материал на почту security@telegram.org — это официальный метод такого взаимодействия «охотниками за головами» и разработчиками Telegram, так же об этом упоминается и тут
На самом деле мы приветствуем экспертов по безопасности для аудита нашей системы и будем благодарны за любые отзывы ( security@telegram.org )

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

К услугам Черного принца пользователя конфиденциальность на мобильной платформе Telegram представлена, как неприступная, грозная, новомодная разработка MTProto от Николая Дурова. Секретные чаты в Telegram (далее СЧ) – это чаты, которые присутствуют лишь на мобильной платформе Telegram и защищены сквозным шифрованием, ключи хранятся только на устройствах на которых были сгенерированы, а еще это гордость Telegram-Dubai (так их назову). СЧ Telegram считаются очень защищенными чатами во всем мире, в Telegram-Dubai мире, несколько раз durov сотрясал воздух, сравнивая свой продукт с конкурентами в публичной воинственной форме и всегда побеждал.

Обойдя end to end encryption Telegram мессенджера на Android, баг-репорт отправил письмом на вышеупомянутый e-mail. Ответа не получил, спустя несколько дней написал в техподдержку волонтерам Telegram. Волонтеры мне ответили, что донесут мою мысль до руководства Telegram, запросив с меня уточнение: откуда и когда я отправил свое письмо. Спустя две недели тишины я еще раз напомнил о своем письме волонтерам, на этот раз и добровольцы мессенджера полностью проигнорировали моё напоминание. Через неделю я снова повторил отправку письма на официальную почту Telegram — нет ответа. Что же остается, чем же заняться? докучать со своим баг-репортом по Telegram через микроблог?, осаждать неофициальные источники общения команды durov-а? Или написать и выложить статью для СМИ? Прямо какая-то кибербюрократия сформировалась в рядах Telegram. Не могу не отметить w9w с habr.com, который, по моему мнению, нашел лучшую уязвимость на платформе Telegram: уязвимость в telegra.ph. Суть – любой юзер мог отредактировать чужую статью на telegra.ph. Со своим отчетом об уязвимости w9w (он нашел их несколько) так же не смог достучаться на security@telegram.org. После прохождения бюрократического квеста, w9w получил за найденные уязвимости маленькое финансовое вознаграждение. Интересно, это жадность Telegram? или какая-то другая причина? Вернемся к Telegram, немного отзывов о нем.



У многих людей есть свой семейный фотоальбом, у багхантеров — свой послужной список «найденных багов/ошибок/уязвимостей». В своем ПС, по окончанию работы над статьей, я равнодушно закрашу ячейку B30 в красный цвет, тем самым, оставив свой вопрос к команде Telegram открытым.

Часть 1. Восстановление local code Telegram на OS Android Linux/Windows Desktop. Основано на реальных событиях


В июле летом 2018г. на Github-е один из разработчиков неформальной группировки версии John The Ripper (далее JTR) выложил написанный на Python-е исходный код парсинг-модуля «telegram2john.py». Из названия программы становится ясно для чего и кому служит данный модуль. Кому не понятен смысл подобных модулей, это модули, расширяющие функционал JTR. Официальный JTR умеет потрошить 8 форматов, а JTR jumbo-1-bleeding – 263 форматов, и один из таких форматов — Telegram local code. Опробовав «telegram2john.py», я обнаружил ошибку в нем: одна из трех функций парсинга local code Telegram работала некорректно, о чем я и сообщил на Github-е разработчикам JTR. Исправление для «telegram2john.py» вышло оперативно. Это не первое обращение по найденным багам к разработчикам JTR, и каждый раз быстрый ответ и не менее быстрое исправление ошибок — просто приятно, когда существует такие будничные налаженные каналы связи. Через пару дней на тайном вече модуль «telegram2john.py» утвердили и отправили в репозиторий JTR.

Схема восстановления local code Telegram — многоэтапный процесс:

Read the salt (32 bytes), encrypted data and sha1 of decrypted data from a file.
Compute a PKCS5_PBKDF2_HMAC_SHA1 on the UTF8 (passcode), using the salt, 4000 iterations, keysize of 256 bytes
Use a Telegram-specific KDF to get the AesKey and AesIV (Relatively cheap - bunch of memcpy and 4x sha1)
Perform an AES-IGE-DECRYPT on the encrypted data using the derived key and IV from step 3.
Compare sha1 of decrypted data with the sha1 read in step 1. If they match - passcode is correct.

Для пользователя JTR операция «кровотечения» упрощается до двухэтапного процесса: с помощью модуля «telegram2john.py» «вытягивание хэша» для Джоновского процессора из файла userconfing.xml, принадлежащему приложению Telegram (моментальная по времени операция), и brute force этого «хэша» с помощью JTR. При такой операции вероятность восстановления local code на Android-е составляет 100% успеха, время ожидания несколько секунд. Вероятность восстановления local code на Desktop-е Linux/Windows составляет X% успеха, время ожидания неопределенное. Почему? Потому что, во-первых, local code — обычный цифровой pin код на Telegram из четырех цифр (10^4 всевозможных комбинаций pin-а) ни больше ни меньше, во-вторых, алгоритм шифрования local code Telegram на Android-е не криптостойкий, отсюда высокая скорость перебора пароля. По-другому обстоят дела с Desktop-приложениями Telegram, где нет секретных чатов: в приложении на Desktop-е, шифрование local code криптостойкое (скорость перебора на CPU хэша Desktop/Telegram в 10000 раз медленнее скорости перебора хэша Anroid/Telegram), а главное local code на Desktope/Telegram можно задавать «любой» длины и использовать любые символы.


Криптостойкость local code Desktop Telegram высокая, скорость brute force в 10k раз медленнее brute force local code Android Telegram.

Лично у меня складывается впечатление, что разработчики Telegram трудились над созданием уникального и защищенного своего протокола MTProto, а не над всесторонней конфиденциальностью пользователя, например, открытый кэш приложения, хранящийся в не под корневым каталогом Android или не криптостойкий local code Android, который, как оказывается восстанавливается с вероятностью 100%.

На момент написания статьи, JTR-ы, из коробки в свежих Kali Linux и Parrot Security OS имеют баги, не позволяющие парсить local code Telegram (JTR jumbo-1-bleeding всегда имеет какие-то баги, но его функционал развивается круче чем вы думаете, если вы думаете о ПО Hashcat). Итак, искушенный пользователь Kali/Parrot взломать восстановить Local code Telegram не сможет, в Windows JTR усеченный по функционалу — тоже не годится. Поэтому необходимо устанавливать на свою OS JTR c Github (для Linux-систем). Чтобы компиляция ПО JTR прошла успешно, до компиляции программы доставляете пакет в вашу OS «libssl-dev», далее

•	git clone git://github.com/magnumripper/JohnTheRipper -b bleeding-jumbo john && cd john/src
•	./configure && make -s clean && make -sj4
•	john/run/telegram2john.py userconfing.xml > хэш (если модуль telegram2john.py доставляете например в Kali Linux отдельно, тогда запускаете так: python telegram2john.py userconfing.xml > хэш)
•	JohnTheRipper/run/john хэш - -mask=?d?d?d?d

Результат последних двух команд – получение local code Android Telegram за две секунды.


Восстановлен local code Android Telegram. Pin 5369.

Аналогично и с брутом local code Telegram приложений Desktop Linux/Windows, вместо файла «userconfing.xml» указывается путь к каталогу Telegram:

(Linux): ~/telegram2john.py ~/.local/share/TelegramDesktop;
(Windows): ~/telegram2john.py «C:/Users/Name/AppData/Roaming/Telegram Desktop» (для устаревшего приложения Telegram на Windows);
(Windows): ~/telegram2john.py ”Telegram Desktop" (для обновленного приложения Telegram на Windows).

Обратите внимание, если вы повторно захотите распарсить local code Telegram, JTR выдаст «No password». Причина — пароль уже был найден ранее, Джонни – никогда не восстанавливает пароль по второму и последующему разу, для этого используйте опцию «- -show хэш», но иногда могут случаться баги, и опция — -show не отработает как надо (с другими хэшированиями такие баги встречал, но все уже поправили разработчики JTR). В таком случае загляните в файл ~/run/john/pot, все найденные пароли хранятся в нем, если его очистить, то можно повторно брутить хэши с найденными паролями.


John The Ripper не собирается повторно «пачкать руки в крови» о local code Android Telegram

файл userconfing.xml, который является мишенью JTR расположен в под корневом каталоге Android:

/data/data/org.telegram.messenger/shared_prefs/userconfing.xml

а значит добраться до файла можно имея root права, или через TWRP или с помощью digital forensics.

Подробный видео-мануал по восстановлению local code Telegram на Android/Linux/Windows ссылка в конце статьи.

Часть 2. Белые начинают и проигрывают. Угон секретных чатов в Telegram. Основано также на реальных событиях


Как базируется защита в Telegram:

  1. Ввод номер телефона;
  2. Получение смс, либо кода в приложении на другом устройстве – по желанию, ввод смс-кода или кода полученного в приложении на другом устройстве.
  3. Временная блокировка аккаунта при частом (в том числе успешном) залогиннировании пользователя.

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

Опциональная, базовая + усиленная защита Telegram:

  1. Ввод номер телефона;
  2. Получение смс, либо кода в приложении на другом устройстве – по желанию, ввод смс-кода или кода с приложения;
  3. Ввод cloud code Telegram (хранится на сервере Telegram и у вас в уме, сбрасывается/привязывается через e-mail);
  4. Установка local code (на Android-е, настройки — конфиденциальность и безопасность – код пароль);
  5. Проверка текущей/последних сессий входа в мессенджер;
  6. Выход из всех сессий кроме текущей;
  7. Очистка содержимого СЧ по таймеру;
  8. Запрет на скрин/запись экрана СЧ;
  9. Временная блокировка аккаунта при частом (в том числе успешном) залогиннировании пользователя;
  10. Как выяснилось при угоне СЧ (вход в чужую учетку с другого ip) временный бан реального/скомпрометированного аккаунта ~ через 5 минут и отмена СЧ в Telegram. В одной же сети реальной/скомпрометированной учетки, Telegram забывает банить за угон аккаунта.

Ниже я покажу, что СЧ уязвимы, один из таких СЧ я угоню (свой тестовый аккаунт в Telegram) и буду выдавать себя за пользователя «Хозяин»

После успешного восстановления local code Telegram я решил пощупать файлы рядом с файлом userconfing.xml на Android-е. Создал секретный чат, посмотрел какие файлы и в каких подкаталогах обновляются по времени. Попробовал скопировать эти файлы с OS Android 4.4.2 на другой гаджет с OS Android 6.0 (перенос файлов между гаджетами осуществлял через архивы rar; zip). Установил с GP последнюю версию Telegram на Android 6.0. Перенес c Android 4.4.2 > Android 6.0 обновленные файлы в аналогичные каталоги

/data/data/org.telegram.messenger/shared_prefs
/data/data/org.telegram.messenger/files
/data/data/org.telegram.messenger/no_backup

Согласно ворованной своей тестовой учетки Telegram восстановил права (какие были на 4.4.2) для каждого файла и папки персонально, операция не быстрая (у разных файлов самые разнообразные права), назначил UID GID «Telegram».



Запустил приложение. Тут же все ворованные файлы обновились по времени, а меня приветствовал экран «нового пользователя». Telegram вел себя так, как будто я новый юзер и предлагал зарегаться или войти через телефон (стандартная процедура при первоначальной установке Telegram на Android). То есть я не смог ворваться в чужую учетку. Подкрался еще и еще несколько раз с разных сторон, но в конченом итоге – фэйл.

Попробовал другой способ – бэкап тестовой учетки Telegram через Titanium backup.
Сделал бэкап приложения на Android 4.4.2, развернул бэкап 4.4.2. на Android 6.0.



Права на «ворованное» приложение, смена UID/GID не требуется – все сделает Titanium Baсkup. Запускаю Telegram скомпрометированной учетки на Android 6.0 и магия! Получаю запрос на ввод local code пользователя «Хозяин». Такой способ с Бэкапом предоставил обход двухфакторной аутентификации без танцев с бубном. Telegram со своей стороны запросил лишь local code от угнанной учетки. Отправляю украденный файл

/data/data/org.telegram.messenger/shared_prefs/userconfing.xml

на удаленную свою VDS Kali Linux, ставлю задачу на брут pin-кода и тут же получаю результат



Красным выделил (сверху вниз) полученные:

  • Хэш для JTR с помощью модуля telegram2john.py;
  • Восстановленный local code Android Telegram;
  • Джонни full time job (неприлично-высокая скорость brute force пароля, опцию — - -mask=?d?d?d?d, сообщающая Джонни чтобы он подбирал 4х значный цифровой код не включил, чтобы JTR разогнался и показал свою ярость скорость);
  • Запрос к JTR восстановленного local code.

Крутой Джонни! неправда ли?

Восстановив с помощью JTR Android local code Telegram, вошел c другого ip в чужой свой тестовый аккаунт, который изначально располагался на Android 4.4.2., а теперь скомпонованный на Android 6.0. При этом вижу все секретные чаты жертвы и всю переписку в них. Попробовал написать, в созданном ранее СЧ, пользователю Android 7.0 и сообщение успешно отправилось, юзер Android 7.0 отправил ответ, ответное сообщение было не просто получено, а получено на двух гаджетах: на Android 6.0 и на Android 4.4.2. Проверил, последние сессии входа, у реального пользователя отображался его ip и его гаджет Teclast Android 4.4.2 (настройки- конфиденциальность и безопасность-активные сеансы). У злоумышленника Android 6.0 в «активных сеансах» отображался девайс Teclast Android 4.4.2, ip Вирджиния. То есть реальный пользователь не получает информацию через «Активные сеансы», что его учетка была скомпрометирована, а получает «ложную» информацию, что он находится в сети с одного своего устройства и с одного своего ip.



Реальный пользователь через активные сессии не видит, что он скомпрометирован. В истории последних сеансов не фиксируются точки входа злоумышленника. Более того, в реальном аккаунте «Хозяина» я щелкнул «выйти из всех сеансов кроме текущего». Злоумышленника при этом не выкинуло из сеанса, независимо от онлайн/офлайн статуса атакующего.

Попробовал туже операцию относительно скомпрометированной учетки – результат аналогичен: «Хозяина» не выкинуло из Telegram, сессионные ключи прежние.

Может графические ключи СЧ индикатор безопасности? Ключи секретных чатов не индикатор безопасности, в данном эксперименте они все три бьются между собой.


Все ключи одинаковые в том числе и у скомпрометированной учетки.

Telegram заявляет, если ключи бьются на 2х устройствах, вы в безопасности — это не так. (Отступление. Сверять ключи все же нужно, после установки Telegram на Android и при создании самого первого СЧ, у пользователей СЧ отсутствовали слепки ключей, а графическое изображение ключа отличалось на устройствах. СЧ работал как обычно, что произошло я так и не разобрался, и это был единичный случай, когда ключи не бились между собой).

Вернулся к первому методу «copy-paste», который у меня изначально не получился.

Повторил все свои предыдущие шаги, добавив промежуточное 3-е действие.

1) Установил с GP последнюю версию Telegram.

2) Перенес каталоги с OS 4.4.2 на другой гаджет с OS 6.0 (перенёс только чувствительные данные. Приложение Telegram и другие его каталоги не копировал)

/data/data/org.telegram.messenger/shared_prefs 
/data/data/org.telegram.messenger/files 
/data/data/org.telegram.messenger/no_backup 

3) Удалил папку на Android 6.0, шах

/data/data/org.telegram.messenger/code_cache

4) Права не восстанавливал персонально, вместо этого, раздал всем вышеописанным каталогам «рекурсивно» права 777 (полный доступ). Назначил тем же каталогам владельца и владельца группы (UID/GID) «Telegram» (на самом деле «рекурсивно» в root каталоге плохо работает в TC, поэтому пришлось перепроверять назначение прав).

5) Вперёд! Запускаю Telegram в другой сети с другим ip – неудача, снова это приветствие нового пользователя на английском языке.

6) Вперёд! Перезапускаю Telegram, шах и мат! Telegram выдал предупреждение на ввод local code пользователя, который был на Androide 6.0 (и который восстанавливается с вероятностью 100%), при этом запросы со стороны Telegram на cloud code или смс отсутствовали и до сих пор отсутствует напрочь. Обход двухфакторной аутентификации, нет! обход End to end encryption Telegram выполнен успешно.

Результат: сообщения злоумышленника в СЧ так же успешно отправлялись от имени реального пользователя, и так же была доступна вся переписка СЧ. Спустя ~400 ударов моего тревожного сердца, опасения подтвердились: угнанная учетка была заблокирована Telegram-ом у злоумышленника и у реального пользователя; СЧ – отменен.


Временная блокировка учетки Telegram.

Авторизовавшись повторно в Telegram (иногда бан бывает на сутки, но мне повезло, почему-то в этот день все баны раздавались на секунды), у реального пользователя было все как обычно, а злоумышленник уже не мог снифить скомпрометированную учетку (сессионные ключи обновились).

Несколько официальных утверждений Telegram мне удалось опровергнуть


telegram.org/faq – «СЧ могут быть только на устройствах происхождения СЧ».
Я – «как видите СЧ могут быть не только на устройствах происхождения СЧ, но и на устройствах, где имеется Root и ключ СЧ, независимо от версии OS Android».
telegram.org/faq – «Вы можете сравнить это изображение (примечание: изображение СЧ ключа) с тем, которое имеет ваш друг — если оба изображения одинаковы, вы можете быть уверены, что секретный чат безопасен»
Я – «нельзя быть уверенным, что чат безопасен».
telegram.org/faq – «Мы также рекомендуем включить двухэтапную аутентификацию и установить сильный код доступа для блокировки вашего приложения, вы найдете обе опции в настройках — Конфиденциальность и безопасность».
Я — «Сильный код доступа установить можно только в приложении Telegram Desktop Linux/Windows, но не pin в приложении на Android»
telegram.org/faq – «Пользователь с корневым доступом может легко обойти функции безопасности, встроенные в операционную систему, прочитать память процесса или получить доступ к ограниченным областям, таким как внутреннее хранилище. Как только у злоумышленника есть доступ к корню, любые усилия по смягчению угроз становятся бесполезными. Никакое приложение не может быть названо безопасным в этих обстоятельствах, независимо от того, насколько сильно шифруется».
Я – «Или восстановить local code Android и получить/клонировать учетку. С каждой новой неверной попыткой ввода pin, Telegram увеличивает время ожидания между попытками ввода pin. Видимо, таким алгоритмом Telegram удовлетворен в защите пользователя от ручного brute force 10^4 всевозможных комбинаций pin-ов, но удовлетворен ли пользователь, когда его легко так скомпрометировать? Если разработчики Telegram хотели бы смягчить угрозы в этих обстоятельствах, они могли бы это реализовать ни как временную блокировку на несколько секунд на неверный ввод local code, а заменить на Telegram Android-е функцию pin на password, с шифрованием PBKDF2 — это сильно замедлит атаку brute force. Как пример хорошей защиты – password на вход в зашифрованную БД паролей Keepass2Android.
telegram.org/faq «Вы можете получать доступ к сообщениям в секретном чате из своего устройства происхождения. Они безопасны до тех пор, пока ваше устройство безопасно в вашем кармане».
Я – «Вот где, оказывается правда!»

Выводы


  • Local code Telegram (pin) на Android-е взламывается в JTR мгновенно и c вероятностью 100%, это ведет к последствиям: угон секретных чатов, вскрытию переписки СЧ, выдавание злоумышленника за реального пользователя. Защита от этого «трюка» — временный бан от Telegram и новые сессионные ключи для реального пользователя.
  • Операция по угону СЧ схожа с воровством cookie + взлом pin + «заморочка с правами» если использовать метод «copy-paste».
  • Для восстановления pin-а Telegram на Android-е, необходимо работать с файлом приложения мессенджера расположенным в

    /data/data/org.telegram.messenger/shared_prefs/userconfing.xml

    Добраться до чувствительных файлов можно, имея root права, или через TWRP или с помощью digital forensics.
  • Часто пользователи ставят local code на Telegram Desktop-e такой же, как pin на Android-e — это ловушка, 4х значный local code Telegram на Windows/Linux перебирается <1минуты, а доступ к ПК получить зачастую проще, чем доступ к гаджету.
  • Разработчики Telegram должны заменить «pin» на Android-е на «password», с криптостойким шифрованием (как реализованно на Telegram Desktop-e или в других мобильных приложениях, например Keepass...) используя PBKDF2, таким образом проблема будет фактически решена.
  • security@telegram.org, да и в целом техподдержка в Telegram, как сервис реагирования и взаимодействия пользователь-разработчик не на высоте.
  • За период «молчания» Telegram выпустил обновление в GP, но обновление плановое и было связано с Passport telegram, также выходило еще обновление, но уязвимость, которую я продемонстрировал в данной статье все еще действует и любой желающий может воспользоваться ей.
  • На баг-репорт (обнаруженную уязвимость) Telegram ни как не отреагировал.

Демонстрация восстановления local code Telegram на Android/Linux/Windows.


Демонстрация уязвимости секретных чатов Telegram.


P.S.: дата/время на отдельных скринах или скрин-видео может не совпадать, так как эксперименты в Telegram и скрины делал по ходу написания статьи, а из-за раздачи банов Telegram-ом статья писалась несколько дней.

P.P.S.: в комментариях некоторых пользователей интересует свойства root-прав. Имея зашифрованные: переписку писем почтового приложения своим gpg/pgp ключом, или БД паролей keepassdroid, или обычный текст в запароленном архиве rar. Это «невозможно» вскрыть злоумышленнику/правоохранителю даже если у него полный root и ваш разлоченный гаджет. В Telegram Android по умолчанию с pin, можно сдампить всю переписку и все СЧ с вероятностью 100% успеха.
Так же в комментариях был совет использовать local code на Android-e «password» вместо pin. Будьте осторожны (нужно ставить сложный пароль), хэш остается уязвимым быстрым, и брут такого пароля перебирается (только на CPU) со скоростью ~5 миллионов паролей/с, для сравнения хэш архива RAR перебирается со скоростью ~100 паролей/с.

Комментарии (80)


  1. aamonster
    07.08.2018 19:14
    +22

    Чувак, о чём всё это? Если у тебя есть полный контроль над андроидным телефоном (рутованный же) — то опаньки, все данные приложения доступны, и оно ничего не может с этим поделать (разве что заставить пользователя на каждый чих вводить достаточно сложный пароль и шифровать всё им — и то никаких гарантий, что его не перехватит кейлоггер).
    Решается только аппаратно — выделить какой-то модуль, данные из которого недоступны без аутентификации (и который, к примеру, сам проверяет отпечаток пальца или сам препятствует попыткам подбора pin-кода). Это есть в современных iOS устройствах (Secure Enclsve) и в каких-то андроидных посерьёзнее (Trusted Execution Environment (TEE), Secure Element (SE)).
    Хорошо бы знать, использует ли их Телеграм, если они доступны.


    1. geisha
      07.08.2018 21:28
      +13

      Чувак, о чём всё это?
      Сбрутил пин из четырех цифр, вытащив хэш с рутованного устройства.


      1. aamonster
        07.08.2018 23:04
        +1

        Ну да. Я и охреневаю: он что — с самого начала не знал, что это можно сделать?


        Хотя, кстати, я подумал — всё-таки можно сделать защиту. Если pin будет не к локальному ключу, а ко второму, хранящемуся на сервере. Который используется для шифрования локального ключа. Тогда можно ограничить скорость подбора. Но это отход от e2e, защита начинает зависеть от сервера. Плюс работа только в онлайне, плюс, как тут уже сказали "если устройство скомпрометировано"...


        1. geisha
          07.08.2018 23:36
          +4

          Ну да. Я и охреневаю: он что — с самого начала не знал, что это можно сделать?


          Знать — одно, а сделать — совершенно другое. Я бы посоветовал автору писать нормальным языком и выражаться прямо. Очень уныло читать вначале, если честно (обида, ИМХО, вот это вот всё). А так — исследование имеет право на существование.


    1. saboteur_kiev
      08.08.2018 09:56
      +5

      Поддерживаю.

      Я вообще предполагаю, что если я под виндой просто скопирую папку с телеграмом(и профайлом юзера) на другой комп и просто запущу — то все должно работать. Даже буду удивлен, если это не так.

      На самом деле, самый важный момент в статье — что Телеграм не отобразил в списке сессий еще один левый сеанс. Это явная недоработка и уязвимость протокола.


      1. ne555 Автор
        08.08.2018 10:05
        +1

        Я вообще предполагаю, что если я под виндой просто скопирую папку с телеграмом(и профайлом юзера) на другой комп и просто запущу — то все должно работать. Даже буду удивлен, если это не так.
        Об это и речь, что на другом ПК для доступа к скопированной учетке Telegram нужно ввести local code, который криптостойкий и Вы не сбрутите его. Поэтому не войдете в Telegram с другого ПК.


        1. aamonster
          08.08.2018 11:12

          Точно не помню, что и как под виндой, но вроде системное хранилище ключей привязано к компьютеру, и его копирование представляет определённую сложность (но ничего такого, с чем нельзя справиться). В MacOS — точно именно так и сделано. Так что если программа пользуется системным хранилищем ключей — такая атака несколько затрудняется.
          В iOS (на относительно новых девайсах) вообще всё ещё лучше — есть отдельный аппаратный Secure Enclave, который вы так просто не скопируете.
          В Android ситуацию толком не знаю (хотя при случае спрошу у коллег из андроидного отдела), гугл выдаёт умные слова Trusted Execution Environment (TEE), Secure Element (SE) — но, как я понимаю, они не на всех девайсах есть.


        1. saboteur_kiev
          08.08.2018 14:25

          Я не помню чтобы я вводил какой-либо local code на Windows клиенте…


      1. anonymous
        08.08.2018 11:42

        На самом деле, самый важный момент в статье — что Телеграм не отобразил в списке сессий еще один левый сеанс. Это явная недоработка и уязвимость протокола.
        Как вроде бы описано в статье, копирование всей папки телеграма привело к тому, что и файлы хранящие активные ключи сессии были скопированы. Зачастую, эти ключи самодостаточны и содержат информацию о клиенте, в том числе и мета-информацию о устройстве. Соответственно, сервер не нашёл отличий между подключениями, т.к., видимо, информация о сессии не хранится в объекте подключения, а в этих ключах. Хотя, судя по статье, сервер через какое-то время заметил несовпадения при копи-пасте, но не сделал этого при бэкапе. Здесь явно где-то баг.


      1. Stalker_RED
        08.08.2018 13:13

        >> что если я под виндой просто скопирую папку с телеграмом(и профайлом юзера)
        Если скопировать хром с профилем или стим например, то они начнут сигналить, мол «произведен вход с другого устройства, а давайте-ка мы это подтвердим»

        А телега просто молча работает, но называет себя очень секьюрной.


  1. vics001
    07.08.2018 19:14
    +10

    Я правильно понял, что подход заключается в том, чтобы склонировать Android устройство и показать, что Telegram не проверяет, что клонированное устройстово не является автором секретных ключей. Cложно поверить, что это представляет хоть какой-то интерес, потому что любое устройство так же уязвимо.

    Меня честно говоря не интересует реклама безопасности и приватности, потому что абсолютной безопасности не существует. Больше интересен «вектор атаки»: злоумышленник может получить root к Android устройству и тем самым угнать сессию. Единственной защитой представляется: 1) whitelisting IP addresses 2) включение в протокол проверки, что IP адрес связан с сессионным ключом 3) запрос пароля — токена при любой смене IP


    1. ebragim
      08.08.2018 02:33
      +5

      Как раз проверяет, но в статье это мягко обошли. Через «400 ударов сердца» — это 5 минут или 10? — сервера заметили коллизию и сбросили всем коннект, вызвав генерацию новых ключей.


      1. NINeOneone
        08.08.2018 11:24

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


  1. GH0st3rs
    07.08.2018 19:18
    +3

    В Андроид версии, ЕСТЬ возможность установить произвольный пароль, для тех кому мало 4х значного PIN


  1. Alex_Q
    07.08.2018 19:19
    +33

    Я то думал, успешный MITM, а тут атака из серии «забрали телефон у спящей жертвы».


    1. makdoc
      07.08.2018 21:29

      Поправьте если я не прав, но насколько я осведомлен, есть возможность получить удалено доступ к телефону и провернуть все пока жертва спит.


      1. shifttstas
        08.08.2018 00:02

        Если телефон без рута и на нем последние обновления ПО, то как?


        1. Protos
          08.08.2018 04:38

          Видимо через Троян


          1. shifttstas
            08.08.2018 07:47

            Как троян будет работать без рута?


            1. Protos
              08.08.2018 09:06
              +1

              Проэксплуатирует одну из уязвимостей для повышения привилегий благо очень малый процент устройств на Android имеет security патчи либо в принципе поддерживает обновления


              1. shifttstas
                08.08.2018 09:15

                Чуть выше я написал про последнюю версию ПО, и опять же — дырявость/медленное обновление Android — это проблема платформы а не телеги


                1. Protos
                  08.08.2018 09:28

                  Проэксплуатирует уязвимость которая не опубликована


                  1. shifttstas
                    08.08.2018 09:29
                    +2

                    И какое по в ваших условиях нельзя будет «взломать» ?


                1. Protos
                  08.08.2018 09:33

                  Ну и кстати стоит разделять 4 я и указал: последние обновления ПО опять же это самая свежая версия ОС или последняя не свежая доступная для конкретного телефона, она же тоже последняя


                  1. shifttstas
                    08.08.2018 09:34

                    Очевидно без привязки к устройству, какой смысл смотреть на дырки в win95 ?


                    1. Protos
                      08.08.2018 09:55

                      Что значит какой смысл, у меня есть телефон с версий 4.х, и он уже годами не обновляется, патчи безопасности не выходят, таких пользователей миллионы, банки даже не блокируют доступ к своим ДБО и мобильным приложением зная что у них ~16-20% таких пользователей — принимают риск что у клиента сопрут деньги, не заставлять же его новый телефон покупать


                      1. shifttstas
                        08.08.2018 09:58
                        -1

                        Это проблема вашего вендора и вашего выбора данного вендора, берём пример Apple, 5S вышел в далеком 2013 году (5 лет карл!) и он поддерживает самую новую iOS, насколько мне известно с Galaxy от Samsung тоже все неплохо с обновлениями


                        1. Protos
                          08.08.2018 10:54

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


                        1. Protos
                          08.08.2018 10:55

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


                        1. nafgne
                          08.08.2018 11:32

                          У Galaxy всё очень плохо с обновлениями.


  1. Fracta1L
    07.08.2018 19:25
    +16

    Я не эксперт в безопасности, но статья почему-то напомнила посты типа «смотрите как я взломал Линукс простым редактированием конфига grub и перезагрузкой!»


  1. tgz
    07.08.2018 19:26
    -1

    Волшебно!


  1. Error1024
    07.08.2018 21:09
    +2

    А где уязвимость то?
    Автору: а ещё приложения можно декомпилировать!


    1. ValdikSS
      08.08.2018 03:13
      +7

      И даже отлаживать, и воровать ключи шифрования из памяти! ШОК!


      1. saboteur_kiev
        08.08.2018 09:59
        +1

        На мой взгляд, автор не понял где именно он обнаружил уязвимость.

        Меня смутил только один момент — что сидя с двух устройств, телеграмм показывал только одну сессию. То есть MTProto не отслеживает, что сессия идет с разных IP/разных устройств. IMHO это все-таки уязвимость протокола.


        1. ivanrt
          08.08.2018 12:45

          Телефоны часто меняют ip. Замучишься удалять сессии для каждого старого ip.


          1. vics001
            08.08.2018 13:21

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


    1. 2ruslank
      08.08.2018 09:02

      зачем? исходники то открыты.


  1. makdoc
    07.08.2018 21:31
    -1

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


    1. anonymous
      07.08.2018 21:52
      +8

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


  1. shifttstas
    08.08.2018 00:07
    +3

    Гм, мне всегда казалось, что пароль при вхоже в приложения должен ещё сузить список доверяемых лиц (условно если разблокироваться телефон может еще кто то помимо вас а вот в телегу пускать вы его не готовы)


    Но есть одно маленькое но, точнее даже два:
    1) атакуемое устройство доложено быть разблокировано
    2) должен быть root доступ


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


    Тогда я не понимаю в чем тут взлом, точнее говоря его нет от слова совсем и отсутствие реакции команды телеграмм вполне оправдано.


    А статью можно сократить до 3 пунктов:
    Взламываем любое приложение!


    1. Делаем полный бэкап телефона
    2. Восстанавливаем его на точно таком же телефоне
    3. Мы взломали %appname% !


    1. ne555 Автор
      08.08.2018 00:46
      -2

      Но есть одно маленькое но, точнее даже два:
      1) атакуемое устройство доложено быть разблокировано
      2) должен быть root доступ


      если Вы об Android устройстве, то по умолчанию они не все шифруют свои данные, это уже уязвимо.
      Такие устройства (изьятые правоохранительными органами) делают бэкап (монтируют раздел, скачивают файлы) до загрузки OS, цифровая форензика (в статье я упомянул об этом).
      Windows например тоже не каждый 2й пользователь шифрует Veracrypt к примеру, а обойти пароль на вход windows и скачать Telegram (потом его распарсить JTR, если там код 4цифры) любая live-usb подойдет.

      Делаем полный бэкап телефона
      Восстанавливаем его на точно таком же телефоне
      Мы взломали %appname% !

      Толсто конечно, но отвечу. Сделайте бэкап KeePassDroid, разверните на любом гаджете и получите запрос на ввод пароля, который Вы в ближайшие несколько лет не узнаете (если сегодня приступите ко взлому).

      Тогда я не понимаю в чем тут взлом

      Потому что статью не читали.


      1. Protos
        08.08.2018 04:42
        +1

        Нет панацеи, Элкомсофт официально продает софт для обхода Veracrypt для конкретных случаев, типо как здесь нужен root, так и для обхода Veracrypt нужны условия


      1. shifttstas
        08.08.2018 07:48

        Т.е дырка скорее в системе которая не шифрует данные получается, а не в прикладном ПО


      1. dartraiden
        09.08.2018 01:59

        если Вы об Android устройстве, то по умолчанию они не все шифруют свои данные

        Если мне не изменяет память, force encryption (включение шифрования при установке пароля на блокировку экрана) — обязательное требование для сертификации современных Android-устройств.

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


        1. dragoangel
          09.08.2018 13:25

          поставил бы плюс если бы мог =)


        1. ne555 Автор
          10.08.2018 00:47

          Такой вариант популярный обошли, прошивки на основе исходных кодов Lineage (RR) и др, дает свободу: изначально GP там нет (для параноиков), шифрование по умолчанию не включено, root, который при правильной настройке дает права.
          К примеру под windows вы же не от учетки «гость» работаете, а root, в linux постоянные вызовы от root требуются. Так и на Android-e без root, ограничено все, но немного безопасней и неудобней.


    1. SergeyMax
      08.08.2018 12:10
      +1

      А статью можно сократить до 3 пунктов:
      Делаем полный бэкап телефона
      Восстанавливаем его на точно таком же телефоне
      Мы взломали %appname%!

      Как-то слишком сложно. Почему бы просто не посмотреть содержимое чатов, заглянув через плечо владельца телефона? Шах и мат, горе-криптографы!


  1. ebragim
    08.08.2018 02:39
    +8

    Автор, а ещё на рутованное устройство можно поставить кейлоггер и запись скринов из конкретного приложения, что гораздо проще и даст тебе содержимое не только сохранённых секретных чатов, но и чатов с самоудаляющимися сообщениями.
    И что, вы это тоже уязвимостью обзовёте?
    Ещё можно методом терморектального криптоанализа узнать у пользователя содержимое чатов, ужас то какой!

    А если серьёзно, то «уязвимость» не имеет реального применения. Вам надо соблюсти кучу условий: прямой доступ к рутованному девайс для скачки файлов телеграма, разблокировка девайса, сам рут устройства — что уже позволяет просто взять и прочитать нужные сообщения или установить ПО для записи и отправки их вам потом… И всё ради чего? 5 минут чтения переписки, после чего файлы становятся бесполезными?


    1. ne555 Автор
      08.08.2018 08:34
      -1

      запись скринов из конкретного приложения
      На Android >5 Telegram предупреждает хозяина о записи экрана (на видио есть моиент)
      не имеет реального применения
      Изьяв гаджет правоохранители получат доступ ко всей переписке в том числе и СЧ, но то, что зашифровано по настоящему (например своим ключом gpg письма из почты) не расшифруют.
      И всё ради чего? 5 минут чтения переписки, после чего файлы становятся бесполезными?
      за 5 минут можно сдампить всю переписку Androida, получить бан от Telegram, и дальше работать с кэшем, т.е. вся переписка остается на телефоне злоумышленника (разве кому-то понравится, что его переписку читают?).

      Почему-то ни кто не поинтересовался кроме переписки что происходит в таком случае (скомпрометированном СЧ Android) со звонками, или с файлами…


      1. EviGL
        08.08.2018 19:54

        На Android >5 Telegram предупреждает хозяина о записи экрана

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


  1. sbh
    08.08.2018 07:38
    +3

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


  1. gecube
    08.08.2018 09:00
    -1

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


    Я очень удивлен, что секретная сессия не привязана к какому-либо уникальному идентификатору устройства (хотя бы imei). Понятно, что и это можно отломать ) но поверхность атаки резко уменьшается, а ее сложность — возрастает.


    С другой стороны, если кем-то заинтересовались органы, то есть у них есть способы получить желаемое и не через телеграм. И в этом случае пора заматываться в простынку и ползти в сторону кладбища, а не рассуждать о безопасности ТГ


    1. shifttstas
      08.08.2018 09:16
      +1

      А кто вам даст доступ к IMEI? Идеология сейчас такая, что приложения не должно иметь возможности однозначно идентифицировать пользователя


      1. gecube
        08.08.2018 10:19

        Приложение может идентифицировать пользователя — хотя бы по учетным данным google account (иначе как можно «восстановить» свои покупки в условно-бесплатных программах?).
        Насчет IMEI — наверняка есть способ получить уникальный идентификатор устройства (любой). К сожалению, я давно не следил за этой темой, поэтому либо придется сидеть и изучать вопрос, либо положиться на Ваше мнение.


        1. shifttstas
          08.08.2018 15:26

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


          Восстановление покупок кстати там завязано на внутренние API платформы и приложению не возвращается статус что за пользователь, а только есть ли данный контент или нет



    1. Groosha
      08.08.2018 11:25
      +2

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

      Автор переносит приложение с одного смартфона на другой, делая "слепок" всего состояния, включая ключи. e2e как было, так и есть.


  1. Gordon01
    08.08.2018 09:37

    1) Секретные чаты не должны работать на рутованых устройствах
    2) Секретные чаты должны быть привязаны к уникальному идентификатору оборудования
    3) Смешно, но получается, что приложение сбербанка для android защищено лучше telegram.

    Корпорации: Хипстеры
    1:0


    1. Ilyasyakubov
      08.08.2018 10:17
      +1

      Была похожая история с 1Password и Сбербанком. Дело в том, что начиная с iOS10 приложениям разрешили проверять были ли добавлены новые отпечатки пальцев для разблокирования с момента последнего запуска. Сделано это для того, чтобы исключить атаку когда злоумышленник завладев iPhone и ЗНАЯ pin пользователя, мог добавить свой отпечаток и попасть в приложение.
      Молнеиносно среагировали разработчики Сбербанк, обновив свое приложение всего через пару недель после релиза iOS10. А вот канадские «хипстеры» из Agilebits закрыли «дыру» только через полтора года после выхода iOS10 и через год после того как им первый раз написал я. Самое интересное, что в ответных письмах канадцы писали, что знают о новой функции, но не хотят её добавлять из-за большого числа пользователей, которые один раз придумали пароль, включили разблокирование по отпечатку и навсегда забыли пароль. Якобы такие пользователи потеряют доступ к сейфу в будущем.
      Пришлось пользоваться 1password с оглядкой на «дыру», я даже pin на телефоне сделал 6-значным.


      1. springimport
        08.08.2018 17:20

        Вы о чем, многие банки не имеют двухфакторной аутентификации когда даже у приватбанка это года с 2012.
        В СНГ все таки очень развито it, многие это не замечают.


    1. aamonster
      08.08.2018 21:12

      1 — к сожалению, на нерутованном устройстве порой нельзя обеспечить ни удобство, ни безопасность.
      Помнится, когда у меня был смартфон на android 4.4 — я охренел от наглости сберовского приложения, возжелавшего читать мои sms (в 4.4 ещё нельзя было просто отказать приложению в этом — если у тебя нет root).


  1. dragoangel
    08.08.2018 10:58

    Можно юзать не пин, а пароль. Да и если у тебя root или разлоченый бутлоадер или не шифрованный телефон то о какой бесопасности личных данных вообще можно говорить?!
    Все вышесказанное касается Android


    1. dragoangel
      08.08.2018 11:04

      1. dragoangel
        08.08.2018 11:28

        Two-Factor авторизация — маст хев в любом случае.


    1. ne555 Автор
      09.08.2018 11:43
      +1

      Можно, но по умолчанию local code в Telegram стоит pin, многие ли пользователи знают, что pin Telegram взламывается (мгновенно)?, к тому же алгоритм атаки на шифрование доступен лишь с прошлого месяца.
      «Юзать пароль» можно, но шифрование осталось прежним (не криптостойкое) и например буквенно-цифровой пароль из 8 символов восстанавливается до ~14ч. (cpu+gpu, я проверил).

      Поэтому рекомендация для разработчиков Telegram остается прежняя (написал в выводе статьи).


      1. dragoangel
        09.08.2018 12:07

        Давайте говорить по теме:
        1. То что по дефолту вам предлагает любой софт зачастую не безопасно в пользу «удобства», нужно думать самому вам нужна безопасность или простота.
        2. Перебор 8 символов по словарю или только цыфренно-буквенный, или вообще возможные комбинации ASCII символов? Это ведь кардинально меняет время под брутфорс.
        3. Двухфакторка это маст хев любого кто дорожит безопасностью, и она же = спасение в данной ситуации. Жаль только что нету поддержки TOTP со стороны Телеграма. Перехват сим-карт становится все популярней.
        4. То что я писал выше: файл не доступен на залоченом даже зарутованом устройстве. Если вы отдаете разлоченый телефон без шифрования /data или с рутом (опять таки разлоченый) или с разлоченым загрущиком другому человеку то кто вам доктор? Вы делаете всю ОС уязвимой, и поверьте не только Телеграм, тут Вы виновны делаете уязвимость, а не они. Я уверен что та же розблокировка по отпечатку пальца на розлоченом рутовом телефоне может скомпрометировать телеграм и другие приложения. С таким же успехом можно пытать человека паяльником и он сам все роскажет. P.S. У меня пароли где это возможно 32 символа вплоть до ASCII вида: «2yA??yo.?Pu4A%5O^a:&r&µy±dxeQ*?b» потому что я их пофиг не ввожу руками, брутфорсьте на здоровье.


        1. ne555 Автор
          09.08.2018 12:34

          2. Меняет кардинально, в посте я упомянул спецсимволы или словари? нет.
          4.Можно и паяльником пытать, но на сколько я знаю по закону в РФ пытки запрещенны, а изьятие, (правоохранителями) гаджетов разрешено.
          То, что Вы пользуетесь паролями 32 символами, не делает Вас среднестатистическим юзером Телеги.
          Приложили скрин, получили ответ. Спасибо.


          1. dragoangel
            09.08.2018 12:59

            2. Вы всеравно не ответили какой шаблон использовали при брутфорсе в 8 символов. Такой сложный вопрос?
            4. Ну вы и наивный. Ну да ладно припустим что мир идеальный и у нас никого не избиваю/пытают, опять так предположим что они чесно изымают телефон и что они получат от среднестатистического пользователя:

            • Рута нет, бутлоадер девственно залочен
            • Телефон залочен под пароль и отпечаток пальца
            • Припустим они как последние негодяи разблокировали вашим пальцем телефон без вашего на то разрешения (всеравно нарушили закон)
            • /data/data без root не достать, что бы поставить root нужно либо А: найти експлойт для вашей ОС, что на Android 7+ сложновато либо ставить кастомный рекавери для которой нужно розлочить загрущик что произведет к Wipe всей Userdata
            • И вишенька на торте: автор не просто показывает что с помощью этой уязвимости можно прочитать чужие СЧ, он еще й говорит о том что это можно делать «незаметно», как вы все это незаметно провернете с чужим телефоном украв его минимум на пол часа?

            5. То что я юзаю 32 значные пароли и вправду не делает меня среднестатистическим юзером телеграма, но и наличие root прав на телефонах и полностью скомпрометированых заводских мер безопасности ОС Android тоже не подпадает под характеристику среднестатистического юзера телеги.


  1. apapacy
    08.08.2018 12:14
    -3

    Я не нуждаюсь в каких то секретных чатах и даже не сильно опасаюсь что мою переписку просто прочитать. Но Телеграфом не пользуюсь тк немного напрягает какое-то просто гугллвское стремление заполучить номер моего телефона. Зачем он ему?


  1. Delphinum
    08.08.2018 16:14

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


    1. dartraiden
      09.08.2018 02:08

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


  1. Xaliuss
    08.08.2018 16:53

    ИМХО уязвимость может заключаться разве что в незаметном клонировании. То есть злоумышленник (спецслужбы после ареста и т.п.) может читать чаты, а хозяин устройства не подозревать о взломе. И это может касаться не только секретных чатов. В первом сценарии взлома описанном в статье не указано явно, прошел ли бан аккаунта от телеграмма (во втором 5 минут). С учетом того, что кнопка выйти на других устройствах не помогает, то нужно будет или выполнить полный сброс приложения, или сделать это с другого устройства.

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


  1. BingoBongo
    08.08.2018 17:27
    -2

    А пафосу то в начале сколько было…


  1. apapacy
    09.08.2018 11:08

    Может быть кто нибудь объяснит мне в чем прикол секретных чатов телеграмм? Если вы обменивается по протоколу типа https то вас читать никто кроме самого телеграмма не сможет. Если же вы используете какой то дополнительный уровень касторового шифрования то это ещё ничего не гарантирует. Могут использоваться некриптостойкие генераторы ключей, методы шифрования с бэкдорами и тому подобное. Я бы сказал что единственное что вы делаете создавая секретный чат это помечается ваш диалог как потенциально интересный для его прочтения


    1. saboteur_kiev
      09.08.2018 17:39

      MIM сможет


  1. combonik
    09.08.2018 14:57

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

    Единственная полезная часть — elegram2john.py


    1. ne555 Автор
      09.08.2018 15:18

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


  1. evgenWebm
    09.08.2018 17:11
    -3

    Автору спасибо за пост.
    Ещё один камень в ложь Дурова о исключительной безопасности Телеграмма.
    Хорошая программа, с хорошим уровнем безопасности, но вот ложь о уровне безопасности немного раздражает.
    Дюв комментариях, пользователи, на рефлексе защищают телеграмм. Хотя автор все свои утверждения подтвердил фактами.


  1. dmitry_dvm
    10.08.2018 10:08
    +1

    Такое ощущение, что большинство комментаторов за деревьями не видят леса.
    Берём некоего "нарушителя", сажаем в ИВС, забираем ремень, шнурки и телефон. Клонируем телегу, возвращаем вещи и отпускаем.
    "Нарушитель", не видя явных следов взлома и считая правоохранительной дебилами, юзает дальше свои СЧ, а мы их параллельно читаем, а при необходимости ещё и пишем. И телега не замечает что у приватного чата внезапно 3 участника, из которых 2 — одинаковые. Если это не уязвимость телеги, то что это?