Скрытное использование локальной копии Telegram +1


Привет.

На днях мой друг системный администратор готовился к полету и скопировал линукс с десктопа себе на ноутбук.

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

Десктопный клиент имеет возможность задать парольную фразу при запуске приложения. Сессия активна от 1 минуты до 5 часов, выставляется в настройках. После неактивности за этот период приложение заново запрашивает парольную фразу. Таким способом можно защититься от ленивого угонщика. Предполагаю, что локальные данные не шифруются этой парольной фразой и достаточно пересобрать Telegram приложение с отключенной этой функциональностью и войти без ввода парольной фразы. Необходимо изучить код, чтобы сказать точно.

Web версия аналогичное поведение.

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

Мобильный клиент, проверил на Android, тоже имеет возможность задать парольную фразу.
Здесь поведение, вроде бы, иное. Я установил парольную фразу. Свайпнул приложение, чтобы закрыть его. Запустил заново и парольная фраза не запросилась. Похоже, что таймер на блокировку хранится на диске. Вероятно понятно почему так, Android может закрывать приложения для экономии памяти, чтобы этот таймер работал корректно. Но получается, что если сделать копию пока приложение разблокировано, то копия не запросит парольную фразу.

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

Угнать данные с мобильного, имхо не так просто. Если не предполагать, что все мобильные девайсы с закладками и это сделать элементарно при необходимости. Мобильное устройство перемещается и меняется IP адрес, и копию легче увидеть в сессиях, если вы туда заглянули. И если угонщик не ваш мобильный оператор или провайдер.

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

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

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




К сожалению, не доступен сервер mySQL