Подтвердить что ты не робот

Почему плохие текстовые пароли плохо, и как я убеждаю своего босса, что его заветные веб-сайты находятся под угрозой?

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

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

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

Я попытался объяснить моему боссу, как очень плохие простые текстовые пароли, но это меня осенило: я не думаю, что когда-либо знал, почему они так плохи. Есть ли больше, чем раздавать хакерам список паролей на серебряном блюде? Это звучит достаточно плохо для меня, но на ла-ла-земле, где наши сайты "безопасны" и непроницаемы для любого хакера, этот аргумент, похоже, не сокращает его. Как я могу убедить (или напугать) моего босса требовать хеширования на его заветных сайтах?

Связанный: Шифрование/Хэширование текстовые пароли в базы данных

4b9b3361

Ответ 1

В армии он назывался "Оборона в глубине". Теория состоит в том, что вы затвердеваете на каждом слое, а не затвердеваете только один слой и надеетесь, что этого достаточно.

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

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

Разве я еще рисовал довольно ужасную картину?

Ответ 2

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

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

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

Ответ 3

Вот несколько причин:

  • Кто-то может проникнуть на ваш сайт. Это может быть маловероятно, и это, вероятно, не повлияет на вашего босса (я могу услышать разговор сейчас: "Вы говорите, что сайт небезопасен?" ) Но это происходит, и помните, никто никогда не думает, что их сайт будет честно разбит на...
  • Случайный просмотр базы данных инсайдерами (например, вы сами): вы, возможно, не пытаетесь просмотреть какие-либо пароли, но при обычной работе вы должны просмотреть таблицу, содержащую пароли. Учитывая, что многие люди используют один и тот же пароль для абсолютно всех (включая, возможно, вашего босса!), Вы не захотите, чтобы все эти пароли были открыты. Спросите своего босса, если он когда-либо повторно использовал пароль на двух разных сайтах.
  • Если кто-либо узнал, что ваше приложение не шифровало пароли, они могут серьезно расспросить доверие вашего приложения.
  • В базе данных ничего не стоит хешировать пароль (желательно с солью), так почему бы и нет?

Ответ 4

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

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

Ответ 5

Если "раздача ваших взломщиков список паролей на серебряном блюде" не является достаточно хорошей причиной, что составляет достаточно хорошую причину?

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

Два хороших ответа, которые я видел в этом вопросе, следующие:

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

  • Недостаток логики приложения, такой как SQL-инъекция на интерфейсе веб-сайта, будет иметь меньший шанс на достижение компромисса.

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

Ответ 9

Плей-тексты не разрешены, если ваша организация поддерживает соответствие PCI-DSS (например, торговец, который принимает кредитные карты). См. Пункт 8.4 PCI DSS.

Пароли с открытым текстом не разрешены, если ваша организация является финансовым учреждением, которое застраховано FDIC (см. FDIC FIL 69 2001).

Пароли должны быть зашифрованы как в пути, так и в состоянии покоя, если вы хотите получить сертификацию ISO/IEC 27001, например. если вы работаете с определенными правительственными учреждениями.