Month: Сентябрь 2013

Создание сайта Практикующего психолога

Создание сайта Практикующего психолога

Разработка сайта для Марии Павлочевой, практикующего психолога, гештальт терапевта, специалиста по психодиагностике, коуча.

Веб-сайт: www.pavlocheva.com

Читать далее…

Длинными паролями можно «DOSить» серверы на Django

386523 15 сентября разработчики свободного фреймворка Django в срочном порядке выпустили обновленные версии Django 1.4.8, Django 1.5.4 и Django 1.6 beta 4, чтобы закрыть уязвимость, которую публично разгласили посторонние лица утром того же дня. Все патчи доступны через PyPI (https://pypi.python.org/pypi/Django) и со страницы загрузки (https://www.djangoproject.com/download/).

В новых версиях Django закрывается баг (https://www.djangoproject.com/weblog/2013/sep/15/security/) во фреймворке аутентификации django.contrib.auth, позволяющий осуществлять атаку типа «отказ в обслуживании» (DoS).

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

К сожалению, эту сложность можно использовать во вред. Django не ограничивает длину текстовых паролей, и пароли исключительно большого размера сильно нагрузят сервер, выполняющий ресурсоемкие вычисления PBKDF2. Например, пароль длиной в 1 мегабайт нагрузит сервер на 1 минуту, так что один-единственный злоумышленник способен повалить большой сервер крупной компании, просто загружая произвольные пароли на произвольные учетные записи. Уязвимости присвоен классификационный номер CVE-2013-1443.

Веб-фреймворк Django используется на таких крупных сайтах, как Instagram, Disqus, Mozilla, The Washington Times, Pinterest и многих других.

В обычных условиях процесс закрытия багов в Django занимает неделю, говорят разработчики. Но это для нормальных ситуаций, когда специалисты по безопасности сообщают об уязвимостях в приватном порядке и можно спокойно работать над заплаткой. Здесь же ситуация была другая: о баге сообщили публично в списке рассылки django-developers (https://groups.google.com/forum/#%21forum/django-developers). Но и закрыть дыру было просто: длину пароля просто ограничили 4096 символами.

© 2007–2024, konyakov.ru