LINUX.ORG.RU

Защитить Телеграм от кражи сессии (защитить файл tdata)

 


0

3

Телеграм хранит сессии в файле /home/<Имя пользователя>/.local/share/TelegramDesktop/tdata

Если этот файл украдёт злоумышленник, то он украдёт и учётку. Появилось желание защитить этот файл от кражи.

Какие методы защиты вы можете предложить?

На ум приходят:

  1. Шифрование каталога ~/.local/share/TelegramDesktop/ Но с помощью каких инструментов это сделать? Важно именно предотвратить кражу. Т.е., как я понимаю, нельзя зашифровать, перед запуском ТГ расшифровать. Т.к. в таком случае могут украсть данные. Файлы как-то должны быть всегда зашифрованы для всех, кроме приложения ТГ
  2. Создать отдельного пользователя для ТГ и запускать ТГ от этого пользователя. Тем самым основной пользователь не сможет иметь доступа к каталогу ~/.local/share/TelegramDesktop/. Но тут возникли проблемы:
Authorization required, but no authorization protocol specified

qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland, wayland-egl, xcb.```

Т.е. надо будет ещё как-то запускать Gnome для пользователя telegram?


★★★

Создать отдельного пользователя для ТГ и запускать ТГ от этого пользователя.

This. Если не доверяешь своему пользователю, это традиционный вариант.

kaldeon
()
Ответ на: комментарий от iljuase

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

Отдельный пользователь в данном случае какой-то особой безопасности не добавляет.

anonymous
()
Ответ на: комментарий от anonymous

Почему не добавит? У меня браузер и всё остальное работает от имени пользователя Vasya (к примеру). Телеграм будет работать от пользователя telegram.

И если вдруг кто-то найдёт уязвимость в каком-то приложении, либо просто внедрить вредоносный скрипт, он это сделает для пользователя Vasya, который не будет иметь доступа к файлу tdata. Т.е. Tekegram-сессии не украдут.

Понятное дело, если кто-то захочет прям взломать по-серьёзному, это не особо поможет. Но вот от автоматических скриптов для кражи данных это должно защитить.

iljuase ★★★
() автор топика
Ответ на: комментарий от iljuase

Но вот от автоматических скриптов для кражи данных это должно защитить.

Скрипт тебе поправит $PATH и накидает обёрток для sudo, su, pkexec и прочих runuser с $LD_PRELOAD для полного спектра удобств. Честно говоря, я всего-то имел в виду, что ты защищаешься от очень гипотетической проблемы. А если нет, то выше уже назвал нормальные решения.

anonymous
()

.local/share/TelegramDesktop/tdata

сейчас не помню, но могу домой прийти помотреть - по моему вроде как это все в /.config живет, дело в том что у меня и /.config и /.local в tmpfs и что бы пользоваться телегой и не регистрироваться каждый раз = копирую заренее сохраненую дирректрию, но вроде как в /.config копирую - точно не помню, очень редко пользуюсь этим гамном, а сим карта на которую все это оформлена вообще потеряна и заблокирована - такая вот безопасность.

anonymous
()

Сделал. Если кому интересно:

  1. Создаём пользователя TG sudo useradd telegram
  2. Копируем каталог TG: sudo cp -r /home/vodka/.local/share/TelegramDesktop /home/telegram/.local/share/
  3. Меняем права sudo chown -R telegram:telegram /home/telegram/.local/share/TelegramDesktop
  4. Убираем права у other на всякий случай:
sudo chmod -R o-r /home/telegram/.local/share/TelegramDesktop
sudo chmod -R o-w /home/telegram/.local/share/TelegramDesktop
sudo chmod -R o-x /home/telegram/.local/share/TelegramDesktop
  1. Выключаем shell sudo usermod -s /usr/sbin/nologin telegram
  2. Даём безпарольный запуск ТГ (sudo visudo): vodka ALL=(ALL) NOPASSWD: /usr/sbin/runuser -u telegram /opt/telegram/telegram
  3. Прокидываем дисплей: в «./.bashrc» добавляем xhost +SI:localuser:telegram &>/dev/null
  4. Удаляем старый каталог /home/vodka/.local/share/TelegramDesktop
iljuase ★★★
() автор топика
Последнее исправление: iljuase (всего исправлений: 3)

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

anonymous
()

Телеграм хранит сессии в файле /home/<Имя пользователя>/.local/share/TelegramDesktop/tdata. Если этот файл украдёт злоумышленник, то он украдёт и учётку.

Так а ты проверял это? С 99% утверждаю, что если скопировать эту директорию на другой компухтер, то телеграм запросит авторизацию т.к он по-любому привязывается к какому-то hardwareid

serg002 ★★★
()
Ответ на: комментарий от serg002

Ну это же известный метод угона аккаунтов в ТГ.

https://habr.com/ru/companies/pt/articles/889692/

Раздел «Получение доступа к устройству, копирование файлов с активными пользовательскими сессиями».

iljuase ★★★
() автор топика
Ответ на: комментарий от serg002

Я просто скопировал с одного ноута на другой. Пришло уведомление на планшетную телегу (где тоже установлена), что произошла авторизация на новом устройстве.

dmitry237 ★★★★☆
()
Ответ на: комментарий от serg002

Так а ты проверял это?

Стало интересно, только что скопировал tdata из Вин11 на нулевую Телегу из snap в Убунту. Телега запустилась без всяких авторизаций.

Компьютер, конечно, один и тот же, но ОС совершенно разные, не ожидал.

Надо попробовать на другом компьютере.

Upd: перекинул на ноутбук с Виндой – не работает.

MoldAndLimeHoney
()
Последнее исправление: MoldAndLimeHoney (всего исправлений: 1)