News for hackers. Stuff that matters.
Re:We didn't encrypt your password, we hashed it by liability on Friday September 04, 2020 @08:47PM (#24380459)
This will never change until engineers can be held criminally accountable for incompetence, particularly when personal information is involved.

Of course any proposal to ever hold a programmer accountable for literally anything is always unpopular on HN, for obvious reasons.

Re:We didn't encrypt your password, we hashed it by _t0du on Friday September 04, 2020 @09:09PM (#24380582)
Because it's ridiculous to decide that the bottom of the decision graph should be held responsible for the poor decisions made from above.

Engineers should only be held accountable for decisions they made personally. The unfortunate reality is that, a terrifying amount of the time, terrible decisions are handed to engineering teams as required implementation details from managers, executives, product directors, etc. So should engineers be held criminally accountable for their product manager demanding MD5 hashes on passwords?

Re:We didn't encrypt your password, we hashed it by bigiain on Saturday September 05, 2020 @02:12AM (#24381697)
That sound you hear is millions of actual engineers, ones with qualifications/certifications/professional obligations/legal liability (think “civil”, “mechanical”, “electrical”, et al.) all rolling their eyes yet again at the code monkeys who call themselves “Engineers”, yet aren’t prepared to tell their boss that the decisions they’re trying to make, with inadequate training and experience, are dangerous...

Do you think the guy signing off on a bridge or power station design gets pushed around by “product managers” demanding shitty or cheapskate design or construction?

Re:We didn't encrypt your password, we hashed it by alexbanks on Saturday September 05, 2020 @02:20AM (#24381721)
You’re welcome to disagree about calling them software engineers, but I’m not seeing how that is relevant or constructive to the whole point of this post and comment chain?
Re:We didn't encrypt your password, we hashed it by sokoloff on Saturday September 05, 2020 @08:16AM (#24383018)
The point GP is making that civil engineers will not (knowingly) design an unsafe product just because they got something in a specification that led them to do so. They’ll object and refuse.

You were arguing that the specs or decisions made above their pay grade forced the software engineers into a dangerously faulty design which they dutifully created and shipped.

Re:We didn't encrypt your password, we hashed it by wool_gather on Saturday September 05, 2020 @01:31PM (#24385315)
It's a bit circular, though, isn't it? It is in part due to the fact that a mechanical engineer _has_ that legal certification that they have the standing to meaningfully object, and actually be listened to by their PHB.
Re:We didn't encrypt your password, we hashed it by liability on Friday September 04, 2020 @09:48PM (#24380756)
An engineer should be willing to tell his boss "No, because I would go to jail" If the manager insists anyway, the engineer should be obliged to refuse, even if that costs them their job.

Of course management should also be held accountable, but until engineers are forced to have some skin in the game they will continue to be as pliable as wet noodles.

Consider this: who better to blow the whistle on management than an engineer who knows they've been given an illegal order?

Re:We didn't encrypt your password, we hashed it by lostcolony on Saturday September 05, 2020 @12:21AM (#24381393)
I have never seen an engineer who understood the issues be 'as pliable as wet noodles'.

What you're asking is for an engineer to be stuck in a place of legal culpability if they do the work, and to be fired if they don't. Added bonus: you mention whistle blowing, but who the hell would they whistle blow to?

If there's a proper industry or governmental group to blow the whistle to, that will also see the engineer financially compensated until such a time as they find a new job, then fine, it's fair to make engineers culpable. Otherwise, you're just making engineers suffer for the bad decisions of those made above them, by making them either legally liable, or risking their jobs.

Re:We didn't encrypt your password, we hashed it by liability on Saturday September 05, 2020 @03:19PM (#24386163)
Any employee who refuses an illegal order is risking their job. If your boss asked you to perform brain surgery and promised to fire you if you refused, would you give it your best try or would you tell him to fuck off? If software ''engineers'' want respect they need to grow a spine and learn how to say that simple two letter word.
Re:We didn't encrypt your password, we hashed it by lostcolony on Saturday September 05, 2020 @07:20PM (#24387629)
Insecure websites aren't illegal. Only -breaches- are. And that only a civil offense, leading to a fine, the company pays. Right now, both the punishment and the decision are aligned.

