SlideShare a Scribd company logo
The Science of Compliance
Early Code to Secure your Node
judy johnson
Software Engineer
Onyx Point
@miz_j
● Programming since the 19XXes when my Dad brought home a PDP-8
● Software engineer for [many] years - Hardware Control, Digital Signal
Processing, SatCom, now Security Framework
● Various job titles: Software Engineer, Systems Engineer, Project
Manager, ScrumMaster, and a Record Store Clerk
● Onyx Point since 2015
● Interests - baking, hockey, rock concerts, reading, volunteering
(especially in events that promote diversity in tech)
About the Speaker
So… why is DevOps so important to me?
● Cooperation
● Communication
● Repeatability/Consistency
● Efficiency
© 123RF
● Fun activity with family and
friends
● Stress relief
● Enables creativity
● Makes people happy
● “Practice makes perfect”
● Makes a great analogy to
continue through this talk...
...and why is baking so important to me?
The DevOps Cycle
The Baking Cycle
What is DevSecOps?
“DevSecOps means thinking about
application and infrastructure security from
the start. It also means automating some
security gates to keep the DevOps
workflow from slowing down.
However, effective DevOps security
requires more than new tools—it builds on
the cultural changes of DevOps to integrate
the work of security teams sooner rather
than later.”
(from RedHat)
...what does the “Sec” in the middle mean to me?
● “In high-performing organizations, everyone within the team shares a common goal - quality,
availability, and security aren’t the responsibility of individual departments, but are a part of
everyone’s job, every day.” - Gene Kim
● Of course security should be part of continuous improvement
● But is the “Sec” necessary, or implied?
DevSecCodeTestRunDeployMLEtcOps
PROVABLE DISPROVABLE
SECURITY X ✔
COMPLIANCE ✔ ✔
● Compliance - enforcing a defined/testable set of rules
● Security - ensuring that your system is not vulnerable
● Both are attempts to minimize risk
Security vs Compliance
© NIST
Risk Management Framework
● Compliance is following the recipe
● Correct controls (temperature, measurement, etc), create consistent,
predictable product
● A “typo” or incident could ruin your product
● Substitutions - are they valid?
● Mistake? Learn and document
● Minimizing Risk - Follow instructions, Document anomalies
Baking and Compliance
● Improve Security
● Implement of security concepts in a provable way
● Maintain Trust/Integrity
● Maintain Consistency (process management)
● Maintain Control
Why do we need compliance?
How do you know you are Compliant?
● Out-of-the-box testing tools based on a specific set of rules (e.g.Nessus, OpenScap,
OVAL)
● Toolkits to test compliance status - more flexible (e.g. InSpec, ServerSpec)
● Manual tests
● Compliance tests from scratch
How do you know you are Recipe Compliant?
● Did your cake rise?
● Were your cookies the right consistency?
● Were your “auditors” - (friends, family, co-workers) satisfied with the product?
● Is the house on fire?
© 123RF
Typical Process - Old School
● Requirements Created
● Code Written
● Code Reviewed and Tested
● Security Team runs Tests
● An action plan may be written
● Code is rewritten/re-reviewed/re-tested
● New requirements - do we learn from mistakes? © 123RF
Ideal Process
● Code and Compliance Requirements Created
● Compliance & Code Written simultaneously
● Compliance code shared/reused
● Compliance tickets reside with target code tickets
● ALL Code Reviewed and Tested
● ALL Code is rewritten/re-reviewed/re-tested
Hardening your O/S
● Hardening begins with O/S
● Non-compliant code will be exposed early
● Development platform has the same rules as
target platforms
● Compliance issues and fixes are found early and
shared early
● Items such as disk and data encryption, which
are hard to add later, are set early
Ensuring your systems are Compliant
● Development - Eliminate some of the threats immediately
○ e.g. ports, encryption
● Test - Testing framework and platform (CI)
○ test under varying conditions
○ test all components together
○ last chance to catch issues before code goes live
● Production - Your production environment is open to threats
○ “Chaos Monkey”-like tools randomly test for various issues
○ canary deployments and feature flags (small sample)
Adding Compliance to Testing
● Acceptance tests - Beaker/VM/Container tests
● Chef’s Inspec
● Manual testing
● Static code analysis tools
● Dynamic code analysis tools
● Use the tools you have!
Compliance Testing in CI
● Passing once is not enough
● Ensure that your automated tests (spec, acceptance, integration) run with every check-in and/or
periodically
Continuous testing of your recipe
(check out this great video https://www.youtube.com/watch?v=rfROcNPsb3w)
© 123RF
Tools for Correction
Compliance
● Puppet
● Salt
● Ansible
● Chef
● Any programming language,
script, manual
Recipe
● Cake mix (customize within
constraints)
● Pre-mixed spices
● Frosting to cover up any goofs
● Salt ;-)
© 123RF © Paul Prudhomme
OK, it’s passed all the tests, and I’ve deployed...
● Puppet
○ Ensures your setup remains solid by running every 30 minutes (or predetermined)
● Cron job or CI tool
○ Can recheck and reset if there is an issue
● Ensure that reoccurring issues are documented and addressed
Sample Commercial Tools - Development Stages
● SCA – Software Composition Analysis - Dependency Check, Blackduck, NexusIQ, SourceClear,
Whitesource
● SAST - Static Application Security Testing (White Box Testing) [Source Code Check] – SonarQube,
Veracode, Checkmarx, Coverity, Fortify, and language-specific tools Brakeman (Ruby), Bandit
(Python)
● DAST - Dynamic Application Security Testing (Black Box Testing) [running app] - Burp, Zap,
Sn1per, Nikto, WebInspect, AppScan, Acunetix, Netsparker
thanks, Thaddeus @thaddeuswalsh)
Other types of tools
● Infrastructure Vulnerability Management – Tenable, Qualys, Rapid7, OpenVAS
● Container – Clair, Trivy, Aqua, Twistlock
● Cloud - Prowler (AWS assessment tool)
● Database scanner - SQLmap (open source SQL Injection and db takeover tool),
(tool listings thanks to
Thaddeus @thaddeuswalsh)
My baking slide (1)
Carrot Cake
● 1 1/2 cups corn oil
● 2 cups sugar (not salt :) )
● 3 eggs
● 2 cups flour
● 1 1/2 teaspoons cinnamon
● 2 teaspoons baking soda
● 2 teaspoons vanilla
● 1/2 teaspoon salt (not sugar :) )
● 2 cups grated carrots
● 1 cup chopped walnuts
Combine all ingredients.
Pour in greased 13" x 9" pan.
Bake at 350 for 45 minutes.
Cool, frost.
● Carrot cake is one of my favorites!
● Vegetables and security - necessary evils
to some
● Carrot - a vegetable and unexpected - are
baked in, yet the cake is sweet and moist
● Imagine the frosting as your app.
● Solid base - add your personal touch
● Ensure that you do not alter the
foundation that the cake has created
when you personalize it
Cream Cheese Frosting
● 3 oz cream cheese
● 1 2/3 cups confectioners sugar
● 1/8 teaspoon salt
● 1 teaspoon vanilla
Combine all ingredients. Beat until creamy.
Spread on cake.
My baking slide (2)
● A secure O/S on development and all other platforms allows you to start with an advantage
● Compliance testing can - and should - be done at all stages of your CI
● Watch your test tool - there can be false positives as well as false negatives
● A tool such as Puppet or Cron can run (or run scripts) at regular time increments to check your
compliance, and alert you if something needs correction
● Correction can be done with an automated tool or manually
● Ensure that security is integrated into your team and process
● No matter what you are creating, remember to bake in the goodness!
Summary...
Thanks!
To co-workers who teach me every
day, and peer review my code,
documents, and cookies… to family
and friends who inspire me daily…
to the friends who helped me put
this together and make it pretty
Thanks AllDayDevOps!
Never stop learning – and make
sure you have time to spend on
things you enjoy!
Thanks!
The Science of Compliance - Early Code to Secure your Node (11/6/19)

