Вопрос

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

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

Что меня особенно интересует, так это стратегии, которые выходят за рамки стандартной комбинации имени пользователя и паролей и способов восстановления или сброса паролей, которые облегчают пользователи, но трудно для любого, кто пытается украсть свою учетную запись. Я знаю, что многие сайты предоставляют дополнительный вопрос безопасности пользователя, но, поскольку я не доверяю пользователям не создавать глупый вопрос, такой как «что такое 1+1», я не вижу, как это может гарантировать безопасность.

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

Это было полезно?

Решение

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

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

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

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

Еще одна вещь будет заключаться в том, чтобы побудить пользователей использовать «пассис» вместо пароля, как Джефф Этвуд рекомендует. Анкет Amazon также принял этот подход со своим новым платежным фразой.

Другие советы

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

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

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

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

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

Моим единственным предложением на «полезном, но безопасном» фронте было бы задание вопросов, но ответов пользователя (например, известное место, имя первого питомца, Примечательная дата). Хотя они не водонепроницаемы индивидуально, заставляя их отвечать на комбинацию двух или трех вопросов, связанных с конкретными лицами, должно быть достаточно хорошим.

И не забудьте слова Captcha или аналогичны замедлению или идентификации грубого.

Вы также можете использовать OpenID а также Оаут вместо того, чтобы пользователь создавать новую учетную запись

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

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

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

В соответствии с вашим комментарием

Я не доверяю пользователям не создавать глупый вопрос, такой как «что такое 1+1», я не вижу, как это может гарантировать безопасность.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
scroll top