После крупномасштабного взлома базы данных интернет-магазина Zappos руководство компании поступило совершенно правильно, когда быстро и ясно сообщило, к каким данным злоумышленники получили доступ, а к каким нет. При раскрытии информации о произошедшем не было непонятных задержек и путаницы в показаниях. Мне в этой связи вспоминается эпизод с атакой Aurora, когда компания Google неожиданно сообщила об проведенной злоумышленниками атаке на их серверы, в то время как порядка 30 других крупных корпораций, пострадавших от атаки, предпочли спрятать голову в песок и старательно скрывали информацию об инциденте, прикрываясь соглашениями о неразглашении. Zappos сменила пароли 24 миллионов пользователей и отправила каждому из них сообщения о возникшей накануне проблеме.
В коротком электронном сообщении, разосланном Zappos 24 миллионам клиентов магазина, говорилось: «Сообщаем вам, что, возможно, имел место незаконный несанкционированный доступ к данным вашей учетной записи клиента на сайте Zappos.com. Доступ мог быть осуществлен к одной или нескольким позициям из следующего списка: ваше имя, адрес электронной почты, адреса для выставления счетов и для доставки, последние 4 цифры вашей кредитной карты (это стандартная информация, которая печатается на чеках) и/или ваш криптографически зашифрованный пароль», в то время как «БАЗА ДАННЫХ, В КОТОРОЙ ХРАНЯТСЯ РЕКВИЗИТЫ КРЕДИТНЫХ КАРТ НАШИХ КЛИЕНТОВ И ДРУГИЕ ДАННЫЕ О ПЛАТЕЖАХ, НЕ ЗАТРОНУТА, И ДОСТУПА К НЕЙ ЗЛОУМЫШЛЕННИКИ НЕ ПОЛУЧИЛИ». Это уже не раз обсуждалось: своевременное сообщение подобной информации пользователям должно стать стандартной практикой. Однако остается пара интересных моментов.
- Компании Zappos необходимо ужесточить свою парольную политику.
- Zappos не мешало бы прояснить некоторые подробности атаки: что именно было во взломанной базе данных, и что они, в самом деле, подразумевают под «криптографически зашифрованными паролями» (cryptographically scrambled passwords).
У каждого свои соображения относительно парольных политик и допустимых компромиссов. Мои, говоря просто, таковы: я за длинные пароли, я не против использования OpenID для учетных записей, не содержащих конфиденциальной информации или личных данных (временный «захват» комментариев большинства пользователей на сайте местной газеты или даже на более серьезных форумах вряд ли причинит уж очень большой ущерб) и разграничения уровня конфиденциальности в зависимости от типа учетной записи, и я за хранилища паролей, позволяющие держать под контролем постоянно растущее число аккаунтов и паролей.
Усвоены ли операторами веб-сайтов уроки прошлых атак, связанные с необходимостью использовать надежные пароли? Учитывая, что Zappos – розничный магазин, через сайт которого осуществляются финансовые транзакции, все данные, связанные с аутентификацией пользователей на этом сайте, должны быть надежно защищены. Вероятнее всего, во взломанной базе данных Zappos хранились криптографические хеш-функции клиентских паролей, а также уникальное для каждого пользователя значение соли. Однако компании следует объяснить, что имелось в виду под «cryptographically scrambled» (криптографически зашифрованные). Слово scrambled не принадлежит к обычному жаргону экспертов по IT-безопасности. Его, вероятно, вставил какой-нибудь маркетолог в попытке разрулить ситуацию. Хранят ли они «посоленные» хеши md5 пользовательских паролей? Почему не использовать что-то более криптостойкое? Подобные взломы происходили на протяжении всего 2011 года, причем зачастую злоумышленники действовали просто для собственного развлечения. Большинству операторов веб-сайтов следует готовиться к худшему. И еще. Zappos не позволяет пользователям вновь использовать их последние шесть паролей. Неужели компании в самом деле необходимо хранить шесть последних паролей каждого клиента? Были ли эти пароли также украдены? В электронном сообщении, разосланном Zappos, про это ничего не сказано.
Когда компания Zappos заставила своих пользователей сменить пароли, были введены следующие ограничения: пароль должен иметь длину не менее 8 символов, включать как заглавные, так и строчные буквы, а также не менее одной цифры или специального символа. Таким образом, возможно использование таких паролей, как, например, «Zappos12». За этим стоит более масштабная проблема. Так называемые «радужные таблицы», о которых вот уже несколько лет говорят на крупных конференциях по информационной безопасности, позволяют быстро взламывать подобные слабые парольные схемы без доступа к интернету. Радужные таблицы получили распространение в составе как коммерческих продуктов, так и проектов с открытым исходным кодом. В наше время уже недостаточно просто требовать, чтобы пароль состоял из 8 букв, цифр и спецсимволов. В великолепной книге Марка Бернетта (Mark Burnett) «Совершенные пароли» (Perfect Passwords), написанной в 2006 году, прекрасно описана игра в числа между теми, кто выбирает пароли, и теми, кто их взламывает. Правда, это описание уже несколько устарело. В презентациях на прошлогодней конференции Defcon 19 были продемонстрированы экономическая подоплека и возможности современного взлома паролей, которые стали особенно впечатляющими с тех пор, как для этой цели начали использоваться графические процессоры (GPU). Мощные и невероятно дешевые аппаратные средства для расчетов с использованием графических процессоров (GPGPU) и современные облачные решения способны очень быстро взламывать уникальные и совершенно непредсказуемые пароли невероятной сложности и длины. Восемь символов — это уже даже не смешно.
Наконец, необходимы не просто более надежные, но и более практичные парольные политики, чем те, что внедряются сейчас операторами крупных сайтов. Однако необходимо продумать на много лет вперед, каким образом изменить неэффективные схемы аутентификации, остро нуждающиеся в модернизации, в том числе повсеместно применяемую схему, основанную на использовании простых текстовых паролей.
Взлом сайта Zappos и аутентификация с помощью текстовых паролей
Данил
Надеюсь всё в порядке