More Related Content

PDF
DevSecOps: What Why and How : Blackhat 2019
PDF
The Final Frontier, Automating Dynamic Security Testing
PDF
Building a DevSecOps Pipeline Around Your Spring Boot Application
PDF
How to Manage the Risk of your Polyglot Environments
PDF
Endpoint Security Shifting Paradigms 5
ODP
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
PDF
Proactive monitoring tools or services - Open Source
DevSecOps: What Why and How : Blackhat 2019
The Final Frontier, Automating Dynamic Security Testing
Building a DevSecOps Pipeline Around Your Spring Boot Application
How to Manage the Risk of your Polyglot Environments
Endpoint Security Shifting Paradigms 5
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Proactive monitoring tools or services - Open Source

Similar to The Science of Compliance - Early Code to Secure your Node (11/6/19) (20)

PDF
DevSecOps: essential tooling to enable continuous security 2019-09-16
PDF
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
PPTX
Continuous Testing in containerized environment
PDF
Bringing Security Testing to Development: How to Enable Developers to Act as ...
ODP
Making security-agile matt-tesauro
PDF
Agile Secure Development
PDF
Break Up the Monolith- Testing Microservices by Marcus Merrell
PPTX
Mobile security recipes for xamarin
PDF
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
PPTX
Introduction to Software Engineering
PDF
Developers Testing - Girl Code at bloomon
PDF
Services, tools & practices for a software house
PPTX
Starting Test Automation In Your Project - Webinar by 99X Technology
PDF
AppSec in an Agile World
PPTX
Practical Software Testing Tools
PDF
HIS 2017 Paul Sherwood- towards trustable software
PDF
DevSecOps What Why and How
PDF
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
PDF
Top Automation Testing Tools of 2025_ What’s New and What’s Next.pdf
PDF
High Performance Software Engineering Teams
DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
Continuous Testing in containerized environment
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Making security-agile matt-tesauro
Agile Secure Development
Break Up the Monolith- Testing Microservices by Marcus Merrell
Mobile security recipes for xamarin
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
Introduction to Software Engineering
Developers Testing - Girl Code at bloomon
Services, tools & practices for a software house
Starting Test Automation In Your Project - Webinar by 99X Technology
AppSec in an Agile World
Practical Software Testing Tools
HIS 2017 Paul Sherwood- towards trustable software
DevSecOps What Why and How
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
Top Automation Testing Tools of 2025_ What’s New and What’s Next.pdf
High Performance Software Engineering Teams
Ad

