37

Предположим, что пользователь использует безопасный пароль на сайте A и другой, но похожий безопасный пароль на сайте B. Может быть, что-то вроде mySecure12#PasswordA на сайте A и mySecure12#PasswordB на сайте B (не стесняйтесь использовать другое определение "сходства", если это имеет смысл).

Предположим, что пароль для сайта A каким-то образом скомпрометирован ... возможно, злонамеренный сотрудник сайта A или утечка безопасности. Означает ли это, что пароль сайта B также был эффективно скомпрометирован, или в этом контексте не существует такой вещи, как "сходство паролей"? Имеет ли какое-то значение, был ли компромисс на сайте A утечкой простого текста или хешированной версией?

4 ответа4

38

Сначала ответим на последнюю часть: Да, было бы важно, если бы раскрываемые данные были открытым текстом или хешированием. В хэше, если вы измените один символ, весь хэш будет совершенно другим. Единственный способ, которым злоумышленник узнает пароль, - это взломать хэш (это невозможно, особенно если хэш несоленый. См. Радужные таблицы).

Что касается вопроса о сходстве, это будет зависеть от того, что злоумышленник знает о вас. Если я получу ваш пароль на сайте A и если я знаю, что вы используете определенные шаблоны для создания имен пользователей или тому подобное, я могу попробовать те же соглашения в отношении паролей на сайтах, которые вы используете.

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

Например, скажем, у вас есть супер-безопасный пароль, такой как 58htg% HF!с. Чтобы использовать этот пароль на разных сайтах, вы добавляете элемент, специфичный для сайта, в начало, чтобы у вас были пароли, такие как: facebook58htg% HF!c, wellsfargo58htg% HF!c или gmail58htg% HF!c, вы можете поспорить, если я взломаю ваш Facebook и получу facebook58htg% HF!c Я собираюсь увидеть этот шаблон и использовать его на других сайтах, которые вы можете использовать.

Все сводится к шаблонам. Увидит ли злоумышленник шаблон в определенной для сайта части и общую часть вашего пароля?

11

Это действительно зависит от того, что вы получаете!

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

Но для большинства вещей это действительно не проблема вообще. Если ваш пароль в службе A отличается от пароля в службе B только одним символом, и обе службы безопасны (например, хранят соленые хеши для вашего пароля вместо прямого хеш-кода или самого открытого текста), то это «вычислительно невозможно» чтобы определить, похожи ли пароли, не говоря уже о том, насколько они похожи.

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

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

Вы должны быть в порядке. И не забывайте всегда иметь разные пароли для разных сервисов - просто не используйте один и тот же пароль для всех и даже не используйте один и тот же пароль дважды. Важно защититься от глупых компаний, которые отказываются следовать передовым методам, когда дело доходит до хранения пользовательских данных, таких как пароли.

7

Мой короткий ответ - ДА. Например: strongpassword+game.com взломан,

Если я нападающий, мне очень легко понять шаблон, который вы использовали, и попробовать его на других сайтах. Например, сильный пароль +paypal.com

Argh! ....

Чтобы исправить это, я лично использую:

hash ( strongpassword+game.com )
hash ( strongpassword+paypal.com )

Используя математические свойства хэша (я использую sha1), зная первый пароль, трудно найти пароль и второй пароль.

Если вы хотите больше подробностей, я сделал запись в блоге о безопасности пароля, которая точно отвечает на ваш вопрос:

http://yannesposito.com/Scratch/en/blog/Password-Management/

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

4

Это зависит от того, что вы беспокоитесь. При широкомасштабной автоматической атаке с использованием учетных данных с одного сайта на другом, злоумышленник в первую очередь выберет самую легкую часть - люди, использующие точно такой же пароль. Как только это будет исчерпано, если атака все еще остается незамеченной, злоумышленник будет искать то, что он считает общими шаблонами - вероятно, что-то вроде базового пароля + сайт.

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

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

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

TL; Dr не делать ничего детерминированного.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .