Live data from Hacker News

Why software 'security debt' is becoming a serious problem for developers

itpro.com

11–20 of 28 posts

Re: Why software 'security debt' is becoming a serious problem for developers

#11
post #5

When I stared in professional software there was almost an extreme paranoia of adding new libraries. Now we have 20 year olds adding whatever they want via NPM.

Neither of those is the right answer! I'm dealing with the fallout of 10 years of "add whatever you want", and it's a unsolvable problem given the state of the system.

The answer is devops:

You build your system in a way that it's nearly effortless to test and deploy, then you can upgrade your dependency tree continually with minimal effort.

Re: Why software 'security debt' is becoming a serious problem for developers

#12

This is marketing for Veracode which is crap by the way. You can’t assess for risk without knowing anything about the environment, compensating controls and business logic. Veracode is a check-the-box enterprise compliance tool that reduces engineering productivity and corporate profitability. Yes, vulnerability management is an important problem but Veracode is not the solution not even close.

The OP is clearly a puppet account that just spams links from that website (which itself is mostly IT spam). Wish there was a way to hide submissions from certain posters …

Re: Why software 'security debt' is becoming a serious problem for developers

#13
post #6

This is marketing for Veracode which is crap by the way. You can’t assess for risk without knowing anything about the environment, compensating controls and business logic. Veracode is a check-the-box enterprise compliance tool that reduces engineering productivity and corporate profitability. Yes, vulnerability management is an important problem but Veracode is not the solution not even close.

Are there any good enterprise check-the-box compliance tools? Because having good security doesn't obviate needing to box-check for our certifications.

Even worse, sometimes the good tools don't check the box because they lack some pointless certification or the CISO "doesn't recognize the name".

Re: Why software 'security debt' is becoming a serious problem for developers

#14
post #5

When I stared in professional software there was almost an extreme paranoia of adding new libraries. Now we have 20 year olds adding whatever they want via NPM.

Neither of those is the right answer! I'm dealing with the fallout of 10 years of "add whatever you want", and it's a unsolvable problem given the state of the system. The answer is devops: You build your system in a way that it's nearly effortless to test and deploy, then you can upgrade your dependency tree continually with minimal effort.

The problem is adding/changing a dependency should be a big deal: there should be validation and risk assessments performed against it, and this process should happen every time the library is updated. This isn't fun to do, and is a serious time sink, so it becomes a deterrent every time you want to update a library.

Re: Why software 'security debt' is becoming a serious problem for developers

#15
post #6

This is marketing for Veracode which is crap by the way. You can’t assess for risk without knowing anything about the environment, compensating controls and business logic. Veracode is a check-the-box enterprise compliance tool that reduces engineering productivity and corporate profitability. Yes, vulnerability management is an important problem but Veracode is not the solution not even close.

Are there any good enterprise check-the-box compliance tools? Because having good security doesn't obviate needing to box-check for our certifications.

I have seen SonarQube do somewhat okay in this role; you may need some configuring for its detections to set what matters for you, but that applies for everything, doesn't it?

Re: Why software 'security debt' is becoming a serious problem for developers

#16

This is marketing for Veracode which is crap by the way. You can’t assess for risk without knowing anything about the environment, compensating controls and business logic. Veracode is a check-the-box enterprise compliance tool that reduces engineering productivity and corporate profitability. Yes, vulnerability management is an important problem but Veracode is not the solution not even close.

About two years ago I was assigned to investigate several security tools, Veracode was one of them. For every tool I was able to get an actual demo/trial of, I tested them with a simple piece of code: 10 lines of C# that contained hardcoded credentials and a blatantly obvious SQL injection vulnerability. None of the tools I tried were able to detect both (though some would detect one or the other). IIRC (I tried a lot of different tools and wasn't able to get demos of all of them so it's hard to remember which did what) Veracode choked on any code using C# 8+ features like the simplified using blocks, which my 10 lines of vulnerable code used.

My recommendation to my manager and others was that for the price being asked for most of these tools, we could instead hire two or more devs to do nothing but code review and manually search for vulnerabilities and do a better job. Instead they went with Veracode, and the first thing I got got after we implemented it was three emails for false positives that didn't properly identify the code file and line number where the supposed vulnerabilities occurred, meaning I had to waste several hours communicating with the team that ran the scan to figure out where this supposedly occured.

I specifically remember two of the false positives were about my use of Serilog, saying my code was vulnerable to log injection. Even though Serilog isn't vulnerable to that if you use structured logging (which my code was). I even did several log injections and verified that they didn't actually work.

Edit: Looking at the reports it generated, I see it also failed to detect usage of the actually highly vulnerable BinaryFormatter class which I have seen used several times by our offshore teams. That's something that could be detected with a simple string search and they didn't detect it.

Re: Why software 'security debt' is becoming a serious problem for developers

#18
Lol, I haven't noticed software developers caring about security any more than they used to. 99% of them don't care, and 1% of them are responsible for 75% of secure code. Moreover, there is no consequence if they write insecure code, just like there's no consequence if they write unreliable code. They get the same paycheck regardless of the outcome.

Re: Why software 'security debt' is becoming a serious problem for developers

#19

This is marketing for Veracode which is crap by the way. You can’t assess for risk without knowing anything about the environment, compensating controls and business logic. Veracode is a check-the-box enterprise compliance tool that reduces engineering productivity and corporate profitability. Yes, vulnerability management is an important problem but Veracode is not the solution not even close.

About two years ago I was assigned to investigate several security tools, Veracode was one of them. For every tool I was able to get an actual demo/trial of, I tested them with a simple piece of code: 10 lines of C# that contained hardcoded credentials and a blatantly obvious SQL injection vulnerability. None of the tools I tried were able to detect both (though some would detect one or the other). IIRC (I tried a lo…

No idea how good Veracode is in practice. It's been considered in at least 3 places I've worked and never been selected.

I would disagree that you can replace scanning tools with just human review though. You need both.

Static analysis and software composition analysis are good at flagging possible problems, but there's a lot of noise. You ideally want an application security engineer to be reviewing the code and scan results. And also conducting threat modelling with the devs, so you prevent problems even earlier.

Re: Why software 'security debt' is becoming a serious problem for developers

#20

Earlier quoted context omitted.

Neither of those is the right answer! I'm dealing with the fallout of 10 years of "add whatever you want", and it's a unsolvable problem given the state of the system. The answer is devops: You build your system in a way that it's nearly effortless to test and deploy, then you can upgrade your dependency tree continually with minimal effort.

The problem is adding/changing a dependency should be a big deal: there should be validation and risk assessments performed against it, and this process should happen every time the library is updated. This isn't fun to do, and is a serious time sink, so it becomes a deterrent every time you want to update a library.

Fair point - it should do. However if you've already accepted the risk that a 3rd party dependency might contain a vulnerability that has been undiscovered and you don't do any deep analysis of them, then you're still making your system more secure by at least getting the fixes for known vulnerabilities out of the door.
Post reply on HN