これを行うために、これらの電子メールパスワードを別の大規模なデータベースと比較します。このデータベースの流出はそれほど大きくはありませんでしたが、ITコミュニティからははるかに見えません。 2015年5月、サイトAskrashay.ruのすべての個人データ(ログイン、パスワード、メール、プロファイル情報)のデータベースが公開されました。 どうやら、パスワードは平文でデータベースに保存されたようです。 それらはすべて、ベースドレイン時に関連していました。
いくつかの統計:
「メール」ベースのサイズ | 6034544 |
サイトベースサイズ | 3432650 |
ログイン一致 | 132093 |
ユーザー名とパスワードのペアを一致させる | 77387 |
26の内の1つの場合、単一のサイトで、マージされたデータベースで目的のログインを見つけることがわかります。 同時に、60%の確率で、正しいパスワードを選択できます。
つまり、同じサイトで登録が行われるサイトのパスワードとメールでのパスワードは、60%一致します。 ハッカーにとっては良い結果です!
次に、これらの一致するパスワードの一意性を確認しましょう。 上位のメールパスワードを知っています。 サイトからのパスワードが、私たちに知られているこのトップに分類される数を見つけましょう。 77,000のうち、最上位にある(つまり、意図的に信頼できない)
トップ10 | 9652 |
トップ100 | 10535 |
トップ1000 | 11704 |
つまり、残りのパスワードについては、パスワードの7分の1しか信頼性がありません。ユーザーはセキュリティに自信があります。 これは、2015年5月に、郵便基地の流出から9か月が経過したことを思い出します。
結論:どうやら、ユーザーの半数以上がさまざまなサイトで登録するときにメールパスワードを使用しているようです。パスワードを侵害しても、それを置き換えることはありません。 特定のサイトでマージされたログインを満たす可能性は約1/25であり、半分の場合、パスワードは同じになります。
そして、よくある質問:すみません、いいえ-パスワードを共有できません。
第一に、それは私の側では非倫理的です。 次に、これらのデータベースがパブリックドメインで30分間見つからない場合-必要ないのかもしれません。
一致検索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 ) )
Black Archeology Dataminingの以前の問題
黒い考古学の採掘日:データ分析
辞書攻撃よりも効果的なものは何ですか?
次の号では、ボットを探し、「ランダムな」パスワードを決定し、統計分布を調べます。 お楽しみに!