Допустим, есть софт, которому мы не можем полностью доверять. Назовём его, например, Skype, для определённости. Любые совпадения случайны.
Допустим, мы обложили его политиками SELinux и AppArmor и всем, что только бывает. Но Skype постоянно выполняет действия по получению содержимого буфера обмена, аналогично команде *
xclip -out -sel clip
Итак, допустим, что у нас в буфере обмена периодически содержатся секретные данные. **
Итак, вопрос: как мы можем защититься от такого несанкционированного доступа, в теории и на практике?
Единственный толковый вариант, который приближённо можно назвать решением, реализован в Qubes OS - защищённый буфер обмена на уровне dom0. Без явного действия со стороны пользователя ни одна гостевая OC (domU) не получит новое содержимое буфера обмена.
---------------------
* Конечно, Skype не вызывает /usr/bin/xclip (выполнение сторонних бинарей недоступно из-за политик доступа), а делает то же, что делает xclip в коде. Насколько я понял, xclip работает через API-вызовы - XOpenDisplay() и т. п.
** Предупрежу предложение пользоваться встроенным в браузер менеджером паролей, который сам сразу вставляет данные в формы на сайтах. Предлагаю пример из другой области: берём токен доступа, сгенерированный github.com для автоматизированных действий от имени вашей учётки; токен нужно вставить в конфиг-файл в текстовом редакторе.