And you also need to re-tool and re-think how you do testing,
especially system testing and security testing.
inside DevOps, with uninterrupted Delivery or principally Continuous Deployment to prefabricate,, you don’t have a “hardening sprint” where you can scheme a pen test or in-depth scans or an audit or effective reviews previously the code gets regiment,. Instead, you have to do your reliability testing and checks in-phase, as alter are checked-in. unchanged analysis engines that support incremental checking can work here, but most other security examine and testing tools that we rely on today won’t keep up.
Which means that you’ll need to write your own security tests. But
this raises a serious question. Who’s going to write these tests?
Infosec? There’s already a global shortage of people who understand
application security today. And most of these people – the ones who aren’t
working at consultancies or for tool vendors – are busy doing risk assessments
and running scans and shepherding the results through development to get
vulnerabilities fixed, or maybe doing secure code reviews or helping with
threat modeling in a small number of more advanced shops. They don’t have the
time or often the skills to write automated security tests in Ruby or whatever
automated testing framework that you select.
QA? In more and more shops today, especially where Agile or DevOps
methods are followed, there isn't anybody in QA, because manual testers who
walk through testing checklists can’t keep up, so developers are responsible
for doing their own testing.
When it comes to security testing, this is a problem. Most developers
still don’t have the application security knowledge to understand how to write
secure code, which means that they also don’t understand enough about security
to know what security tests need to be written. And writing an automated attack
in Gauntlt (and from what I can tell, more people are talking about Gauntlt
than writing tests with it) is a lot different than writing happy path
automated unit tests in JUnit or UI-driven functional tests in Selenium or
Watir.
So we shouldn’t expect too much from automated security testing in
DevOps. There’s not enough time in a Continuous Delivery pipeline to do deep
scanning or comprehensive fuzzing especially if you want to deploy each day or
multiple times per day, and we won’t get real coverage from some automated
security tests written in Gauntlt or Mittn.
But maybe that’s ok, because DevOps could force us to change the way
that we think about and the way that we do application security, just as Agile
development changed the way that most of us design and build applications.
No comments:
Post a Comment