Улучшение безопасности входа в систему путем отказа от копирования и вставки? - PullRequest
16 голосов
/ 21 января 2011

у нас есть общая форма входа для веб-приложения, ничего необычного, что-то вроде

...<input type="text" value="Username" /><input type="password" value="" />...

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

Однако мы добавили следующие JScripts к элементам ввода:

... onpaste="return false;" oncopy="return false;" ondrag="return false;" ondrop="return false;" ...

Тестировщик раскритиковал, что все еще можно «перетаскивать» копию с помощью клавиши CRT, конечно, он будет копировать только символы *, а не пароль, но он все же позволяет копировать значения из формы, и поэтому дело было возвращено как неудачное.

Так много для фона.

Мой вопрос:

Есть ли какое-либо улучшение безопасности от отказа в копировании и вставке в форму входа, которая стоит дополнительных усилий?

Спасибо тебе Simon

Ответы [ 9 ]

48 голосов
/ 21 января 2011

Нет. Зачем мешать пользователю копировать свой пароль?

Всякий раз, когда вы смотрите на такую ​​систему безопасности, важно задаться вопросом: от каких именно атак я пытаюсь защититься? В этом случае, даже если вы запретите копирование-вставку, пользователь может просто перепечатать его, если он действительно этого захочет, в конце концов. И если вы беспокоитесь о Evil Spyware, эти вещи могут просто установить расширение для браузера и посмотреть на пароль в DOM напрямую, или установить кейлоггер и захватить его по мере ввода.

Действительно, это может даже снизить безопасность. Подумайте, использует ли пользователь программу управления паролями, которая может либо ввести пароль в буфер обмена, либо отобразить его для повторного ввода. Если вы запретите вставку, это означает, что пользователь должен отобразить пароль на экране, чтобы его могли видеть пользователи плеча.

9 голосов
/ 13 октября 2011

Я согласен с консенсусом: отказ от копирования и вставки означает, что мои действительно сложные пароли (хранящиеся в 1Password) бесполезны. Поэтому мой ответ - использовать короткие, легко запоминающиеся пароли (т.е. слабые). Заставлять людей использовать слабые пароли - ПЛОХАЯ идея.

Кроме того, onpaste = "return false;" Я считаю, что это часть DOM, а не дополнение к JavaScript. Так что дизайнеру сайта действительно нужно прекратить такие плохие практики.

Кто-нибудь знает, есть ли веская причина использовать «return false»; - есть ли что-то опасное в буфере обмена? Если это так, то это делает недействительным использование таких программ, как 1Password.

6 голосов
/ 01 февраля 2013

Я согласен со всеми, и печально то, что крупные компании сейчас начинают применять эту практику, я не могу вставить на paypal, xbox live, а также некоторые приложения, такие как roundcube, блокируют ее по умолчанию.Я утверждаю, что это хуже для безопасности, так как вынуждает конечного пользователя вводить его, то есть он должен быть легким для запоминания или должен быть видимым где-то, чтобы печатать, хорошие приложения, такие как keeppass, работают на основе паролей, которые не видныно только временно скопированы в буфер обмена.

5 голосов
/ 18 января 2014

Предотвращение копирования / вставки паролей является ужасной идеей - в значительной степени делает невозможным использование длинных, случайно сгенерированных безопасных паролей.Представьте, что я хочу использовать «JFPEWm! QjVIdrFk8l | /%» в качестве пароля - это отличный пароль, но кошмар для ввода и ОЧЕНЬ подверженный ошибкам.

4 голосов
/ 21 января 2011

Совсем нет

Пользователь может отключить все, что есть на стороне клиента, включая ваши JScripts. Ваш коллега неправильно информирован, покажите им эту тему.

0 голосов
/ 24 января 2011

Спасибо, ребята,

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

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

Привет Саймон

0 голосов
/ 21 января 2011

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

0 голосов
/ 21 января 2011

вряд ли поможет.Кейлоггеры теперь будут обязательно перехватывать пароли.Копирование и вставка пароля, вероятно, на 1001 * больше безопаснее, чем его ввод.

Лучше инвестировать в хороший инструмент управления паролями и обучение (например, Lastpass или 1Password), чем расстраивать пользователей, что делает их более вероятнымииспользовать ярлыки (например, везде использовать один и тот же простой пароль).

0 голосов
/ 21 января 2011

Улучшение будет только в том случае, если вы примете предпосылку, что источник, из которого был скопирован пароль, менее безопасен, чем запоминание ... Я думаю, что это, вероятно, правда. Но это идет по довольно большой цене на удобство использования. И большинство браузеров имеют те или иные возможности для хранения паролей, а пользователи используют менеджеры паролей и т. Д. Я думаю, что в какой-то момент вы просто должны принять ограничения парадигмы имени пользователя / пароля.

Может быть полезно взглянуть на проверку подлинности сертификата клиента, если вы действительно беспокоитесь о безопасности. Важно отметить, что нет ничего более безопасного по отношению к cca, чем 1003 *, но это просто другой набор учетных данных. Но, вероятно, сложнее скопировать сертификат, чем пароль. В любом случае, полезно знать о вашем наборе инструментов безопасности:

http://www.windowsecurity.com/articles/Client-Certificate-Authentication-IIS6.html http://www.impetus.us/~rjmooney/projects/misc/clientcertauth.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...