Являются ли Атаки Радужных Столов угрозой?
Давайте просто предположим простую несоленную хэш-функцию, просто старый $hash = md5($pass)
,
Предпосылки:
- хеширование паролей происходит на стороне сервера, а хеши хранятся в базе данных. У клиента нет возможности увидеть это.
- атака по радужной таблице должна иметь знание хешей для получения паролей.
Учитывая предпосылку 2., это будет означать, что хакер уже имеет контроль над базой данных, и в этот момент у вас есть гораздо более серьезная проблема.
Таким образом, смысл пытаться предотвратить атаку "радужной таблицы" просто для того, чтобы защитить пароли от уже взломанной базы данных / системы. Это так просто или есть что-то еще, что мне не хватает.
Я уже знаком с методами хеширования паролей, но мне просто интересно, почему так много ажиотажа вокруг радужных таблиц. Спасибо!
4 ответа
Да.
Многие люди используют один и тот же пароль для всего. Компрометация исходного пароля (в отличие от простого изменения его на что-то, что вы знаете) часто может дать злоумышленнику доступ к чьим-либо учетным записям в других службах.
Радужные таблицы также намного менее требовательны к вычислениям (простой поиск), чем атака по словарю (которая требует хеширования) или грубая сила (которая требует намного больше хеширования).
Используйте надежные, уникальные пароли!
- Компрометация пароля не требует контроля над базой данных. Что если я ворвусь в вашу машину и украду стопку DVD с дампами базы данных? Вы делаете резервную копию своей базы данных, верно?
- Как уже упоминалось, люди используют один и тот же пароль для нескольких сайтов. HBGary стал жертвой этого, когда они недавно были взломаны Anonymous. Один сервер с уязвимостью SQL-инъекций превратился в гораздо больший компромисс.
- Если у меня есть доступ к вашей базе данных в течение пяти минут и я получу хеш, у меня теперь есть доступ к вашей учетной записи, пока вы не измените пароль.
- Соль дешевая.
- В любом случае вы должны использовать функцию получения ключа, а не соль.
В большинстве случаев кража данных из баз данных происходит путем внедрения; иногда даже слепой укол.
Злоумышленник, обнаруживший эксплойт в базе данных в одном из ваших сценариев, не получает никакого контроля над остальной системой до тех пор, пока не сможет получить какое-либо более высокое удостоверение, которое может быть паролем администратора.
Если вы (будучи администратором) храните свой пароль в виде простого хеша md5() вместе с остальными пользователями, и злоумышленнику удается его получить - он может в конечном итоге обогнать вашу систему, используя радужную таблицу для его поиска.
Если я правильно их понимаю, радужные таблицы снимают вычислительную нагрузку с вычисления хешей (которая намеренно высока), поэтому атака происходит быстрее.