Slow-hash algorithms are proposed to defend against traditional offline password recovery by making the hash function very slow to compute. In this paper, we study the problem of slow-hash recovery on a large scale. We attack the problem by proposing a novel concurrent model that guesses the target password hash by leveraging known passwords from a largest-ever password corpus. Previously proposed password-reused learning models are specifically designed for targeted online guessing for a single hash and thus cannot be efficiently parallelized for massive-scale offline recovery, which is demanded by modern hash-cracking tasks. In particular, because the size of a probabilistic context-free grammar (PCFG for short) model is non-trivial and keeping track of the next most probable password to guess across all global accounts is difficult, we choose clever data structures and only expand transformations as needed to make the attack computationally tractable. Our adoption of max-min heap, which globally ranks weak accounts for both expanding and guessing according to unified PCFGs and allows for concurrent global ranking, significantly increases the hashes can be recovered within limited time. For example, 59.1% accounts in one of our target password list can be found in our source corpus, allowing our solution to recover 20.1% accounts within one week at an average speed of 7200 non-identical passwords cracked per hour, compared to previous solutions such as oclHashcat (using default configuration), which cracks at an average speed of 28 and needs months to recover the same number of accounts with equal computing resources (thus are infeasible for a real-world attacker who would maximize the gain against the cracking cost). This implies an underestimated threat to slow-hash protected password dumps. Our method provides organizations with a better model of offline attackers and helps them better decide the hashing costs of slow-hash algorithms and detect potential vulnerable credentials before hackers do.
[1]
Xu Zhou,et al.
Detecting harmful data races through parallel verification
,
2015,
The Journal of Supercomputing.
[2]
Wenyuan Xu,et al.
Shadow Attacks Based on Password Reuses: A Quantitative Empirical Analysis
,
2018,
IEEE Transactions on Dependable and Secure Computing.
[3]
Xu Zhou,et al.
Collaborative Technique for Concurrency Bug Detection
,
2014,
International Journal of Parallel Programming.
[4]
Jia Yan,et al.
Mining topical influencers based on the multi-relational network in micro-blogging sites
,
2013,
China Communications.
[5]
Pengfei Wang,et al.
DFTracker: detecting double-fetch bugs by multi-taint parallel tracking
,
2016,
Frontiers of Computer Science.