В 2014 году в сеть утекла большая, на 6 млн. записей, база паролей различных почтовых сервисов. Давайте посмотрим, насколько эти пароли актуальны сейчас, в 2015 году.

Для этого мы сравним эти почтовые пароли с другой большой базой, слив которой был не менее масштабным – но гораздо более незаметным для IT-сообщества. В мае 2015 года в открытый доступ попала база всех личных данных (логины, пароли, мейлы, информация из профиля) с сайта Спрашивай.ру. Судя по всему, пароли хранились в базе в открытом виде. Все они были актуальны на момент слива базы.
Немного статистики:
Мы видим, что на отдельно взятом сайте в одном случае из 26 мы найдём искомый логин в нашей слитой базе. При этом, с вероятностью 60 процентов мы сможем подорбрать к нему верный пароль.
То есть, пароль на сайте, и на почте, с котрой производится регистрация на этом же сайте – совпадает в 60 процентах. Хороший результат для хакера!
Теперь проверим, насколько эти совпадающие пароли уникальны. Нам известен топ почтовых паролей. Давайте найдём, сколько паролей с сайта попадают в этот известный нам топ. Из 77 тысяч попадают в топ (то есть, заведомо ненадёжные)
То есть, только одна седьмая часть паролей являются ненадёжными, про остальные пароли – пользователи уверены в их безопасности. Это, напоминаю, май 2015 года – с момента слива почтовой базы прошло 9 месяцев.
Выводы: судя по всему, более половины пользователей используют при регистрации на различных сайтах свой почтовый пароль, причём в случае компрометации его – особо не утруждают себя его заменой. Вероятность встретить на отдельно взятом сайте слитый логин примерно 1/25, и в половине случаев пароль при этом будет совпадать.
И наиболее часто задаваемый вопрос: извините, нет – поделиться паролями не могу.
Во-перых, это было бы неэтично с моей стороны. Во-вторых, если вы не можете найти эти базы за полчаса в открытом доступе – может, вам оно просто не надо?
Предыдущие выпуски «Черной археологии датамайнинга»
Черная археология дата майнинга: анализ данных
Что может быть эффективнее атаки по словарю?
В следующем выпуске: ищем ботов, определяем «случайные» пароли, исследуем статистические распределения. Stay tuned!

Для этого мы сравним эти почтовые пароли с другой большой базой, слив которой был не менее масштабным – но гораздо более незаметным для IT-сообщества. В мае 2015 года в открытый доступ попала база всех личных данных (логины, пароли, мейлы, информация из профиля) с сайта Спрашивай.ру. Судя по всему, пароли хранились в базе в открытом виде. Все они были актуальны на момент слива базы.
Немного статистики:
Размер «почтовой» базы | 6034544 |
Размер базы сайта | 3432650 |
Совпадение логинов | 132093 |
Совпадение пар логин-пароль | 77387 |
Мы видим, что на отдельно взятом сайте в одном случае из 26 мы найдём искомый логин в нашей слитой базе. При этом, с вероятностью 60 процентов мы сможем подорбрать к нему верный пароль.
То есть, пароль на сайте, и на почте, с котрой производится регистрация на этом же сайте – совпадает в 60 процентах. Хороший результат для хакера!
Теперь проверим, насколько эти совпадающие пароли уникальны. Нам известен топ почтовых паролей. Давайте найдём, сколько паролей с сайта попадают в этот известный нам топ. Из 77 тысяч попадают в топ (то есть, заведомо ненадёжные)
Топ-10 | 9652 |
Топ-100 | 10535 |
Топ-1000 | 11704 |
То есть, только одна седьмая часть паролей являются ненадёжными, про остальные пароли – пользователи уверены в их безопасности. Это, напоминаю, май 2015 года – с момента слива почтовой базы прошло 9 месяцев.
Выводы: судя по всему, более половины пользователей используют при регистрации на различных сайтах свой почтовый пароль, причём в случае компрометации его – особо не утруждают себя его заменой. Вероятность встретить на отдельно взятом сайте слитый логин примерно 1/25, и в половине случаев пароль при этом будет совпадать.
И наиболее часто задаваемый вопрос: извините, нет – поделиться паролями не могу.
Во-перых, это было бы неэтично с моей стороны. Во-вторых, если вы не можете найти эти базы за полчаса в открытом доступе – может, вам оно просто не надо?
R-скрипт поиска совпадений
## Загрузка данных
DATA_1 <- readRDS( file = "DATA_MAIL.rds" )
DATA_2 <- readRDS( file = "DATA_SITE.rds" )
################################################
# 6034544
nrow(DATA_1)
# 3432650
nrow(DATA_2)
################################################
# Совпадение чистых логинов: 132093
length(
intersect(DATA_1[,1],DATA_2[,1])
)
# Совпадение пар логин-пароль: 77387
length(
intersect(
paste( DATA_1[,1], DATA_1[,3], sep = "|" ),
paste( DATA_2[,1], DATA_2[,3], sep = "|" )
)
)
#################################################
# Построим пересечение
VECTOR_I <- intersect(
paste( DATA_1[,1], DATA_1[,3], sep = "||" ),
paste( DATA_2[,1], DATA_2[,3], sep = "||" )
)
VECTOR_I <- strsplit(VECTOR_I, "||", fixed=TRUE)
DATA_I <- matrix(unlist(VECTOR_I), ncol=2, byrow=TRUE)
DATA_I <- as.data.frame(DATA_I)
colnames(DATA_I) <- c("login","passwd")
#################################################
# Проверим, сколько паролей из пересечения попадают в старый топ-N
PASS_SUM <- readRDS( file = "PassSum.rds" )
PASS_10 <- PASS_SUM[1:10,]
PASS_100 <- PASS_SUM[1:100,]
PASS_1000 <- PASS_SUM[1:1000,]
# 9652
length(
which(
DATA_I$passwd %in% PASS_10$passwd
)
)
# 10535
length(
which(
DATA_I$passwd %in% PASS_100$passwd
)
)
# 11704
length(
which(
DATA_I$passwd %in% PASS_1000$passwd
)
)
Предыдущие выпуски «Черной археологии датамайнинга»
Черная археология дата майнинга: анализ данных
Что может быть эффективнее атаки по словарю?
В следующем выпуске: ищем ботов, определяем «случайные» пароли, исследуем статистические распределения. Stay tuned!