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

Хранение пароля в Базах данных в обычном тексте против потребностей клиентов

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

Моя точка зрения: я хочу изменить это... но поскольку это не нужно для нашего Клиента, все еще неясно.

Как вы справляетесь с такими проблемами в отношении безопасности? С моей точки зрения, это трудно объяснить этим клиентам.

4b9b3361

Ответ 1

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

Если они затем предпочтут игнорировать ваши советы, что их прерогатива.

(Соблюдайте также копию письма).

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

Лучшая причина никогда не сохранять пароль в виде обычного текста на самом деле является юридическим.

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

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

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

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

Ответ 5

Никогда не храните пароль в открытом тексте.

Я бы рекомендовал прочитать эти вопросы:

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

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

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

Ответ 6

Бастанну, знаете ли вы английское выражение "Обложка **"? Представьте себе этот сценарий:

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

Я рекомендую вам заранее разобраться в ваших проблемах. И сохраните доказательство (подписанное письмо и т.д.).

Ответ 7

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

Ответ 8

Я бы объяснил, что то, что они сделали, - это плохая практика и спросить их, хотят ли вы, чтобы вы ее изменили. Я бы советовал делать что-либо за пределами разрешения того, что вас просили сделать, не посоветовавшись с ними.

Ответ 9

С строго профессиональной точки зрения, вы должны спросить себя, покидает ли это, поскольку это будет представлять собой проблему позже (у вас есть контракт на поддержку, который может быть вызван в случае, если высокопоставленный игрок украл пропуск из БД?)

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

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

Приветствия!

Ответ 10

Демонстрации и объяснения наиболее полезны, но когда вы говорите, что вам нужно "обновить" приложение, работаете ли вы с документацией, функциональной или технической спецификацией?

Просить участвовать в доработке этих документов и включать их в отставку было бы хорошей идеей.

В конечном счете, нуждается в клиенте, они еще этого не осознают.

Ответ 11

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

Тогда возникает вопрос, как вы убеждаете деловых людей, что это не действительное решение. Это также должно быть довольно легко. Найдите лиц, принимающих решения, и доведите их до машины, на которой открыт браузер запросов к базе данных. Выполните запрос "Выберите пароль из учетных данных, где username =" DECISION_MAKERS_USERNAME "", затем запустите его, чтобы он принял решение (будьте вежливы и не смотрите на экран, как они это делают). Объясните, что любой сотрудник, имеющий доступ к базе данных, сможет сделай это. В общем, я бы подумал, что это будет трюк, но если вам нужно еще больше убедить, что большая часть пользователей делится паролями между приложениями и что любой сотрудник сможет проникнуть в такие вещи, как банковские счета, учетные записи электронной почты и т.д. Это. Если этого еще недостаточно, объясните примеры судебных исков и штрафов для компаний, которые это сделали.

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

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