Как обезопасить буфер обмена MacOS?

13

Возможно ли стороннему приложению доступ к содержимому буфера обмена macOS? Я спрашиваю в отношении копирования и вставки конфиденциальных данных, таких как пароли и конфиденциальные файлы.

hello.wjx
источник
Добро пожаловать, чтобы спросить другого. К сожалению, ваш вопрос не дает достаточно подробностей, чтобы мы могли вам помочь. Чтение того, как задать вопрос, может повысить ваши шансы получить хороший ответ. А пока можете отредактировать свой вопрос (под ним есть ссылка для редактирования ), чтобы добавить такую ​​информацию, как: (1) Какую версию macOS вы используете? (2) Если вы используете macOS Sierra, вы имеете в виду обычный буфер обмена, универсальный буфер обмена или и то, и другое? (3) Когда вы ссылаетесь на стороннее приложение , что вы на самом деле подразумеваете под этим?
Мономет
Вместо того, чтобы закрыть это как слишком широкое, я удалил вашу подписку на вопрос. Пожалуйста, просмотрите справочный центр и комментарии выше, прежде чем спрашивать, как изменить буфер обмена. Это позволит нам перенести вопросы уровня кода на соответствующий сайт, если вы хотите что-то запрограммировать, а не настраивать ОС.
bmike
ну, во-
первых
2
@dalearn Чтобы быть более точным, вы можете вставить INTO поле пароля, но вы не можете скопировать из поля пароля. Я знаю, что часто копировал пароли из Keychain Access в поля ввода пароля.
Бармар
1
Это правильный вопрос. Неважно, какая версия OS X / macOS. Смысл третьей стороны очень понятен для всех.
Pratik

Ответы:

15

Предназначение защиты данных, находящихся в одном из системных буферов обмена, невозможно.

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

Практически вы можете либо ограничить свой набор установленных приложений теми, кому доверяете данные, которые вы помещаете в буфер обмена, либо не ограничивать конфиденциальный контент, никогда не помещая его в буфер обмена, чтобы наименее надежное приложение получало только те данные, которые вы можете разрешить см. / log / capture / exfiltrate.

Отсюда, кроличья нора для разработчиков и людей, склонных к безопасности, использующих macOS, начинается с обзора параметров безопасного ввода текста в программах, которые не позволяют регистраторам ключей в дополнение к прослушиванию из картона захватывать безопасный ввод:

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

ReiKey и LuLu - это два, с которых я бы начал защищать себя и, следовательно, содержимое буфера обмена.

bmike
источник
3
@SargeBorsch Для этого, как правило, нужны менеджеры паролей. Я ожидаю, что есть безопасные менеджеры паролей для Mac OS; хотя я также ожидаю, что приложения с таким же или более высоким уровнем разрешений могут также перехватывать их методы.
Luaan
6
@SargeBorsch - Даже непреднамеренные недостатки безопасности остаются незамеченными в открытом исходном коде, а тем более в реальных злоумышленниках и троянах. Представление о том, что любой старый пользователь способен проверять код любого нетривиального программного обеспечения, которое он использует, а затем создавать его на своем компьютере, как только станет известно, что это безопасно - после этого, конечно, для компилятора, - совершенно нелепо, и противоречит реальной практике. (То есть, используя репозитории пакетов с подписанными пакетами, это означает, что вы неявно доверяете
авторам
3
@SargeBorsch: Посмотрите невероятно блестящую (и пугающую) благодарственную речь Кена Томпсона на премию Тьюринга / лекцию и ее обсуждение в вики .
Йорг Миттаг
1
@ JörgWMittag как это связано с менеджерами паролей? Вы пытаетесь доказать, что поскольку ОС, ЦП, компиляторы и т. Д. Могут быть взломаны, качество / доступность исходного кода другого программного обеспечения не имеет значения?
Display Name
1
@Wowfunhappy Простой текстовый пароль означает, что вы должны обеспечить физический доступ к вашему Mac и доверять всем приложениям, которые читают буфер обмена. Если ваша модель угроз такова, что вы не доверяете своим приложениям и своему доступу - вам нужно использовать UBIKEY или многофакторную аутентификацию и предполагать, что пароль утечет. Все представляет собой риск, и если он широко открыт, зависит от вашей конкретной модели угрозы.
bmike
5

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

Некоторые приложения, которые хранят конфиденциальные данные (например, 1Password ), используют тайм-аут, так что любая информация, которую вы копируете из этого приложения, удаляется из буфера обмена через некоторое время. Если вы хотите сделать что-то подобное в глобальном масштабе, вы можете посмотреть на ответы на этот предыдущий вопрос для идей.

calum_b
источник
1
Замечательно, что, удаляя известное конфиденциальное содержимое по таймеру, вы ограничиваете время, в течение которого можно запустить менее надежный процесс, и отслеживаете текст из буфера обмена. Это также снижает риск того, что кто-то уйдет с компьютера и получит пароль, чтобы вставить часы спустя в твиттер или другие социальные сети.
bmike