Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
EAT THE EGGS RICOLA
May 29, 2008

Blue Footed Booby posted:

It's incredibly frustrating when sites won't let you specify a custom security question, and then only provide poo poo like "what is your mother's maiden name" that's trivial to find out for anyone whose extended family is on Facebook.

I answer these questions by just randomly generating passwords using a password manager, but I figure if someone was determined to get into my account and they called in and answered "what is your mother's maiden name" with "i can't remember, it's just a bunch of random letters", whoever they were talking to would let them in more often than not.

Adbot
ADBOT LOVES YOU

1337JiveTurkey
Feb 17, 2005

Banks also don't want to make it too hard to access your money. "That time my flight out of Sevastopol was cancelled and I got stranded in a goddamn war zone because they locked my card when I tried to buy a train ticket and wouldn't unlock it after calling them" is going to cost a liver transplant or three for the PR department.

QuarkJets
Sep 8, 2008

When I first created a Vanguard account, years ago, their passwords had to be exactly 10 characters long with at least one special character

Now their passwords can be longer than 10 characters, but they can't have any special characters :psyduck:

I also have a bank account password that won't let you have sequential letters or numbers. So your password can't include "567" or "abc" or whatever. This means your password can't include any words with sequential letters such as "define" or "nope"

QuarkJets fucked around with this message at 06:07 on Oct 21, 2014

TheresaJayne
Jul 1, 2011

Bonfire Lit posted:

Also Blizzard probably saves a lot more money on not having their CS agents explain to people what the caps lock key does than they have to spend on restoring accounts that were hacked because the password was case insensitive.

I dont play wow anymore. But since i stopped playing my account was hacked - even though i have the 2 factor auth and someone apparently hacked my account and logged in from china....

WTF!!!!! how????

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe

Centripetal Horse posted:

I have a friend who I occasionally work with on programming projects. He is the worst array-abuser I have ever seen in my life. There is no programming challenge that he does not solve by cramming arrays into other arrays. Half the time, I can't even find the logic portion of his programming, and it looks like the arrays are magically making things happen. When we first worked together, I ribbed him about it, because I thought it was a one-off thing, where our thought processes just worked a bit differently. Nope. It's every block of code he writes in any language to solve any problem.

When I try to go through modules he's written, I am faced with literally pages upon pages of code that look like this:

code:
function dosomethingorother(int bbGclrtnN) {

arrays

}
Code not remotely valid, probably missing all kinds of bracket and whatnot, but it conveys the feeling of trying to work on this friend's code.

I used to write code a bit like this (but less extreme), but I've grown out of it. I don't think I ever used ++ or -- operators within multiply nested arrays though. Actually, I don't think those operators should be combined with other operators in the same statement at all.

Mogomra
Nov 5, 2005

simply having a wonderful time
Here's some choice Node.js I ran into at work today:

code:
// TODO there has to be a better way to parse this

    if (typeof localRaw.thing_0 !== 'undefined') {
if (edit) {
if (request.app.request.fields['thing_0_changed'] == '1') {
local.push({path:localRaw.thing_0.path,name:localRaw.thing_0.path+localRaw.thing_0.name.substring(localRaw.thing_0.name.length - 4),href:request.app.request.fields['thing_0_href']});
request.app.request.fields['thing_0_websrc'] = '';
}
}
else {
localFiles.push({path:localRaw.thing_0.path,name:localRaw.thing_0.path + localRaw.thing_0.name.substring(localRaw.thing_0.name.length - 4)});
}
}

/* Repeat the exact same thing 25 times with no tabs or comments
   thing_1, thing_2, ... thing_25 */
It's tough being a coder. If only there was some way to do the same thing more than once. Or maybe some way to format the code that is written in a way that human eyes can understand... Sadly we are not that advanced yet.

I feel bad for the dev because he's a .NET guy forced into working on Node.js, but drat... The commit message is simply "edit smart things."

e: It's not really called "things" in the code, that's my own edit for this post.

Mogomra fucked around with this message at 16:02 on Oct 21, 2014

Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...

QuarkJets posted:

This means your password can't include any words with sequential letters such as "define" or "nope"

Well that doesn't seem like a huge restriction seeing as you shouldn't be using words in your password

lord funk
Feb 16, 2004

Dessert Rose posted:

Well that doesn't seem like a huge restriction seeing as you shouldn't be using words in your password

Wasn't this kind of debunked a while back? Like just having tons of characters is really your best bet because it makes it hard to brute force.

chickentomorrowfastpalpablebarnyard

vs

