Вопрос или проблема
Когда вы вводите пароль и он правильный, ответ практически мгновенный (т.е. процесс входа в систему).
Когда вы вводите неправильный пароль (по ошибке, забыли и т.д.), однако, проходит некоторое время (10-30 секунд), прежде чем ответит, что пароль неправильный.
Почему это занимает так много времени (относительно), чтобы сказать “неправильный пароль”?
Меня всегда беспокоил вопрос о вводе неправильных паролей в Windows и Linux (настоящие и виртуальные); я не уверен насчет Mac OSX, так как не помню, так ли это, прошло время с тех пор, как я последний раз использовал Mac.
РЕДАКЦИЯ:
Чтобы избежать дублирования, я задаю вопрос в контексте пользователя, который входит в систему на физическом компьютере, а не через ssh, что могло бы использовать несколько другие механизмы для входа/проверки учетных данных.
Почему это занимает так много времени (относительно), чтобы сказать “неправильный пароль”?
Не занимает. Или, скорее, компьютеру не нужно больше времени, чтобы определить, что ваш пароль неправильный, по сравнению с тем, чтобы определить, что он правильный. Работа, которую выполняет компьютер, в идеале, точно такая же. (Любая схема проверки пароля, которая занимает разное количество времени в зависимости от того, правильный он или неправильный, может быть использована для получения знаний, насколько бы малыми они ни были, о пароле за меньшее время, чем иначе было бы возможно.)
Задержка является искусственной задержкой, чтобы сделать повторные попытки доступа с использованием разных паролей невозможными, даже если у вас есть представление о том, каким, вероятно, является пароль и автоматическая блокировка учетной записи отключена (что должно быть в большинстве сценариев, так как в противном случае это позволило бы осуществлять тривиальные атаки отказа в обслуживании на произвольную учетную запись).
Общее название этого поведения – тартар. Хотя статья в Википедии больше говорит о тартаре сетевых служб, концепция является общей. Старая новая вещь тоже не является официальным источником, но Почему отклонить недействительный пароль занимает больше времени, чем принять действительный? говорит об этом ближе к концу статьи.
Ответ или решение
Когда пользователь вводит пароль на компьютере, ответ на запрос об его корректности может занять разное время в зависимости от правильности введенных данных. Это явление вызывает множество вопросов, особенно когда отклик системы на неверный пароль значительно затягивается по сравнению с мгновенной реакцией при вводе корректного пароля.
Причины задержки в отклике для неверного пароля
1. Искусственная задержка:
Основная причина, по которой система медленно реагирует на неверный пароль, заключается в реализации искусственной задержки. Этот подход называется "тартинг" (tarpitting), концепция которого заключается в замедлении ответов на запросы с целью противодействия атакам методом подбора пароля (brute force attacks).
Когда система замедляет ответ на неверный пароль, это затрудняет злоумышленнику выполнение быстрого перебора возможных вариантов паролей, тем самым повышая безопасность учетных записей пользователей. Вместо мгновенного отклика, продолжительность которых можно легко использовать для анализа, система добавляет задержку, что делает попытки взлома менее эффективными.
2. Безопасность и анализ:
Современные системы аутентификации стремятся быть защищёнными от анализа времени ответа (timing attack). Если время ответа на неверный пароль будет значительно меньше, чем на верный, это может предоставить злоумышленникам подсказки о структуре пароля и позволить им быстрее находить правильные комбинации. Системы используют одинаковое время для проверки и правильного, и неправильного паролей, добавляя задержку только в случае неверного ввода.
3. Имитация славы работы сети:
Во многих случаях замедление является техническим мерой для дальнейшего взаимодействия с системой. Тем самым создаются условия, при которых злоумышленники не могут получать успешные результаты в реальном времени, что делает задачу подбора пароля менее привлекательной и более затратной по времени и ресурсам.
Подводя итог
Задержка в ответе на неверный пароль является осознанным компромиссом между удобством использования и необходимостью обеспечения безопасности. Время отклика на правильный пароль остаётся минимальным для комфортной работы пользователя, в то время как задержка при неверном вводе является защитными мерами против атак. Такой подход гарантирует, что даже если злоумышленник состоит в прямом и непрерывном взаимодействии с системой, устанавливается барьер, влияющий на успех попыток подбора.
Эти меры безопасности, основанные на анализе внедрённых технологий и поведения пользователей, позволяют создавать более защищенные и устойчивые системы аутентификации, снижая риски, связанные с неавторизованным доступом.