More from judy (fink) johnson (6)

PDF
DevOps 101 - DevOps Columbia 3-20-2025.pdf
PDF
Introductory lesson on resumes and interviews
PDF
The Science of Compliance
PDF
Automation Justification
PDF
Creating and Maintaining an Inclusive DevOps Culture
PDF
How to Automate Yourself out of a Job (7/9/19)
DevOps 101 - DevOps Columbia 3-20-2025.pdf
Introductory lesson on resumes and interviews
The Science of Compliance
Automation Justification
Creating and Maintaining an Inclusive DevOps Culture
How to Automate Yourself out of a Job (7/9/19)
Ad

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Cloud computing and distributed systems.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
MIND Revenue Release Quarter 2 2025 Press Release
sap open course for s4hana steps from ECC to s4
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
Cloud computing and distributed systems.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
A comparative analysis of optical character recognition models for extracting...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
Advanced methodologies resolving dimensionality complications for autism neur...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
20250228 LYD VKU AI Blended-Learning.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
MIND Revenue Release Quarter 2 2025 Press Release

The Science of Compliance - Early Code to Secure your Node (11/6/19)

  • 1. The Science of Compliance Early Code to Secure your Node judy johnson Software Engineer Onyx Point @miz_j
  • 2. ● Programming since the 19XXes when my Dad brought home a PDP-8 ● Software engineer for [many] years - Hardware Control, Digital Signal Processing, SatCom, now Security Framework ● Various job titles: Software Engineer, Systems Engineer, Project Manager, ScrumMaster, and a Record Store Clerk ● Onyx Point since 2015 ● Interests - baking, hockey, rock concerts, reading, volunteering (especially in events that promote diversity in tech) About the Speaker
  • 3. So… why is DevOps so important to me? ● Cooperation ● Communication ● Repeatability/Consistency ● Efficiency © 123RF
  • 4. ● Fun activity with family and friends ● Stress relief ● Enables creativity ● Makes people happy ● “Practice makes perfect” ● Makes a great analogy to continue through this talk... ...and why is baking so important to me?
  • 7. What is DevSecOps? “DevSecOps means thinking about application and infrastructure security from the start. It also means automating some security gates to keep the DevOps workflow from slowing down. However, effective DevOps security requires more than new tools—it builds on the cultural changes of DevOps to integrate the work of security teams sooner rather than later.” (from RedHat)
  • 8. ...what does the “Sec” in the middle mean to me? ● “In high-performing organizations, everyone within the team shares a common goal - quality, availability, and security aren’t the responsibility of individual departments, but are a part of everyone’s job, every day.” - Gene Kim ● Of course security should be part of continuous improvement ● But is the “Sec” necessary, or implied? DevSecCodeTestRunDeployMLEtcOps
  • 9. PROVABLE DISPROVABLE SECURITY X ✔ COMPLIANCE ✔ ✔ ● Compliance - enforcing a defined/testable set of rules ● Security - ensuring that your system is not vulnerable ● Both are attempts to minimize risk Security vs Compliance
  • 11. ● Compliance is following the recipe ● Correct controls (temperature, measurement, etc), create consistent, predictable product ● A “typo” or incident could ruin your product ● Substitutions - are they valid? ● Mistake? Learn and document ● Minimizing Risk - Follow instructions, Document anomalies Baking and Compliance
  • 12. ● Improve Security ● Implement of security concepts in a provable way ● Maintain Trust/Integrity ● Maintain Consistency (process management) ● Maintain Control Why do we need compliance?
  • 13. How do you know you are Compliant? ● Out-of-the-box testing tools based on a specific set of rules (e.g.Nessus, OpenScap, OVAL) ● Toolkits to test compliance status - more flexible (e.g. InSpec, ServerSpec) ● Manual tests ● Compliance tests from scratch
  • 14. How do you know you are Recipe Compliant? ● Did your cake rise? ● Were your cookies the right consistency? ● Were your “auditors” - (friends, family, co-workers) satisfied with the product? ● Is the house on fire? © 123RF
  • 15. Typical Process - Old School ● Requirements Created ● Code Written ● Code Reviewed and Tested ● Security Team runs Tests ● An action plan may be written ● Code is rewritten/re-reviewed/re-tested ● New requirements - do we learn from mistakes? © 123RF
  • 16. Ideal Process ● Code and Compliance Requirements Created ● Compliance & Code Written simultaneously ● Compliance code shared/reused ● Compliance tickets reside with target code tickets ● ALL Code Reviewed and Tested ● ALL Code is rewritten/re-reviewed/re-tested
  • 17. Hardening your O/S ● Hardening begins with O/S ● Non-compliant code will be exposed early ● Development platform has the same rules as target platforms ● Compliance issues and fixes are found early and shared early ● Items such as disk and data encryption, which are hard to add later, are set early
  • 18. Ensuring your systems are Compliant ● Development - Eliminate some of the threats immediately ○ e.g. ports, encryption ● Test - Testing framework and platform (CI) ○ test under varying conditions ○ test all components together ○ last chance to catch issues before code goes live ● Production - Your production environment is open to threats ○ “Chaos Monkey”-like tools randomly test for various issues ○ canary deployments and feature flags (small sample)
  • 19. Adding Compliance to Testing ● Acceptance tests - Beaker/VM/Container tests ● Chef’s Inspec ● Manual testing ● Static code analysis tools ● Dynamic code analysis tools ● Use the tools you have!
  • 20. Compliance Testing in CI ● Passing once is not enough ● Ensure that your automated tests (spec, acceptance, integration) run with every check-in and/or periodically Continuous testing of your recipe (check out this great video https://www.youtube.com/watch?v=rfROcNPsb3w) © 123RF
  • 21. Tools for Correction Compliance ● Puppet ● Salt ● Ansible ● Chef ● Any programming language, script, manual Recipe ● Cake mix (customize within constraints) ● Pre-mixed spices ● Frosting to cover up any goofs ● Salt ;-) © 123RF © Paul Prudhomme
  • 22. OK, it’s passed all the tests, and I’ve deployed... ● Puppet ○ Ensures your setup remains solid by running every 30 minutes (or predetermined) ● Cron job or CI tool ○ Can recheck and reset if there is an issue ● Ensure that reoccurring issues are documented and addressed
  • 23. Sample Commercial Tools - Development Stages ● SCA – Software Composition Analysis - Dependency Check, Blackduck, NexusIQ, SourceClear, Whitesource ● SAST - Static Application Security Testing (White Box Testing) [Source Code Check] – SonarQube, Veracode, Checkmarx, Coverity, Fortify, and language-specific tools Brakeman (Ruby), Bandit (Python) ● DAST - Dynamic Application Security Testing (Black Box Testing) [running app] - Burp, Zap, Sn1per, Nikto, WebInspect, AppScan, Acunetix, Netsparker thanks, Thaddeus @thaddeuswalsh)
  • 24. Other types of tools ● Infrastructure Vulnerability Management – Tenable, Qualys, Rapid7, OpenVAS ● Container – Clair, Trivy, Aqua, Twistlock ● Cloud - Prowler (AWS assessment tool) ● Database scanner - SQLmap (open source SQL Injection and db takeover tool), (tool listings thanks to Thaddeus @thaddeuswalsh)
  • 25. My baking slide (1) Carrot Cake ● 1 1/2 cups corn oil ● 2 cups sugar (not salt :) ) ● 3 eggs ● 2 cups flour ● 1 1/2 teaspoons cinnamon ● 2 teaspoons baking soda ● 2 teaspoons vanilla ● 1/2 teaspoon salt (not sugar :) ) ● 2 cups grated carrots ● 1 cup chopped walnuts Combine all ingredients. Pour in greased 13" x 9" pan. Bake at 350 for 45 minutes. Cool, frost. ● Carrot cake is one of my favorites! ● Vegetables and security - necessary evils to some ● Carrot - a vegetable and unexpected - are baked in, yet the cake is sweet and moist
  • 26. ● Imagine the frosting as your app. ● Solid base - add your personal touch ● Ensure that you do not alter the foundation that the cake has created when you personalize it Cream Cheese Frosting ● 3 oz cream cheese ● 1 2/3 cups confectioners sugar ● 1/8 teaspoon salt ● 1 teaspoon vanilla Combine all ingredients. Beat until creamy. Spread on cake. My baking slide (2)
  • 27. ● A secure O/S on development and all other platforms allows you to start with an advantage ● Compliance testing can - and should - be done at all stages of your CI ● Watch your test tool - there can be false positives as well as false negatives ● A tool such as Puppet or Cron can run (or run scripts) at regular time increments to check your compliance, and alert you if something needs correction ● Correction can be done with an automated tool or manually ● Ensure that security is integrated into your team and process ● No matter what you are creating, remember to bake in the goodness! Summary...
  • 28. Thanks! To co-workers who teach me every day, and peer review my code, documents, and cookies… to family and friends who inspire me daily… to the friends who helped me put this together and make it pretty Thanks AllDayDevOps! Never stop learning – and make sure you have time to spend on things you enjoy! Thanks!