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

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

DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16
Rich Mills
 
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
Rich Mills
 
Continuous Testing in containerized environment
Continuous Testing in containerized environmentContinuous Testing in containerized environment
Continuous Testing in containerized environment
Nicolas Giron
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Achim D. Brucker
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
Matt Tesauro
 
Agile Secure Development
Agile Secure DevelopmentAgile Secure Development
Agile Secure Development
Bosnia Agile
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus Merrell
Sauce Labs
 
Mobile security recipes for xamarin
Mobile security recipes for xamarinMobile security recipes for xamarin
Mobile security recipes for xamarin
Nicolas Milcoff
 
Pay pal paypal continuous performance as a self-service with fully-automated...
Pay pal  paypal continuous performance as a self-service with fully-automated...Pay pal  paypal continuous performance as a self-service with fully-automated...
Pay pal paypal continuous performance as a self-service with fully-automated...
Dynatrace
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
International Islamic University Islamabad
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
Ineke Scheffers
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
Paris Apostolopoulos
 
Starting Test Automation In Your Project - Webinar by 99X Technology
Starting Test Automation In Your Project - Webinar by 99X TechnologyStarting Test Automation In Your Project - Webinar by 99X Technology
Starting Test Automation In Your Project - Webinar by 99X Technology
99X Technology
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
David Lindner
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
Dr Ganesh Iyer
 
HIS 2017 Paul Sherwood- towards trustable software
HIS 2017 Paul Sherwood- towards trustable software HIS 2017 Paul Sherwood- towards trustable software
HIS 2017 Paul Sherwood- towards trustable software
jamieayre
 
DevSecOps What Why and How
DevSecOps What Why and HowDevSecOps What Why and How
DevSecOps What Why and How
NotSoSecure Global Services
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
DicodingEvent
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
Lars Thorup
 

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

DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16
 
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
 
Continuous Testing in containerized environment
Continuous Testing in containerized environmentContinuous Testing in containerized environment
Continuous Testing in containerized environment
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
Agile Secure Development
Agile Secure DevelopmentAgile Secure Development
Agile Secure Development
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus Merrell
 
Mobile security recipes for xamarin
Mobile security recipes for xamarinMobile security recipes for xamarin
Mobile security recipes for xamarin
 
Pay pal paypal continuous performance as a self-service with fully-automated...
Pay pal  paypal continuous performance as a self-service with fully-automated...Pay pal  paypal continuous performance as a self-service with fully-automated...
Pay pal paypal continuous performance as a self-service with fully-automated...
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
Starting Test Automation In Your Project - Webinar by 99X Technology
Starting Test Automation In Your Project - Webinar by 99X TechnologyStarting Test Automation In Your Project - Webinar by 99X Technology
Starting Test Automation In Your Project - Webinar by 99X Technology
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
HIS 2017 Paul Sherwood- towards trustable software
HIS 2017 Paul Sherwood- towards trustable software HIS 2017 Paul Sherwood- towards trustable software
HIS 2017 Paul Sherwood- towards trustable software
 
DevSecOps What Why and How
DevSecOps What Why and HowDevSecOps What Why and How
DevSecOps What Why and How
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

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!