You're looking to now make it so that there's a punishment levied on the developer, who has no more power to say no than they currently do. You want them to say no, but all you're doing is making it more unpleasant for them to not do so; you've done nothing to make it easier to do so.

Re:We didn't encrypt your password, we hashed it by alexbanks on Friday September 04, 2020 @10:39PM (#24380975)
> An engineer should be willing to tell his boss "No, because I would go to jail"

I guess we just fundamentally don't agree on how power dynamics effect these types of scenarios.

Re:We didn't encrypt your password, we hashed it by smichel17 on Friday September 04, 2020 @11:26PM (#24381194)
I agree with the GP, but I also think it is poorly phrased. It's not that the engineers should be willing to say they'd go to jail, it's that they should be able to.

Right now, the conversation goes, management: "I want x". Engineer: "X is insecure, we should do y instead". M: "Y will cost us X more than x, and it's never going to matter for us, anyway."

This puts the engineer in a position where they need to argue and justify the cost. Compared to "Sorry, I can't do that; it's illegal and I'd go to jail if I did that and was found out." Now the engineer doesn't have to justify anything. The law isn't a burden on the engineer here, it's a shield.

Yes, there are still some scenarios in which management insists. In my limited experience, that's in gray scenarioa where it's arguable whether the law applies. But the point is, it's much easier for an engineer to argue whether the law applies, than whether it is worth the money.

I think you can see these effects in the lengths companies go to protect healthcare data (hipaa) vs any other random personal data.

Re:We didn't encrypt your password, we hashed it by ClumsyPilot on Saturday September 05, 2020 @11:08AM (#24384094)
So this is a reasonable argument, but before we get there, there should be real responsibility placed on the company. Currently, when use data is lost, the companies suffer absolutely no consequences. They have literally no incentive to make sure their system is secure.

The equasion should be, for management: "Y will cost us X more than x, but if X is hacked we will get taken to the cleaners"

For the actual engineer to be held responsible you would have to add a formalised approval process, so that its clear who signed what off. Inagine you signed off on something, and then changes were made without your knowledge - that much easier to do with software than a bridge.

Re:We didn't encrypt your password, we hashed it by alexbanks on Friday September 04, 2020 @11:59PM (#24381306)
I guess my point is not that engineers should be exempt from being held accountable for their work, but that engineers are frequently asked to do things incorrectly/poorly/negligently and then assessed by their employers for their willingness to comply. Sure, you can say "Just stand up to your employer", but that's an incredibly dismissive stance on a complicated issue. Yes, you should say no to requirements that are flat out illegal, but is it ever that cut and dry? I'd be surprised to find it was ever that simple.
Re:We didn't encrypt your password, we hashed it by slavik81 on Saturday September 05, 2020 @04:38AM (#24382256)
According to my engineering professional association, it is that simple. They'd have no qualms stripping me of my license to practice engineering for knowingly approving an unsafe design, regardless of what effect that decision would have had on my financial well-being.

The big difference is that companies need professional engineers. Professional approval on certain things is required by law. I'm not sure that would be a good idea for software, but that is what makes the system work for professional engineers.

Re:We didn't encrypt your password, we hashed it by alexbanks on Sunday September 06, 2020 @10:31AM (#24391563)
> They'd have no qualms stripping me of my license to practice engineering for knowingly approving an unsafe design

Presumably there would be repercussions at the government level if a company repeatedly demanded engineers do things worthy of stripping their licenses though, no?

Re:We didn't encrypt your password, we hashed it by slavik81 on Sunday September 06, 2020 @04:52PM (#24394580)
This varies by jurisdiction, but perhaps I oversimplified. There is another reason that doesn't happen.

