Fast moving DevOps teams are making hundreds, or even thousands, of changes per day, and traditional approaches to security are struggling to keep up. Most static and dynamic scanners take too long to complete and the results are invalidated after the next commit.
The question is, how can security teams build stronger security checks into the DevOps pipeline and obtain fast feedback without slowing down engineering teams? Here’s the good news: DevOps teams are already using Test Driven Development (TDD) frameworks and Continuous Integration (CI) tools to automate unit testing. And even better news: it’s time for security teams to get their hands dirty, write some code, and add custom security unit tests to the pipeline. In this talk, we will explore where security unit testing fits in the DevOps phases, a few unit testing frameworks, and several examples that can help security teams harden their applications.
Live demonstrations will show how to write security unit tests, execute the tests in a Jenkins continuous integration (CI) build pipeline, and evaluate test results.
Resources mentioned in this session:
- https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project GitHub
- https://github.com/OWASP/user-security-stories OWASP/user-security-stories. Repo to hold mapping of user-security-stories.
- Contribute to OWASP/user-security-stories development by creating an account on GitHub.
- https://github.com/sethlaw/sputr GitHub sethlaw/sputr – Security Payload Unit Test Repository (SPUTR). Contribute to sethlaw/sputr development by creating an account on GitHub.
- Secure DevOps Practices: https://www.sans.org/u/OGx
- JUnit (Java) https://junit.org | JUnit 5 is the next generation of JUnit.
- XUnit (C#, F#, VB) https://xunit.github.io/
- Mocha (NodeJS) https://mochajs.org/
- RSpec (Ruby) http://rspec.info/
- PyUnit (Python) https://wiki.python.org/moin/PyUnit