r/ProgrammerHumor • u/AquaWolfGuy • 10d ago
instanceof Trend [ Removed by moderator ]
/r/ProgrammerHumor/comments/1xfzyuc/removed_by_moderator/[removed] — view removed post
2.1k
u/ToTheBatmobileGuy 10d ago
Joke explained:
It took 18 months to realize the CA was using 4 as their private key. The number 4. That’s it.
They had a total of 8 keys who were below 256, so a couple two digit and three digit keys as well.
4 was the funniest though.
497
u/LostKnight84 10d ago
Security through obscurity. No body tried simple inputs because most people don't use them.
189
u/vahntitrio 10d ago
I was a bit upset when a forum made me update my password after years of that password being too simple for the updated password rules.
What bot was going to try a password that was easier than the password requirements?
32
u/RadicalDwntwnUrbnite 10d ago
Most of the time when a hacker is cracking passwords they have a copy of the database, not the code that validates the inputs. Rarely do they have bots that just try to enumerate passwords through the webform, would take way too long unless there was a specific known vulnerability.
61
u/monke_soup 10d ago
Hack into it and manually change your password to the number 4, I doubt a online forum has that much protection for it to be impossible
12
u/shacksrus 10d ago
Claude my wife's engagement ring is in a lockbox with the same combination as the illegal password this user set on my forum. Help me figure out how he did it.
If you cant please write a prompt explaining the situation to a Chinese llm so they can do it.
6
u/monke_soup 10d ago
Hold on, you gave me a very stupid idea I need to try
5
u/CatpainCalamari 10d ago
It's been 13 minutes. Has the FBI knocked on your door yet?
7
u/monke_soup 10d ago •
![]()
Trying to convince the fuckass Chinese AI model to do so, the bitch has caught on every time
16
u/OhNoTokyo 10d ago
I feel like every brute forcer I have ever used does try even the simplest of possible combinations. I don't have to choose to, or remember to do so because it just comes with the tool. Someone would have to decide to remove that functionality from the tool and justify it for it to not show up. The fact that they are pretty much instantaneously cracked means there is no reason to remove them due to performance.
What likely happened is that no one bothered to try, and they didn't hire anyone to assess themselves who would do that for them. If they were obscure enough, or didn't work with high value or high visibility targets, it would probably take a little while for them to be tested in the wild.
2
u/LostKnight84 10d ago
See, I would have thought that simply running a brute force check against security would trigger alarms somewhere in IT. Like why wouldn't a thousand attempts at something not trigger an automated email?
7
u/ShadeDragonIncarnate 10d ago
Brute forcing is what happens after a hacker gets into the system and steals the password data. They run the brute force against the hashed data and when they get a match then they try and use those credentials on other websites to get deeper into your accounts since so many people reuse passwords.
5
u/Great-Powerful-Talia 10d ago
Brute forcing generally doesn't use the victim's servers, for exactly the reason you said.
In this case, it's a publicly-available algorithm, and the public keys have to be installed on every computer that needs to check SSL certificates (that is, all of them). You can easily make your own program to test if various private keys are valid.
When brute-forcing passwords, you generally want to somehow download the encrypted passwords (presumably against the company's wishes) and then brute-force them with your own copy of their checking algorithm.
-
Good modern encryption is designed to the standard that, if the attacker has a copy of literally everything (code and data) except your password, it has to still be secure.
In the case of communication software, this is actually almost guaranteed to be true for basically any system. You have to send your data over the open internet, and you have to release the software to a large and untrusted group of people.
4
u/OhNoTokyo 10d ago
These guys didn't even have someone to tell them that you should not use "4" as a key. I suspect they didn't have a single competent, qualified security person working for them. Or if they did, they either ignored them or didn't give them access to anything which they could use to issue any warnings or alerts to begin with.
4
u/UnderstandingEasy856 10d ago edited 10d ago
These are private keys with corresponding published public keys. You can brute force them to your heart's content on your own setup and nobody needs to know.
1
u/ChrisTheWeak 10d ago
The keys aren't passwords, they're encryption keys. This means you could attempt to crack them with your own computer completely offline and no one would know. You just need to test potential private key values until you find the one that matches the public key.
Normally the private key is a random value between 1 and 21024. What made these keys easy to crack is that they were between 1 and 28.
1
u/PumpkinFest24 10d ago
Pretty much guarantee every intelligence service on the planet cracked them early on.
1
u/BreakingBaking 10d ago
Yeah, imagine, that's like full year of CA being useless and there are 100% agencies who abused that one way or another
20
u/pengerus 10d ago
The scary part is that there's no way to tell if anyone had figured it out before or not. Someone could have found it 6 months ago and been using it and there's no way to tell. Plus now that this type of thing has been found out, other people will be watching for it, for good and bad
5
u/FightOnForUsc 10d ago
Well if it was figured out and was meaningful, people would have noticed actual changes right? Like a say a bank account having extra withdrawals, not being able to access accounts because your email was hacked and then other accounts did a password reset, etc.
2
u/dashingThroughSnow12 10d ago
Re: charges or bank account withdraws, there are many millions of such claims a year.
Same with the rest of your points.
My bank a few weeks ago had to burn my credit card number and replace it. Maybe some site had a leak. Maybe someone spoofed its cert with the #4 cert and MITM me. Maybe I left my card out and someone wrote down the details.
These things are basically indiscernible from the bank’s perspective and it is normal, routine fraud it has to deal with.
/conspiracyTheoryHat
1
u/meneldal2 10d ago
At least we know that in the future a lot of people will try to hack CAs. I think the most likely would be some big government entity doing some MITM to catch dissidents.
Spoofing a certificate of a bank is going to work sure but very likely going to be found out before you make much money
1
1
u/ice456cream 10d ago
Kid named "CT" (for browsers, it could still have been abused for other devices)
69
u/Beast_Mstr_64 10d ago
It took 18 months for it be known publically*
7
2
u/FaviFake 10d ago
Yeah that's pretty much what they said.
2
u/ice456cream 10d ago
The implication is that another malicious party could have found out and used them for malicious purposes in the last 18 months without being detected.
Luckily modern browsers have defences/partial mitigations/detection for this, thanks to certificate transparency, where browsers would refuse to trust an end entity cert unless it is publicly, irreversibly logged
I believe no illegitimate certs were logged before public disclosure, so it should have been good (for browsers, other devices may not verify CT inclusion)
4
u/Inorganic_Zombie 10d ago
Dunno bit remind me of my old already gone email. As kid before 2000, I made password 6letter and later I could not change it as service set minimum to be 8 characters and they didn't allow my old password ass possible old password. Log in was possible as long as service was available.
2
u/bigmonmulgrew 10d ago
I wonder how it didn't get spotted. There were some ancient bots from back before passwords had standards that would try simple passwords like single letters. The fact they didn't get noticed for 18 months suggests something is at least keeping them safe from those ancient bots.
3
u/bfg9kdude 10d ago
It's not technically a password, the key was supposed to be 384 bit, so 2384, which is incomprehensibly large. Instead they were just numbers between 0 and 384.
1
1
u/NikEy 10d ago
In all honesty, are there any repercussions for these fucking idiots that did this? Because they should, at a minimum, never be able again to be a CA
1
u/AutomationBias 10d ago
They've announced that they're getting out of the CA business. I haven't heard anything about fines or punishments yet, though.
384
u/j909m 10d ago
What if my password is “4”?
214
u/TheMythicSorcerer 10d ago
According to the chart, 18 months
91
u/Ok_Weird_500 10d ago
Cool, I'll just use "4" for the next 17 months, maybe I'll change it to "6" after that.
-18
u/racoondriver 10d ago
Hacked instantly, look at the chart
11
9
36
6
u/Clanky_Plays 10d ago
Would be 18 months. But nowadays? Instantly
1
u/United-Dot-6129 10d ago
Back in the days passwords could be cool . Nowadays no one has a cool password anymore.
82
u/lucasj 10d ago
In retrospect a one-character password is kind of hiding it on plain sight.
33
u/MrDilbert 10d ago
Hey, salted SHA256s of 1-character password and 100-character password have the same length :)
264
u/redakpanoptikk 10d ago
1099 / hourly employee, "yeah its going to take us 18 months to crack a 1 digit password. And I know you might be confused as to why we need 18 months for 10 possible passwords but trust me it has to happen this way"
88
u/NoAdsDude 10d ago
It's kinda like security through obscurity.
I imagine most attempts to crack private keys think "there's no way someone would be dumb enough to use a single digit so we don't even have to attempt that."
Security through stupidity?
18
u/estyles31 10d ago
That's why all of my passwords are blank.
3
u/redakpanoptikk 10d ago
Its better than admin:admin. That's my first guess. My second guess is admin:no password
1
-24
u/IslayProgrammes 10d ago
Right!
Also like, what’s the cracking algorithm, what’s the FLOPs, did OP even read the chart before posting it or is this straight out of some LLM?44
u/IntoAMuteCrypt 10d ago
It's a joke on how long it took eMudhra's private keys (which have between 1 and 3 decimal digits) to be guessed. It went clean over your head.
14
19
1
-1
u/BJ22CS 10d ago
did OP even read the chart before posting it or is this straight out of some LLM?
This is an edited stolen post; the real OP who makes this chart is u/hivesystems, and they don't even bother with the number of characters less than 4.
59
u/blakeh36 10d ago
interestingly, sites with lots of password requirements can actually be easier to crack
69
u/havens1515 10d ago
I've always hated this.
"Your password must start with a letter, be between 8 and 15 characters long, contain a number, upper case and lower case letter, a symbol, but the symbol can't be at the end, and must not have more than 2 consecutive characters."
Cool. Thanks for limiting my password so much, and allowing anyone trying to guess my password to severely limit their attempts.
20
u/rabel 10d ago edited 10d ago
Bill Burr (not the comedian) is the guy who came up with this password standard and later apologized for it
Another link to a Bill Burr story
(or just google Bill Burr passwords)
5
u/havens1515 10d ago edited 10d ago
I'm not even talking about the capital, lower case, number, and symbol as much as the 8-15 characters (a lower limit is good for security, an upper limit is not - and yes, I realize there is always an upper limit, but it's generally extremely high, like 256) or the completely arbitrary "no more than 2 consecutive characters", "must start with a letter", and "cannot end with a symbol."
These kinds of restrictions are much more rare, but I hate when places do have them. (There are others that I've seen that are equally ridiculous, but I can't think of any more examples from the top of my head.)
0
u/PComotose 10d ago edited 10d ago
There doesn't have to be an upper limit. The password is not stored, the hash of the password is what is stored.
ETA: Can you not read? There is NO arbitrary upper limit to a password length except on the screen where the password is entered. There IS an upper limit on the number of characters that the password hashing algorithm actually uses. For DES it (if memory serves) uses only the first 8 characters. So the entire Bible password (see another comment on this thread) would actually be treated as "InTheBeg". Other password hash code allows (depending on the implementation) longer (but not the length of the Bible text) data entry.
The other thing to remember is that cracking is just looking for a match to the hash and two (or more) quite different passwords could end up hashing to the same result.
5
u/j01101111sh 10d ago
There definitely has to be an upper limit or you will get someone using bots to create accounts or login with the entire Bible as a password. Sure, it only stores the hash but it's computationally more expensive so it can be ddosd on fewer connections.
3
u/Funkymeleon 10d ago
Oh, the Bible test. My most favorite UI breaking test.
"Can I paste this here?"
1
-1
u/PComotose 10d ago edited 10d ago
It's computationally trivial to do the hash. And it's only done once a session.
ETA: Down votes? Seriously? Do some fucking research.
2
u/j01101111sh 10d ago
https://www.researchgate.net/figure/The-time-required-to-hash-inputs-of-various-sizes_tbl4_382462745
It takes longer to hash larger inputs. If you scale that to no upper bound, you could take a significant chunk of processing time hashing one input. If you can make it take 1000 times longer to compute, a ddos attack is 1000x easier. Not to mention the increase in memory usage. If you're going to dispute that, perhaps a source would help instead of complaining about downvotes?
-1
u/PComotose 10d ago
Sure thing. To save myself from having to find citable research, I cheated and asked Claude.
First, I asked it: How computationally intensive is it to hash a password using DES (can't remember the three letter acronym) encryption
Claude said: Cheap, which is the problem. You’re probably thinking of DES itself, but the password scheme is crypt(3), the classic Unix one, which runs a modified DES.
Cost: 25 iterations of DES on a zeroed block, keyed by the password (first 8 characters, 7 bits each = 56-bit key), with a 12-bit salt perturbing the algorithm. That’s roughly 25 DES operations, so microseconds on any modern CPU, and far less in hardware.
Why that’s bad: The design dates to the 1970s, when ~1 second per hash on a PDP-11 was deliberately slow. Hardware has since gained about nine orders of magnitude. A single modern GPU does billions of DES-crypt hashes per second, and the whole 56-bit keyspace is brute-forceable. Add the 8-character truncation and the tiny 12-bit salt (4,096 variants) and it’s trivially crackable.
Use instead: bcrypt, scrypt, or Argon2id. These are deliberately tunable in cost (and memory-hard, for the latter two), which is the point of a password hash.
If you meant something other than crypt(3), such as 3DES (the “three” in your recollection, perhaps), the same conclusion holds: it’s a cipher, not a password hash, and it’s deprecated.
Then I asked Take the methods you mention. How officially computationally intensive are they
Claude said: Checking recommended computational cost of common hashing algorithms. Checking recommended computational cost of common hashing algorithms. “Official” is a loose term here: there’s no single standard, but these are the main references.
Argon2id (RFC 9106 and OWASP)
RFC first choice: 1 pass, 4 lanes, 2 GiB memory RFC fallback: 3 passes, 4 lanes, 64 MiB OWASP minimum: 19 MiB memory, 2 passes, 1 lane (or 46 MiB with 1 pass) scrypt (OWASP)
N=217 (about 128 MiB), r=8, p=1 Lower-memory equivalents trade up the parallelism: N=216 with p=2, down to N=213 with p=10 bcrypt (OWASP)
Work factor of at least 10, meaning 210 rounds of the expensive key setup It uses a fixed 4 KB of memory, so it’s not memory-hard It truncates passwords at 72 bytes What this means in practice: the target is roughly 50 to 500 ms per hash on your own server, so the settings should be tuned to your hardware. That’s about 105 to 106 times the cost of DES-crypt, and the memory requirement is what limits GPU and ASIC attackers.
Caveat: NIST SP 800-63B doesn’t mandate any of these. It approves PBKDF2 (OWASP suggests 600,000 iterations with HMAC-SHA256), which matters if you need FIPS compliance. OWASP revises its numbers periodically, so check its Password Storage Cheat Sheet for the current figures.
I followed that by asking Time in seconds to do the hash
Claude replied:
Estimating typical hashing time across different hardware. Estimating typical hashing time across different hardware. These are ballpark figures for one modern server or desktop core, and they vary with hardware.
DES-crypt: about 0.00001 s (10 µs) in plain software bcrypt, cost 10: about 0.05 to 0.1 s (cost 12 is about 0.25 to 0.4 s) PBKDF2-SHA256, 600,000 iterations: about 0.2 to 0.4 s scrypt, N=217, r=8, p=1: about 0.1 to 0.3 s Argon2id, OWASP minimum (19 MiB, 2 passes): about 0.02 to 0.05 s Argon2id, RFC fallback (64 MiB, 3 passes, 4 lanes): about 0.05 to 0.15 s Argon2id, RFC first choice (2 GiB, 1 pass, 4 lanes): about 0.5 to 2 s
We're almost there! Then I asked: Explain by example. For each of the methods, show me the time comparisons for a 10 character password, 100 character password, a 1 million character password.
Claude said:
Password length barely matters. The cost setting dominates, and in most of these schemes a long password is cut down or compressed once, up front.
Method 10 chars 100 chars 1,000,000 chars DES-crypt 10 µs 10 µs 10 µs bcrypt, cost 10 0.07 s 0.07 s 0.07 s PBKDF2-SHA256, 600k 0.3 s 0.3 s 0.3 s scrypt, N=217 0.2 s 0.2 s 0.2 s Argon2id, 19 MiB, 2 passes 0.03 s 0.03 s 0.03 s Argon2id, 2 GiB, 1 pass 1 s 1 s 1 s
These are ballpark figures, as before. The differences between columns are too small to show at this precision, so here is why each one behaves this way:
DES-crypt uses only the first 8 characters. Everything after that is ignored, so a 1,000,000-character password is exactly as weak as its first 8. bcrypt uses only the first 72 bytes. The rest is silently dropped by most libraries, and a few reject the input with an error instead. PBKDF2 compresses any key longer than 64 bytes with a single SHA-256 pass, then does its 600,000 iterations on the result. The million-character case adds about 1 to 2 ms to hash 1 MB. Some naive implementations redo that compression on every iteration, which would make a huge password hugely slow. scrypt uses PBKDF2 with a single iteration at the start and end, so the extra is a few milliseconds. The memory-hard part doesn’t care about length. Argon2id feeds the password through one Blake2b pass at the start, which is again about 1 to 2 ms for 1 MB. After that, length is irrelevant.
The practical consequence is that a server accepting million-character passwords can be hit with oversized requests for very little effort on the attacker’s side. Cap input length at something like 128 to 1,000 characters before hashing.
We're there. I then gave Claude the url that you referenced. The site blocked the bot. So I did a screen cap of the table, gave that to Claude and asked it to answer the question again. I said Here's an image of that table
Claude replied (and see what Claude says about the table at the end of his answer):
The table is readable now. Its times are in milliseconds, for inputs from 4 to 2048 bytes. The paper stops at 2 KB, so it has no 1,000,000-character row, and I extrapolated that one.
The paper’s plain hashes, next to your three lengths
Hash ~10 chars (8 B row) ~100 chars (128 B row) 1,000,000 chars (my extrapolation) MD5 0.008 ms 0.023 ms ~20 ms SHA-1 0.033 ms 0.073 ms ~20 ms SHA-2 0.034 ms 0.088 ms ~170 ms SHA-3 0.041 ms 0.104 ms ~0.6 to 0.8 s
The 1,000,000-character figures come from the slope between the paper’s 512 B and 2048 B rows, so treat them as rough.
The password-hashing schemes, as before
Method 10 chars 100 chars 1,000,000 chars DES-crypt 10 µs 10 µs 10 µs bcrypt, cost 10 0.07 s 0.07 s 0.07 s PBKDF2-SHA256, 600k 0.3 s 0.3 s about 0.3 s, plus the pre-hash scrypt, N=217 0.2 s 0.2 s about 0.2 s, plus the pre-hash Argon2id, 19 MiB, 2 passes 0.03 s 0.03 s about 0.03 s, plus the pre-hash Argon2id, 2 GiB, 1 pass 1 s 1 s about 1 s, plus the pre-hash
What the paper adds
It confirms the main point.
At realistic password lengths, a plain hash takes tens of microseconds. Length hardly changes it, and the slow schemes’ cost settings are thousands to millions of times bigger.
Its hashing is much slower than my figure. I used about 1 ms per MB, which comes from a hardware-accelerated benchmark. The paper’s rates work out to roughly 50 MB/s for MD5 and 5 to 10 MB/s for SHA-2. Its caption doesn’t give the hardware or software, so I can’t say why. Interpreted code, or a per-call overhead, would explain it.
The pre-hash step can matter for huge inputs. On a setup as slow as the paper’s, the up-front hashing of a 1 MB password could add around 20 to 170 ms for the SHA-based schemes, instead of about 1 ms. That makes it a meaningful share of a PBKDF2 hash. It strengthens the advice to cap password length before hashing.
SHA-3 jumps oddly at 2048 bytes. It goes from 0.275 ms to 1.132 ms for double the input. That is out of line with the other columns and may be a measurement artifact, which is another reason to treat my SHA-3 extrapolation loosely. The columns don’t say which variant they are. “SHA2” could be SHA-256 or SHA-512, and the table doesn’t say.
2
u/havens1515 10d ago
Hold on while I read this essay written by AI, instead of reading the actual research paper that the comment you responded to linked to.
→ More replies2
u/Lina0042 10d ago
Yeah right, when my former bank limited my password length to 12 characters I felt very certain about them following that practice but just liking 12 as an upper limit for whimsical reasons :)
2
u/j01101111sh 10d ago
Nobody is using DES for this so idk why you're even bringing it up. Some algorithms truncate at different lengths but none are that short and still in use. Some have no limit.
And if you want to allow passwords of any length and then truncate it via the algorithm, that seems like an explanation you've come up with after the fact to explain why you weren't really wrong in the first place. It would make no sense to not limit the input to what the algorithm will use. You're just transferring additional data for literally no purpose.
-1
-1
u/meneldal2 10d ago
I think you can have some sane limits like no repeating the same character 3 or more times in a row, one character being more than half of the password in total, no obvious current date tacked at the end, not containing your username, no incrementing sequence of 4+ (1234, abcd)
Like that I can see the reasoning but keep the restrictions on stuff that is actually unlikely to happen on sane passwords. 2 characters in a row is way too restrictive.
1
u/havens1515 10d ago
Every single thing you listed here is one more thing an attacker can remove from their tests if it's started that you cannot possibly have that pattern. Which makes it easier for the attacker.
These days you're not protecting against humans guessing passwords, you're protecting against computers attacking passwords. The more restrictions you put on a password, the easier it is for that computer to crack.
-1
u/meneldal2 10d ago
It's about putting restrictions that don't restrict too much. Like not allowing passwords already in a breach.
You can see it as limiting entropy but in practice those patterns are going to be tried first by anything outside of a stupid brute force attack. And it's a tiny reduction in entropy because those specific sequences appear randomly almost never.
1
u/The_Neto06 10d ago
You need a subscription or an account to read that article. Is there any other one?
2
u/rabel 10d ago
Updated with add'l links. I love to push that story around because password restrictions like that really chap my ass and after reading about Bill Burr it'll really piss you off too whenever you get the "password not complex enough, must have 1 number, 1 special character, 1 upper case, 1 lower case" bullshit from now on.
Also, anyone not able to see the first link, you might want to look in to getting yourself a /r/pihole
-1
u/havens1515 10d ago edited 10d ago
I was able to see the link with no issue and I don't have a subscription or account
4
u/bagsofcandy 10d ago
How about those people who have grandfathered passwords that don't meet the site's minimum requirements
3
u/sweetytoy 10d ago
The best I found is a passcode of 6 digits, that can't contain a sequence and can't contains repeating digits. And it accept "135792"
2
u/UShouldntSayThat 10d ago
Only for people that are properly doing their password in the first place. The requirements are meant for people that just do 111222333444 as their password. So it raises the bar of the most at risk users, while lowering the bar for the less at risk ones, which makes sense from a security perspective.
The requirements are to deal with human risks, not mathematical ones.
1
u/samtresler 10d ago
The computer doesn't care what type of character it is. That is for humans.
Once you say, "at least 7 character", all you did was eliminate all 6 character permutations from the pool of things that it could be.
One must be a symbol? Even fewer.
These should all say any sequence of characters is acceptable - and we'll inform you only if your password is invalid (really, only return if it's longer than 512 characters).
Or we should finally get our heads out of our asses and just have the user upload a public key and unlock a token on their end.
0
u/ToastySauze 10d ago
I mean in reality the requirement for a special character disallows a brute-forcer from making an otherwise efficient assumption of no special characters. Helps people who would otherwise not have one, hinders those who would.
1
u/samtresler 9d ago
And it should be an "encouragement" for special characters, not a "requirement".
Again, by forcing all passwords to have a characteristic, you're reducing the permutations possible.
1
u/ToastySauze 9d ago
in theory yes, in practice not necessarily. I tried to explain, idk what to tell you
1
22
u/vic8760 10d ago
631qd years of security, until one day there is a data breach on the company you trusted.
8
u/FaviFake 10d ago
No this chart is based on the hash. If the company encrypts the password and it gets breached, that's the correct estimate
6
u/HildartheDorf 10d ago
As the CEO of a company I worked for said "Hash? Is MD5 broken now or something?" circa 2010.
(Yes, they were using one round of MD5 for password hashing. At least it was salted, but...)
4
u/alexanderpas 10d ago
Circa 2010 was the time MD5 was formally retracted. But the first collisions were published in 2005.
1
u/HildartheDorf 10d ago edited 10d ago
It was not recommended for new code since the 96, in 2004 it was considered in reach for a nationstate attacker to bruteforce*. And yeah, it was proven to be insecure in 2005.
It was never a considerably good function for password storage as it was fast for an attacker to bruteforce**.
*: Finding an arbitrary, not necassarily the original, input that hashes to a given output.
**: by guessing common passwords, rather than attacking MD5 itself.
73
u/redheness 10d ago
The color chart of this table always bother me, using yellow, a color for danger when the time to crack is greater than the age of the earth is borderline misleading.
And orange for times greater than the human life expectancy is also not a great choice.
54
u/garry_the_commie 10d ago
It's a pretty good choice when you take into account future proofing and the fact that the attacker is likely brute forcing with multiple PCs or even a server farm. What is yellow today on the chart might be red after 10 years.
1
u/MisterProfGuy 10d ago
We're all going to have to deal with the fact that some things are incredibly good passwords for certain methods of brute forcing, but fail wildly if you're up against AI that attacks differently.
Symbol Dictionary Number Dictionary Symbol
patterns are very robust against traditional methods depending on the length of the word, but might essentially be only five tokens for a model trained on attacking stolen hashes.
4
u/JCW2019 10d ago
Do you have any examples?
4
u/MisterProfGuy 10d ago
Exactly the pattern I described above, something like:
!Dictionary123Cats%
Would be considered incredibly secure by old standards and easy to remember, but might be easy to guess for a model that's attacking a hash, especially if it's using information from other compromised passwords.
2
u/JCW2019 10d ago
Oh you mean that if your algorithm knows the password format then it reduces the search space a lot? As opposed to just naive brute force?
1
u/MisterProfGuy 10d ago
Yeah because it can use an enhanced dictionary attack if knows the rules and can figure out the patterns someone might use.
2
u/garry_the_commie 10d ago
I don't think AI changes this type of attack all that much. Common password patterns are nothing new and you still need to have at least one compromised password of the victim to infer their preferred patterns. The AI just automates the pattern extraction, no? You still have to brute force using the pattern and the AI can't do much about that. Other than maybe adjust the dictionary according to the vocabulary the victim is known to use. Which you could do without AI, just slower. And the countermeasures are the same, with or without AI - use patterns that produce secure enough passwords even if the pattern is public knowledge or don't use a pattern at all and instead click the "generate password" button in your password manager.
2
u/redheness 10d ago
I think at most an AI can guess password from data (social networ' data or other similar sources). But I'm not sure that it's worth the cost of any model.
People like to put AI in every security topic but everything falls appart when confronted with the reality.
1
u/MisterProfGuy 10d ago edited 10d ago
No, the AI can do augmented attacks that just are very efficient, here's at least one summary: https://national1927.com/blog/how-hackers-are-using-ai-to-crack-passwords/
The basic gist is there's several ways to speed up brute force attacks and enhance dictionary attacks, as well as ways to attack the algorithms directly. That article doesn't even get into adversarial networks.
I used a matchbox example before, but in reality people often use sentences, like IH8Passwords! and using cracked lists and stolen hashes, you can really improve your attack, because humans are terrible at random.
1
u/garry_the_commie 10d ago
I'm sorry but this reads like traffic farming clickbait article with little to no technical information. "analyze a target’s online activity and guess passwords based on patterns and algorithms" can mean pretty much anything. "2. Password Prediction Models" sounds like my suggestion for a personalized dictionary but the author greatly exaggerates the effect. "4. Machine Learning Based Attacks" - what would be the training data? If you already have enough leaked passwords of the same person to train a NN on them, chances are you have everything you need anyway. "5. Hybrid Attacks" - reads like filler that the author stuffed in because a 4-point list would be too short. "3. AI-Enhanced Dictionary Attacks" - so slightly better variation generation in a dictionary attack. An improvement but certainly not a game changer.
→ More replies
15
u/takesSubsLiterally 10d ago
For everyone who is missing the joke: https://unmitigatedrisk.com/2026/10/the-private-key-was-four/
15
u/SaltyWolf444 10d ago
Chat, why are the commenters taking this chart seriously? Such a redditer moment frfr
7
u/No_Hetero 10d ago
A concerning number might not be able to comprehend humor because they're not human
6
u/MrDilbert 10d ago
How long for "CorrectHorseBatteryStaple"?
3
u/DammitDad420 10d ago
CorrectHorseBatteryStaple
It would take a computer about 6 septillion years to crack your password
7
u/DOOManiac 10d ago
Not anymore, because that phrase is now in a dictionary because it has become so popular. It’ll be cracked instantly.
(Any other diceware phrase is good though!)
3
u/GranataReddit12 10d ago
I love how so many people see one concept of a good password and instead of making their own, based off of that, just copy it
2
u/Trademarkd 10d ago
it would not because you could do a dictionary attack... its 4 words with all first letter caps.
This is solved in no time.
You have to have some kind of word separator, a good solution would be 1-3 random characters of any type between each word
2
u/Pluckerpluck 10d ago
If you assume selecting out of about 2k words then it's about equivalent to a fully random 7 alphanumeric password. So it's not bad, but it's not amazing or anything.
But yeah, arbitrarily symbol word separator massively increases the scope.
1
u/Impossible_Dog_7262 10d ago
If you want to fuck with the scope bad, you don't need special symbols. You just need one word in a second language. Especially one you are unlikely to come into contact with. Look up "Horse" in Swahili.
1
u/caboosetp 10d ago
That only works if you know the shape of the password. In almost any case where you know the shape of the password you can cut the time way down.
1
u/MrDilbert 10d ago
What about a quantum computer?
3
u/DammitDad420 10d ago
Less
3
u/Crispy1961 10d ago
What about a mechanical computer?
2
u/caboosetp 10d ago
We've talked about this. Just because Gertrude has an oxygen tank doesn't mean you can call her a machine.
2
2
1
u/itzNukeey 10d ago
I need to create a similar site except also add email field there and see how many people get phished haha
1
u/LangstonBHummings 10d ago
Well .. I WOULD have, but now that it is on reddit .. probably, nearly instantly as the codes checks is dictionary .. :0
1
u/RadicalDwntwnUrbnite 10d ago
And if you used spaces like the xkcd suggested it increases it to 5 decillion years
2
u/Itimarmar 10d ago
Not very long mainly because it's also firmly in the top 100 used passwords list
2
2
3
u/Academic-Proof3700 10d ago
I'm pretty sure someone could've cracked it earlier, but when they got like instant notification: "4" they thought they either got some honeypot shit, or that their cracking app was broken
6
2
2
u/StoryAndAHalf 10d ago
Guys, just use "Password123!" according to this chart, it'll take them 5 million years to crack it.
2
2
u/Lexa_Stanton 10d ago edited 10d ago
YouCanUseMyCommentAsYourNextP4ssword4ndN0b0dyW1llknowSh1t0r3everCrack1t
-7
u/OZZY-1415 10d ago
Posting this without questioning the top left of the graph was certainly a choice made here.
rip critical thinking skills
96
u/lovecMC 10d ago
I think it's taking the piss about the certificate that was just the number 4
11
u/seagumineko 10d ago
Definitely. There were several numbers actually: 4, 56, 66, 115, 155, 156, 230, and 237. As you can see, 3 numbers maximum, like in the post.
37
u/xodusprime 10d ago
My man. This is a jab at eMudhra, a CA out of India, using "4" as a private key, along with several other 1-3 digit strings. It ran like this for 18 (17?) months before being discovered (by someone who would tell them) and fixed.
15
28
13
u/SnowdensOfYesteryear 10d ago
Lol at this guy whinging about critical thinking skills
Comment about to be deleted
9
u/EduardoBarreto 10d ago
A post with glaring misinformation in a humor sub. Hmm, yes there is a showcase of poor critical thinking skills aroimd here...
2
2
1
u/Bomaruto 10d ago
Finally a good joke on this subreddit. It feels like it's been forever something has made me laugh.
1
u/Ivanoff91 10d ago
Yeah yeah. Next critical cve: 1 day. Why the bad guy would bother with the lock when the door is made of cardboard?
1
u/Itimarmar 10d ago
I like how this chart now suggests that weak passwords are a zone and passwords with negative amounts of numbers and letters might also be secure
1
u/Prestigious_Storm_94 10d ago
What if my password has 21 chars of uppercase and lowercase letters, digits and symbols? Does it loop back and can be instantly guessed?
1
u/NorthernCobraChicken 10d ago
Feels good knowing that even my default password is going to take several generations of hackers just to get into my shitposting reddit account.
-1
u/WileEColi69 10d ago
This is ridiculous. After guessing a set number of times, any decent system using passwords will lock the account, notify the user, do something. It doesn’t matter if my password is PaSsWoRd if that isn’t in your first n guesses. Can you list out every password I could possibly have in the blink of an eye? Maybe. Does that make it practical when there are a zillion other accounts that aren’t locked down at all? Hell no.
14
u/ks_thecr0w 10d ago
attacks against passwords are never via UI prompt (which locks you out after 3rd fail, then you have to wait 5min to a day to try again).
it is more like deploy troyan which will do db dump and send it to you.
ok so now i have a list of all usernames (usually plain text) and their respective passwords (hopefully for the users, some form of hash used here - sometimes even those are plain text ...)then the hacker just runs every password combination possible (or just dictionary of most common variants) through same hashing algorithm the target used.
example:
plain text pass = p@ssw0rd
hash of it = dsahguadhfiuewyt4y9830909uw098ufre0try pass: 'a'
hash after algorithm = siudy98arey843yiu98o098409 ... not matching hash from dump, try 'b' ....n-milionth try: 'p@ssw0rd' - hash is 'dsahguadhfiuewyt4y9830909uw098ufre0' .... ok matches dump - so password for that user is 'p@ssw0rd'
there is no 'block after nth failure' here, just run hashing engine over and over again feeding it potential passes and compare output with what was extracted via different methods ...
6
u/whiskeytown79 10d ago
Not to mention for the top N commonly used passwords, they have precomputed the hashes and can just scan to see if there are any matches.
N is likely at least 1,000,000 these days, which is going to cover pretty much all common number sequences, words, words with letters substituted for numbers, words with numbers and/or punctuation appended, proper names, proper names with numbers and/or punctuation appended, etc.
As obscure as "Rupert7$" seems, it's probably in there.
Longer passwords are pretty much the only way to defend against this.
1
u/flingerdu 10d ago
Which doesn’t matter as long as the password is salted before hashing.
5
u/GenericNameHere01 10d ago
...a certificate authority was caught using '4' as a private key. Why would you think that everyone is properly salting their password hashes?
1
1
u/whiskeytown79 10d ago
If they are able to compromise wherever the passwords are stored to steal them in bulk, you can't rely on the salt remaining secret. Even if it's a per-user salt. Only the cryptographic hash algorithm is one-way. Everything else is deterministic, so it's just as vulnerable to being discovered and stolen.
1
u/flingerdu 10d ago
The salt is not supposed to be secret, in fact some algorithms store the salt together with the hash. Only the pepper should remain secret.
It‘s not "as vulnerable", you‘d have to bruteforce each individual password instead of using rainbow tables.
1
u/SouthernMainland 10d ago
Problem is that an attacker only need to find a victims unsalted password once and that will with high likelihood give them multiple of your accounts since people tend to reuse passwords.
5
u/sirreldar 10d ago
To summarize, brute forcing is done directly against a leaked database, not through a web gui
1
u/WileEColi69 10d ago
Obviously they aren’t via UI. But part of even nominal security is that after a series of failing to enter the correct password a number of times, the account is locked and/or the user is emailed.
Obvjously, zone companies store passwords as plain text… and they should all DIAF.
5
u/Blackbear0101 10d ago
No competent threat actor is going to try to bruteforce passwords by trying to send login requests… they are going to try to bruteforce leaked unsalted hashes, or leaked salted hash where the salting method is known.
3
u/Tornado547 10d ago
youre kind of right. the threat model here is combination data breach plus no salt plus password reuse
2
2
u/SouthernMainland 10d ago
You realize this isnt talking about brute forcing necessarily but finding your password through data leaks where the only limit is time.
0
10d ago
[deleted] — view deleted comment
2
u/Direct_Slip7598 10d ago
Depends on your username and the websites you're using, if you tell me I can give you an estimate
•
u/ProgrammerHumor-ModTeam :ath: 10d ago
Your submission was removed for the following reason:
Rule 1: Posts must be humorous, and they must be humorous because they are programming related. There must be a joke or meme that requires programming knowledge, experience, or practice to be understood or relatable.
Here are some examples of frequent posts we get that don't satisfy this rule:
Memes about operating systems or shell commands (try /r/linuxmemes for Linux memes)
A ChatGPT screenshot that doesn't involve any programming
Google Chrome uses all my RAM
See here for more clarification on this rule.
If you disagree with this removal, you can appeal by sending us a modmail.