The individual engineer doing the work needs a license, but the company itself also needs a permit to practice. The permit must be held by an engineer, who is personally responsible for the engineering that occurs under their permit.

So, the permit holder needs to worry not just about their own ethical behaviour, but that of all engineers in the company. They are incentivized to ensure the company will hold the public safety paramount, or to walk away if they cannot (thereby leaving the company without a permit).

If the company has a pattern of misbehaviour, it may be difficult to obtain a permit.

Re:We didn't encrypt your password, we hashed it by alexbanks on Sunday September 06, 2020 @05:38PM (#24394872)
_Exactly_. Tech companies regularly exist purely based off of illegal business models (they call them _Disruptions_).

So, yes, we agree, if there are repercussions for a company regularly breaking the law, then engineers can and should refuse work that has negative legal or moral repercussions. But in the world of tech, that's not the case.

Re:We didn't encrypt your password, we hashed it by ryandrake on Saturday September 05, 2020 @12:30PM (#24384794)
Wait a minute, I thought software engineers were in high demand, with companies fighting over them and opportunities everywhere! At least that's what one out of every 10 HN articles tells me. Surely that demand gives them a little power and agency over their work. I think we are pretending here that these developers have only one option: "Sure, boss! Whatever you say, boss!"

I personally believe that you, the software developer typing in the code, should hold yourself personally accountable for what you are typing in. You might also be designing what you type in, or even setting the requirements, but it might be other people. Regardless, you are making the software come into being--you're the one coding it and pushing it to the repo, so you should set the standard of what is acceptable. This "well, boss told me to do it!" rationalization and blame-shifting is how we get dangerous and unethical software.

And, yes, I have quit software jobs where I was asked to write software I considered ethically questionable, and failed to change the boss's mind.

Re:We didn't encrypt your password, we hashed it by alexbanks on Sunday September 06, 2020 @03:27PM (#24393964)
> I think we are pretending here that these developers have only one option: "Sure, boss! Whatever you say, boss!"

No, I am suggesting that there is significantly more grey area between your moral highground and reality.

> I personally believe that you, the software developer typing in the code, should hold yourself personally accountable for what you are typing in

Yep.

> This "well, boss told me to do it!" rationalization and blame-shifting is how we get dangerous and unethical software.

It really is a strange world that, when corporations are attempting to turn profit on illegal behavior, it's the meaningless bodies-in-seats that we're trying to hold accountable.

I am, and have been, repeatedly, suggesting that the lowest level cannot be held accountable without holding the rest of the levels accountable. Jailing engineers for doing things their companies demanded of them is ridiculous if you're not also jailing those doing the demanding. I'm kind of shocked this isn't painfully obvious.

> And, yes, I have quit software jobs where I was asked to write software I considered ethically questionable, and failed to change the boss's mind.

Congratulations, that's a level of privilege lots can't afford.

Re:We didn't encrypt your password, we hashed it by quicksilver03 on Saturday September 05, 2020 @02:53AM (#24381821)
The engineer should rather reply that the boss would go to jail.
Re:We didn't encrypt your password, we hashed it by liability on Saturday September 05, 2020 @03:22PM (#24386186)
Better if both would face repercussions, since if only the boss has skin in the game passive introverted engineers will silently follow orders, knowing that they're not personally risking much if they comply but risk losing their jobs if they don't.
Re:We didn't encrypt your password, we hashed it by wruza on Saturday September 05, 2020 @03:25AM (#24381931)
Of course a certified accountable login screen engineer with a personal defense lawyer and a group of analysts, who make you a form:

  Please login
  Username: __________
  Password: __________
for $5.7M a year is always unpopular in business circles, for obvious reasons.
Re:We didn't encrypt your password, we hashed it by ben_w on Saturday September 05, 2020 @05:30AM (#24382445)
The mandatory GDPR training session at my current place in Berlin said that we could be personally liable with regard to personal information.

(Not that I can read German to the standard required for understanding laws and looking it up for myself; I can just about manage tabloid newspapers…)