Анализ утёкших паролей Gmail, Yandex и Mail.Ru
Совсем недавно в публичный доступ попали базы паролей популярных почтовых сервисов [1,2,3] и сегодня мы их проанализируем и ответим на ряд вопросов о качестве паролей и возможном источнике (или источниках). Так же мы обсудим метрики качества отдельных паролей и всей выборки.
Не менее интересными являются некоторые аномалии и закономерности баз паролей, возможно, они смогут пролить свет на то, что могло служить источником данных и насколько данная выборка является опасной с точки зрения обычного пользователя.
Формально, мы рассмотрим следующие вопросы: насколько надежными являются пароли в базе и могли ли они быть собраны словарной атакой? Есть ли признаки фишинговых атак? Могла ли «утечка» данных быть единственным источником данных? Могла ли данная база быть аккумулирована в течение длительного периода или данные исключительно «свежие»?
Описание данных
Данные из всех трех баз представляют собой набор пар адрес-пароль, разделенные двоеточием. Никаких других «мета-данных» недоступно. Однако данные достаточно зашумленные т.е. в них присутствуют строки не являющимися ни адресами почты, ни допустимыми паролями.
Если мы исследуем особенности данных, то сможем выдвинуть (или опровергнуть) гипотезу о том, в результате какого процесса пароли могли быть получены.
Невалидные пароли и не-пароли
Самые простой критерий невалидности пароля — несоответствие длины пароля требованиям почтовых сервисов.
Полученные данные говорят, что пароли из выборки не могли быть получены в результате «внутренней» утечки, так как несколько тысяч паролей не являются валидными паролями в принципе из-за ограничений на длину пароля в шесть символов (а для современных паролей gmail в восемь символов).
Рассмотрим эти аномально длинные (более 60) и короткие пароли (менее 6) в деталях.
Примеры
Длинные пароли представляют собой куски HTML-кода, один из репрезентативных примеров:
Подобные примеры указывают, что одним из источников паролей мог быть фишинг. Запись в базе явно не была проверена человеком и получена автоматически, на фишинг так же указывает тот факт, что в пароле присутствует html-разметка, что довольно нетипично для кражи пароля через заражение.
Краткая выборка слишком коротких паролей:
Еще один индикатор того, что одним из источников мог быть фишинг — отсутствие логина и пароля в записях. Особенно интересно выглядит апостроф без указания пароля. Возможно, потенциальная жертва догадалась о фишинговой форме и попыталась проверить наличие SQL инъекции.
Что можно однозначно утверждать по проверенным данным? Автоматической валидации базы не происходило. Наиболее вероятные гипотезы: фишинг и заражение вирусом.
Для того, чтобы оценить качество всей выборки, мы удалим из неё заведомо неверные пароли длины меньше 6 и больше 60 и рассмотрим всё распределение в целом по нескольким параметрам.
Распределение длины паролей
Как видно из графика ниже, большая часть паролей имеет длину в 8 или менее символов. Что может указывать на то, что существенный пласт паролей потенциально неустойчив к различному виду атак переборных атак.
Распределение надёжности паролей
Тогда распределение надёжности имеет вид:
Как видно из графика большинство паролей попадают в категорию не-надежные. В качестве примера рассмотрим пароли нулевой надёжности, так как скорее всего это ещё один репрезентативный пример невалидных паролей.
Пароли нулевой надёжности
Как видно из примеров выше, данные пароли не являются валидными (и с точки зрения человека выглядят скорее ошибкой ввода, чем действительным паролем), так как почтовые сервисы не дают зарегистрировать ящик, если считают пароль слишком простым, например, повторением одного и того же символа шесть раз. А значит, что возможно ещё больший пласт паролей не является валидным согласно современным требованиям.
Возможно, что существенная часть базы собрана в течение длительного периода времени, когда требования к паролям были мягче? Иначе довольно сложно объяснить столь большую группу паролей, не соответствующих требованиям современных почтовых систем.
Словарная атака
В качестве дополнительного аргумента проведем следующий эксперимент: возьмём выборку релевантных словарей паролей из общего доступа, проведем атаку на доступные пароли по этим словарям и оценим какой процент паролей содержится в этой выборке словарей (автор буквально не уходил дальше первых трёх ссылок гугла по запросу [password dictionary]).
Из таблицы выше видно, что существенная доля паролей содержится в словарях, что так же указывает на то, что часть паролей могла быть получена в результате словарной атаки (или какой-то модификации перебора).
Топ паролей
Приведем подборку наиболее популярных паролей и заметим, что большая часть сейчас не является допустимыми паролями.
Выборка Gmail
Действия и данные, описанные и полученные в данной и следующей части, были произведены и переданы другом моего друга, пожелавшего остаться неизвестным.
Задача: проверить валидность (т.е. что пароль действительно подходит) паролей. Действие: по небольшой выборке из
150-200 попробовать получить доступ к ящикам. Из всей выборки в принципе валидными являются
2-3% (через несколько часов появления данных в открытом доступе), и фактически все являются деактивированными на момент проверки. Реально действующими являлись менее 1% ящиков и те заброшены владельцами по крайней мере в течение года.
Выборка Rambler
Несложно обнаружить в сети списки «действительно валидных» адресов, составленных широким кругом заинтересованных лиц (ака кулхацкеры).
Что интересно, среди них довольно большой процент адресов рамблера.
Rambler был предупрежден за несколько дней до публикации и был получен ответ, что необходимые меры безопасности будут приняты в ближайшее время.
Что интересно, процент валидных паролей существенно выше и до последнего времени rambler был вне медийного поля событий и не активизировал дополнительных систем безопасности.
Это позволило неизвестному антропологу утечки оценить последние моменты жизни почтовых ящиков. Несмотря на валидность паролей, все ящики являлись заброшенными в течение долгого времени (
1-1.5 года) и заканчивались одним из подобных писем:
Что является еще одним подтверждением гипотезы о фишинге и кумулятивной природе базы.
Анализ открытых источников
Вернемся к рассмотрению открытых источников. Активный поиск по паролям-логинам, привел нас к ряду раздач с геймерских форумов:
Оказывается, что часть списка уже в какой-то форме гуляла по сети.
Таким образом данные позволяют отвергнуть гипотезу о единственном источнике данных таком как «внутренняя утечка».
Основная часть используемого кода:
Заключение
Таким образом наиболее вероятной выглядит гипотеза, что данная выборка — компиляция различных источников (фишинг, заражение, словарно-переборные атаки, собрание популярных подборок) в течение длительного периода времени. Достаточная часть данных в принципе не является валидными паролями по формальным синтаксическим критериям, что также подтвердила экспериментальная проверка.
С точки зрения пользователя данное событие не несет существенной опасности и скорее выглядит попыткой создания инфоповода.
UPD. Еще одним свидетельством того, что слитые данные — компиляция различный источников является наличие подборки gmail аккаунтов с «+» фичей в базе, когда адрес имеет вид имя+домен\слово at gmail.com (за напоминание про эту фичу спасибо geka)
Топ-10 доменов из выборки (весь список тут)
176 xtube
132 daz
88 filedropper
66 daz3d
64 eharmony
63 friendster
62 savage
57 spam
54 bioware
52 savage2
…
11 paygr
11 comicbookdb
…
Про paygr: пользователь gkond писал, что
Нашел свой е-мейл в дампе. Пароль, которой рядом с ним указан автоматически сгенерировал мне сервис paygr.com, в далеком мае 2011 года.
при этом «paygr» встречается 11 раз в списке «+» gmail. Возможно их база также была скомпрометирована.
Что значит не валидный?
Что значит не валидный e-mail?
Как понять слово Невалидный?
НЕВАЛИДНЫЙ, не соответствующий определенным требованиям или условиям, неправильный. НЕВАЛИДНЫЙ, не соответствующий определенным требованиям или условиям, неправильный.
Что значит не Валидны?
Значение не являющийся валидным ◆ Если параметр не указан, то создается невалидный объект, который ни на что не указывает.
Что значит не валидный код?
Если говорить понятным каждому языком, то код может быть написан без ошибок или с ошибками (неправильный, или невалидный код страниц сайта). Как в любом ремесле: один производитель выпускает свой товар согласно всем требованиям и нормам, а его коллега по цеху – абы как.
Что означает валидный email?
Валидный адрес электронной почты — существующий и действующий e-mail адрес. Адрес электронной почты — запись, установленная по RFC 2822, однозначно идентифицирующая почтовый ящик, в который следует доставить сообщение электронной почты.
Что значит e-mail должен быть валидным?
Правильный (валидный) e-mail — это адрес почты, который содержит в себе определенную последовательность допустимых символов. При этом, почта не обязательно должна существовать. … Эту часть задаете Вы при создании e-mail.
Что такое валидный?
Валидный (ударение на «и») означает «действительный, подходящий». Алглийское слово «valid» именно так и переводится. … Вы узнали, откуда произошло слово Валидный, его объяснение простыми словами, перевод, происхождение и смысл.
Что значит поле не Валидно?
Что такое Валидное?
соответствующий требованиям; достоверный ◆ Валидным является такое высказывание, которое — в силу различных причин — включается в открытый для социума дискурс. Н. А. Фатеева, «Пушкин и поэтический язык XX века», 1999 г.
Что такое Валидное число?
То же самое в банке. Валидное число – число из некоего ряда (может быть и дробным и отрицательным), принятого в конкретной системе и оговорённые её правилами.
Что такое валидный документ?
Валидацией будем называть проверку документа на соответствие веб-стандартам и выявление существующих ошибок. Соответственно, валидным является такой веб-документ, который прошел подобную процедуру и не имеет замечаний по коду.
Что такое валидность в коде?
Валидность кода — это исходный код страницы, который должен быть написан согласно правилам веб-стандартов и языка разметки, прописанным в стандарте W3C — организации, занимающейся разработкой HTML-кодов. … Такой сервис, как validator.w3.org проверит сайт на валидность с выдачей отчета о найденных ошибках.
Что означает термин «валидный/невалидный»?
Невалидный емейл-адрес
Невалидное задание
Невалидное название
Последнее время эти понятия стали очень популярны.
Такие термины можно встретить в интернете. Я эти термины понимаю так:
Валидный.
Это значит действующий, соответствующий определённым требованиям, нормам, правилам, стандартам.
Например, для вёрстки сайтов существуют правила и нормы, разработанные Консоциумом Всемирной Паутины.
Проверить сайт на соответствие данным правилам можно здесь.
Если ошибок найдено не будет, то можно сказать, что исходный код вашего сайта является валидным.
Невалидный.
Это понятие является противоположным понятию «валидный».
Если сертификат электронной подписи является невалидным, то он может быть просрочен, или у вас не установлены необходимые корневые сертификаты.
Также добавлю, что понятия «валидный» и «невалидный» имеют иностранные корни.
Переводятся они так: «действительный», «допустимый».
Валидный и невалидный это прилагательные:
Пример использования слова: «Если параметр не указан, то создается невалидный объект, который ни на что не указывает.»
Обычной электронные почтовые сервисы сразу укажут вам на невалидность e-mail адреса, написав, что такой не может быть использован. Они имеют встроенные валидаторы, эти валидаторы-то и проверят автоматически ваш адрес, валиден он или нет.
В английском, кстати, невалидный звучит, как инвалид invalid, что и без перевода понятно. Что значит инвалид знают все.
Так ли важен валидный код на сайте по мнению Google?
Валидность html и css по мнению Google
Весьма часто приходится слышать, что не очень валидный код веб-страниц препятствует продвижению сайта в поисковых системах. Как раз недавно в Google опубликовали хорошее видео по данной теме (о нём далее).
Знаю, что некоторые начинающие вебмастера особенно переживают: они проверяют свой ресурс в т.н. валидаторах, видят кучу ошибок и думают, что нормального ранжирования у них не будет.
Однако в большинстве случаев это совсем не так. Но сначала следует рассказать об этой «валидности».
Что такое валидный код на сайте?
Также для справки можно глянуть заметку из Википедии.
В сайтостроении есть разнообразные стандарты, по которым пишутся HTML и CSS коды. Что-то вроде ГОСТа. Например:
Указанием на стандарт, используемый на данной веб-странице, является первая строчка HTML-кода. Например, что-нибудь такое:
или — для HTML5 — такое:
Но всё дело в том, что нормальные красивые сайты можно делать без соблюдения всех этих стандартов. Более того, современный сайт практически невозможно сделать с полностью валидным кодом.
К примеру, установив какие-нибудь кнопки социальных сетей для сайта или виджет Facebook’а, мы уже (как правило) «теряем» эту валидность.
Поэтому и не стоит добиваться полной валидности (разве что из-за перфекционизма..).
Конечно, по-возможности, ошибки следует исправить. Но, например, правка CSS-файлов из-за того, что валидатор «ругается» не даст преимуществ при поисковом продвижении.
Гораздо важнее исправить ошибки, которые напрямую влияют на индексацию — почитайте, почему Яндекс или Гугл могут не индексировать сайт:
Как проверить валидность кода?
Самый известный способ — зайти на главные сервисы для этого:
— нужно просто ввести URL-адрес страницы своего сайта, нажать Enter и узнать об ошибках (они, скорей всего, есть):
Узнать валидность HTML-кода
Также есть неплохие плагины для браузеров. Например, «HTML VALIDATOR» для Firefox.
Валидный код и поисковое продвижение
Ну и наконец о том, ради чего начиналась эта статья. Если нет грубых ошибок в коде — то и не о чем беспокоиться. На продвижение в ПС это не повлияет.
Тем более, нет смысла делать абсолютно валидным CSS (отвечающий за внешний вид сайта): какая разница, что «внутри», если «снаружи» посетителю всё нравится — ведь в конце концов в ранжировании всё решают поведенческие факторы.
Ну а если не нравится — то валидность тут не поможет.
Валидный код и Google:
» alt=»»> В видео разбирается вопрос
Does the crawler really care about valid HTML? (Действительно ли роботу Гугла важна валидность HTML кода?)
На что получен однозначный ответ: валидный код — это хорошо, но если б стали учитывать его при ранжировании сайтов, то начали бы выходить в ТОП те сайты, у которых код чище, а не контент полезнее.
В общем, как обычно: главное — полезный контент.
С Яндексом ситуация аналогичная — здесь можно просто проанализировать его выдачу.
Кроме того, внедрение в сайты, например, семантической разметки (которая у Яндекса немного своя) сделает большинство документов неправильными с точки зрения валидаторов. В таком случае совсем не логичным бы было ухудшать их ранжирование из-за невалидного кода.
Сообщать мне о новых комментариях к этой статье
Зачем и как валидировать email-адреса
Email-маркетинг –очень популярный канал коммуникации в интернете. Его конверсия – самая высокая в сравнении с другими инструментами интернет-маркетинга. По данным Marketing Insider Group, 59% B2B-маркетологов считают, что email-рассылка – самый эффективный канал повышения доходов. Преимущества email-маркетинга – в прямой быстрой коммуникации с потенциальными клиентами, относительно недорогая стоимость внедрения и проведения, автоматизация, рост целевых действий от подписчиков и растущая лояльность к вашему бренду.
Исследования Experian (США) выяснили:
Мы обсудим детально причину № 1 – некачественная база электронных адресов и как избежать этой причины попадания в спам.
Для успешных продаж через email важно иметь чистую и качественную базу электронных адресов. Однако со временем в любой базе появятся дубликаты, адреса с ошибками, битые почты или недоставляемые emailы. По этой причине важным этапом является валидация электронных адресов.
Как часто нужно проводить валидацию баз?
Важно поддерживать чистоту базы электронных адресов. Чистку нужно проводить минимум раз в 6 месяцев, но в зависимости от размера базы. Чем больше база, тем больше вероятность появления в ней невалидных email-адресов, и тем чаще стоит проводить валидацию.
Как именно сервисы валидируют почты?
Чем опасна некачественная база?
Превышение количества невалидных адресов и жалоб приводит к ограничению доставки писем в папку «Входящие». Если в рассылке более 5% ошибок – риски попасть в СПАМ очень высокие. Письма могут и вовсе отклоняться почтовым ящиком. Поэтому очень важно контролировать процент попадания в спам. Например, в почте Mail.ru пороговое значение несуществующих ящиков в рассылке составляет 5%, для Yahoo и Rocketmail – 10%. Показатель попадания в спам лучше держать в пределах 0,1%, но некоторые почтовые службы позволяют значение до 0,3%.
Что делать, если Вы таки попали в спам-лист?
Если Вы все-таки решили рискнуть, и не провалидировали email-базу, и попали в блек-лист по этой причине, не стоит отчаиваться, выход есть. Большинство сервисов спам и блек-листов работают автоматически. Поэтому, если Ваш домен попал в черный список, остановите отправку писем с него, хотя бы на 10-14 дней. В таком случае, он может выйти из блек-листа автоматически.
Например, можно самостоятельно убрать домен из блек-листа при помощи сайта https://www.spamhaus.org/lookup/. Это большая база данных по спаму, которая отслеживает подозрительную активность в реальном времени, и сразу помещает IP или домен в спам. Если вы заблокированы, сервис отправит на страницу, где объясняется причина блокировки и что делать дальше.
Прежде,чем подавать заявку на разблокировку и удаления из базы Spamhaus.org, необходимо устранить саму причину блокировки со стороны сервера и написать о решении вопроса на почтовый ящик sbl-removals@spamhaus.org, используя специальный номер, который отображается в адресной строке.
Второй вариант – купить новый домен и IPадрес. Это обезопасит Вас в будущем от попадания в черные списки, т.к. ответственность за репутацию IP адреса и домена будете нести только Вы. Но ровно до первой рассылки по «непрогретой» и не провалидированной базе.










