Мое веб-приложение работает только через SSL и устанавливает ограниченный по времени файл cookie для каждого пользователя после успешного входа в систему с именем пользователя и паролем. Самая большая слабость в системе - это компрометация файлов cookie существующего пользователя. И двое угадывают GUID идентификатора сеанса.
Я знаю механизмы первой уязвимости, но мне интересно, насколько мне нужно беспокоиться о вероятности того, что злоумышленник угадывает GUID идентификатора сеанса на основе идентификатора GUID, который они ранее получили, войдя в учетную запись, которую они настроили? Веб-сервером в данном случае является Windows 2003, а идентификаторы GUID создаются с помощью .Net 3.5.
Ответ 1 · рейтинг 6 · ConcernedOfTunbridgeWells
GUID не предназначены для криптографической безопасности, они просто уникальны. Большая часть формата предсказуема - 48-битный MAC-адрес, временная метка, которая в некоторой степени предсказуема, если вы знаете, как она генерируется, и еще несколько битов для борьбы с конфликтами временных меток. Технически изощренный злоумышленник имеет довольно хорошие шансы перепроектировать GUID.
Вам действительно нужен криптографически безопасный ГПСЧ для безопасного сеансового ключа.
Ответ 2 · Kirk Broadhurst
GUID .Net 3.5 практически невозможно угадать. Само количество GUID огромно - их больше, чем песчинок во вселенной, и т. Д. Их уникальность не строго "гарантирована" (хотя очевидно SQL NEWID гарантированно будет уникальным)
Если вы хотите проверить это на себе, сгенерируйте несколько сотен миллионов, а затем найдите дубликаты (вы их не найдете).