7fhv73

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.
There's two sides, length reduces vulnerability to brute forcing by character, as in try a, b, c, d, e etc etc. That said brute forcing typically doesn't do that as a first pass. They take dictionaries of common words, common manglings (zeros for o, ones for I, etc) and brute force with the dictionary stuff. Word permutations would be vulnerable against that style of brute forcing, provided correct spelling that means 6 words to guess.

The thing about passwords is nothing is ever 'debunked'. Its about social engineering as much as it is about cryptography, knowing the passwords people use is the biggest source of correct guesses, now that rainbow tables are less useful due to per user salting (not that everyone does this yet). Password theft moves with the times, and the security approaches people use.

If you use anything but pure randomness you password may be guessable by a brute force algorithm using dictionaries as a source. That is especially true if your method of creating passwords lines up with common wisdom of the time. That said though, vulnerability requires the ability to brute force, which either means a major password database theft or a poorly secured API endpoint (that let's you constantly retry authentication).

Provided you don't have a single golden password available on someone's service (as in, its local only, maybe for accessing your password locker) you are unlikely to lose the primary password to all your other passwords, and can just change the passwords that get compromised on demand.

Maluco Marinero fucked around with this message at 19:09 on Oct 21, 2014

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Outside of infrequent spearfishing types of attacks, the shared password problem is IMO the only one that's really economically interesting to use as an attacker. (In spearfishing cases, malware probably works well too.)

Losing one password from a low-significance/low-security site is not a big deal. Losing a password from a high-significance/high-security site is unlikely and not worth making lifestyle decisions over as long as your password isn't bottom-5% stupid. Losing a password from a poo poo-tier site and that granting chaining to the email account you use for password resets is the thing that people should worry about.

Exception: brute forcing of machine passwords with physical access is a thing, and can be pretty damaging.

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

Subjunctive posted:

Losing a password from a poo poo-tier site and that granting chaining to the email account you use for password resets is the thing that people should worry about.

Yep, ding ding ding. The big thing is to not reuse passwords, but then that basically means use a password manager and let it do the thinking for passwords.

Dylan16807
May 12, 2010
Trying to label words and characters as good or bad is kind of missing the point.

A random word has about as much entropy as two random characters. Mix and match freely until you have enough.

Blue Footed Booby
Oct 4, 2006

got those happy feet

Maluco Marinero posted:

Yep, ding ding ding. The big thing is to not reuse passwords, but then that basically means use a password manager and let it do the thinking for passwords.

Or write them in a loving book. Anyone who gets into my house already has my checkbook, financial records, and the entire computer. Once that happens you're hosed anyway, so why memorize anything you don't need when outside your home (edit: aside from the one for your main email account)?

Also, use the same password for all the poo poo tier stuff. Oh nooo, they compromised all the mmo trial accounts I don't remember creating! :v:

Blue Footed Booby fucked around with this message at 21:00 on Oct 21, 2014

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Blue Footed Booby posted:

Or write them in a loving book. Anyone who gets into my house already has my checkbook, financial records, and the entire computer. Once that happens you're hosed anyway, so why memorize anything you don't need when outside your home (edit: aside from the one for your main email account)?

Also, use the same password for all the poo poo tier stuff. Oh nooo, they compromised all the mmo trial accounts I don't remember creating! :v:

I'll just copy/paste my password right off this piece of paper. brb

QuarkJets
Sep 8, 2008

Dessert Rose posted:

Well that doesn't seem like a huge restriction seeing as you shouldn't be using words in your password

There's nothing wrong with using a word in your password. Even if you use randomly generated strings of alphanumeric characters there's a decent chance that you'll wind up with at least 3 sequential characters. It's a stupid rule to impose

1337JiveTurkey
Feb 17, 2005

Or just hide it in plain sight: export PS1="(\!)[\u@\h:\w]\$ " (Note: This is probably a bad idea)

Karate Bastard
Jul 31, 2007
Probation
Can't post for 2 hours!
Soiled Meat
I seem to recall someone (in here?) relating a story about a fairly important service having a 4 digit pin code for login, and you were not allowed to have sequential numbers (at all) or repreated numbers (at all), totally choking all but the last vestiges of entropy out of that paltry little sequence, for the sake of increasing it. Like 3658 and 1774 would be forbidden because 65 are sequential and 77 is a repeat.

Hey. You. Stop doing security, right now. Step away from the company.

ErIog
Jul 11, 2001

:nsacloud:
That system was actually 2-factor authentication, though. It was the card in addition to the pin number in your head. It also wasn't really possible to brute force due to the transaction speed of the pin check taking forever, and the bank would also lock the card after a certain number of attempts.

So, in terms of meeting basic security criteria for a system it wasn't all that terrible. Users also generally liked it because remembering 4 numbers was pretty easy.

There are a lot of well-meaning restrictions placed on password system by admins that don't fully understand what the hell their auth system is actually doing, though. As you stated, banning sequential and repeated characters removes entropy from the system and makes the problem space for brute forcing smaller. That's probably not a huge difference if you're doing 16-character case-sensitive with punctuation, but it can be a real big difference if it's 8 characters alphanumeric case insensitive.

baquerd
Jul 2, 2007

by FactsAreUseless
We have a C++ binary and an HTML 5/Javascript app that are about to cover overlapping niches in the category of real-time display of live data. Cue clueless product owner suggesting we avoid duplication of effort by either having the C++ binary interpret the Javascript or the Javascript to call the C++ binary. Fortunately, I'm pretty sure I headed that one off at the pass.

Yeah, it does suck that we have duplication of effort, but overall the apps fulfill different use cases and have different customers.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

baquerd posted:

We have a C++ binary and an HTML 5/Javascript app that are about to cover overlapping niches in the category of real-time display of live data. Cue clueless product owner suggesting we avoid duplication of effort by either having the C++ binary interpret the Javascript or the Javascript to call the C++ binary. Fortunately, I'm pretty sure I headed that one off at the pass.

Yeah, it does suck that we have duplication of effort, but overall the apps fulfill different use cases and have different customers.

Emscripten?

JawnV6
Jul 4, 2004

So hot ...

baquerd posted:

Cue clueless product owner suggesting we avoid duplication of effort by either having the C++ binary interpret the Javascript or the Javascript to call the C++ binary.

Seems like the safest path is to start both workstreams.

baquerd
Jul 2, 2007

by FactsAreUseless

Subjunctive posted:

Emscripten?

If you tell him about that, I'll find you, no matter what it takes. The Javascript app would take a week at most on its own to modify, if you add that crap, probably more like 6 months once all the dependency issues are worked out.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

baquerd posted:

If you tell him about that, I'll find you, no matter what it takes. The Javascript app would take a week at most on its own to modify, if you add that crap, probably more like 6 months once all the dependency issues are worked out.

Nah, it's pretty easy. I think we use libjpeg as JS for client-side image resizing now. The ergonomics are pretty decent.

baquerd
Jul 2, 2007

by FactsAreUseless

Subjunctive posted:

Nah, it's pretty easy. I think we use libjpeg as JS for client-side image resizing now. The ergonomics are pretty decent.

OK, saying I give you the benefit of the doubt, these aren't straightforward library functions I'm talking about, they're entirely different view models. The duplicated functionality is displaying a new type of event that is now shared between the two systems. Cross server requests would also come into play. Just take my word for it that even if Emscripten was the most seamless translator imaginable, there would be more side effects than would be worthwhile.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

baquerd posted:

OK, saying I give you the benefit of the doubt, these aren't straightforward library functions I'm talking about, they're entirely different view models. The duplicated functionality is displaying a new type of event that is now shared between the two systems. Cross server requests would also come into play. Just take my word for it that even if Emscripten was the most seamless translator imaginable, there would be more side effects than would be worthwhile.

I don't know why you insist on contradicting the analysis that I, unburdened by facts, have generously provided.

baquerd
Jul 2, 2007

by FactsAreUseless

Subjunctive posted:

I don't know why you insist on contradicting the analysis that I, unburdened by facts, have generously provided.

I didn't think those loving ergonomics were going to come into play, but now I see how things are. Do you even have a standing desk?

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

baquerd posted:

I didn't think those loving ergonomics were going to come into play, but now I see how things are. Do you even have a standing desk?

Motorized, baby.

TheresaJayne
Jul 1, 2011
Of course you should always use a password of ';drop table users;

Soricidus
Oct 21, 2010
freedom-hating statist shill

Subjunctive posted:

I think we use libjpeg as JS for client-side image resizing now.
I long for the sweet embrace of death.

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

Subjunctive posted:

Nah, it's pretty easy. I think we use libjpeg as JS for client-side image resizing now. The ergonomics are pretty decent.

gently caress you :monocle:, so that's why uploading pictures now pegs the CPU at 100% and makes my browser unusable :argh:

Deus Rex
Mar 5, 2005

Blue Footed Booby posted:

Or write them in a loving book. Anyone who gets into my house already has my checkbook, financial records, and the entire computer. Once that happens you're hosed anyway, so why memorize anything you don't need when outside your home (edit: aside from the one for your main email account)?

You're not hosed if someone steals your entire computer if you're using full disk encryption and the computer (assuming a laptop or other battery powered computer of some kind) is hibernating or powered off while unattended.

qntm
Jun 17, 2009

TheresaJayne posted:

Of course you should always use a password of ';drop table users;

I never understand why people don't just use ';drop database;--.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe

qntm posted:

I never understand why people don't just use ';drop database;--.

Well, you need* to know the name of the database, and it would be ';drop database databaseName;--

Whereas it's a reasonable bet that there might be a table called users or Users or user or some other variation.

* Maybe this depends on the RDBMS, but based on a quick Google this is true at least for MySQL, PostgreSQL, and SQL Server.

Blue Footed Booby
Oct 4, 2006

got those happy feet

Deus Rex posted:

You're not hosed if someone steals your entire computer if you're using full disk encryption and the computer (assuming a laptop or other battery powered computer of some kind) is hibernating or powered off while unattended.

You're also not hosed if the computer is embedded in a six ton block of iron.

But I'm not doing that either.

Steve French
Sep 8, 2003

Blue Footed Booby posted:

You're also not hosed if the computer is embedded in a six ton block of iron.

But I'm not doing that either.

This is a valid point because doing this and full disk encryption are equally reasonable.

Malloc Voidstar
May 7, 2007

Fuck the cowboys. Unf. Fuck em hard.
http://transition.fcc.gov/Daily_Releases/Daily_Business/2014/db1017/DOC-330012A1.pdf

FCC posted:

Just before midnight on Wednesday, April 9, 2014, Pacific Daylight Time (PDT) a 911 call-routing facility in Englewood, Colorado, stopped directing emergency calls to eighty-one 911 call centers (Public Safety Answering Points or PSAPs) in seven states – California, Florida, Minnesota, North Carolina, Pennsylvania, South Carolina, and Washington. The outage was caused by a software coding error in the Colorado facility, and resulted in a loss of 911 service for more than 11 million people for up to six hours. Over 6,600 calls to 911 never reached a PSAP.
The system assigned a sequential ID to each call, but they'd set it to a max of 40 million. It hit 40 million and stopped passing through calls. This was flagged as a minor problem and nobody noticed thousands of minor errors.

QuarkJets
Sep 8, 2008

Steve French posted:

This is a valid point because doing this and full disk encryption are equally reasonable.

It's reasonable to use disk encryption but nobody does it

Karate Bastard
Jul 31, 2007
Probation
Can't post for 2 hours!
Soiled Meat

baquerd posted:

We have a C++ binary and an HTML 5/Javascript app that are about to cover overlapping niches in the category of real-time display of live data. Cue clueless product owner suggesting we avoid duplication of effort by either having the C++ binary interpret the Javascript or the Javascript to call the C++ binary. Fortunately, I'm pretty sure I headed that one off at the pass.

I hear some people have it worse:

http://www.theguardian.com/technology/2014/jun/05/world-of-darkness-the-inside-story-mmo-ccp-white-wolf

quote:

Most of the sources spoken to for this piece identified the same problematic CCP manager, who had little vision for what the finished game would look like.

“Not once could he answer any question about moment-to-moment gameplay or areas of focus,” says one source. “Instead, he preferred to deliver buzzword-laden rambles… It was not uncommon for him to communicate in onomatopoeia.

"I once saw him looking over the shoulder of a programmer at some bit of User Interface the poor guy had hacked together. He straightened up, put fingers to lips and said, ‘No, this isn't it at all. Make it more... psssshhhh’ He hissed on his loving fingertips, like the air coming out of a bicycle tire, and then just walked away.”

(link stolen from SunAndSpring in Imp Zone)

McGlockenshire
Dec 16, 2005

GOLLOCKS!

Aleksei Vasiliev posted:

http://transition.fcc.gov/Daily_Releases/Daily_Business/2014/db1017/DOC-330012A1.pdf
The system assigned a sequential ID to each call, but they'd set it to a max of 40 million. It hit 40 million and stopped passing through calls. This was flagged as a minor problem and nobody noticed thousands of minor errors.

Reality is more nuanced than that explanation, though. This error happened at the same time as another completely unrelated problem that also took down service elsewhere. Because the system throwing the error was not being monitored, the people doing the troubleshooting were operating under the assumption that both outages were due to the same root cause. When the cause of the other outage was fixed, and the 40M outage wasn't also fixed, that's the first time they were able to begin actually troubleshooting it.

The lesson isn't just "don't put stupid limits on your identifiers," it's "monitor things that could have a limit" and "watch the drat logs, you idiots."

Adbot
ADBOT LOVES YOU

Steve French
Sep 8, 2003

QuarkJets posted:

It's reasonable to use disk encryption but nobody does it

I do, and have for years.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply