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 ★★
()

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

Просто прокинь DISPLAY (или сокет, если вейланд)

kaldeon ★★
()
Последнее исправление: kaldeon (всего исправлений: 1)
Ответ на: комментарий от iljuase

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

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

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

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

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

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

iljuase ★★★
() автор топика

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

Это каталог :)

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

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

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

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

Звучит разумно. От горячей утечки предохранит selinux, а от холодной шифрование файла.

usermod
()

.local/share/TelegramDesktop/tdata

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

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

зато теперь вася оформит эту твою симку и угонит твою телегу. такая вот безопасность

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
()
Ответ на: комментарий от iljuase

Следующей весной, когда шиза даст новый импульс, начнешь запускать telegram внутри контейнера, работающего внутри виртуальной машины

gagarin0
()

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

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

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

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

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

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

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

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

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

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

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

Ну вот! Как минимум нотифи приходит о новой сессии, как максимум перестает работать

serg002 ★★★★
()

Просто не выходи в интернет с компьютера, на котором лежит каталог tdata

anonymous
()

Сложно. На оффтопике решил портативной версией телеграмма в veracrypt контейнере, туда же всякий сигнал сложил.

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

Раньше 100% банальное копирование профиля помогало. Не знаю как сейчас, но явно телега не о безопасности

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

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

MirandaUser2 ★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария