SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Abhay Bhargav, CEO, we45
Quick Intro…
• CEO of focused Application Security Company,
we45
• Author of two international publications
• Led myriad app-pentests for clients across
multiple domains
• Python Junkie – with a passion for solving
Security problems
• Authored and ran one of the world’s first hands-
on Security in DevOps Workshops
SecDevOps – A View from the Trenches - Abhay Bhargav, we45 2
Agenda
• A Case for Security in DevOps (SecDevOps)
• Story 1 – Confessions of a Vulnerability Scanner Junkie
• Story 2 – The Anorexic Threat Model
• Story 3 – Rapid Deployment == Vulnerabilities at Scale
3
Let’s test security just before we go live.
4
Guiding light in DevOps – True
Productivity
• Increase Throughput
(Deliver Apps)
• Decrease Operating
Expenses (Resources
tied up in – testing, -
bugfixes, - security
failures)
6
Throughput -
• High Quality Apps
delivered
• Free of Security bugs
Operating Resources
• Resources consumed testing
• Resources consumed fixing
• Resources consumed
firefighting
Speed and Scale
• Amazon deploys every 11.6
seconds
• Etsy deploys 25 times a day
• Your apps are probably
deployed on similar lines
9
But…..
10
Application Security Bottleneck
11
Releases are blocked until security vulnerabilities are fixed,
resulting in:
• Higher Operational Resources to fix Security Bugs
• Slower Release Cycles
• Slower Throughput
• Breakdown of Agile and DevOps
• Customers going 
Story 1 – The Application Vulnerability
Scanner Junkie
• Working with a Fintech Client
• 5 deploys a day
• Mature DevOps Processes
• Working with SAST and DAST in DevOps
• Seems Perfect, Right?
12
Problem Statement
• Their Customer Pentests constantly came up with
Critical and High Severity Issues
• They seemed to be missing several vulnerabilities –
every release
• No unified perspective on Vulnerabilities
• No validation on False positives
13
Our Diagnosis
• ZAP with Jenkins was giving them minimal coverage
• Authentication – AJAX Driven was hard to automate with
standard headless ZAP
• Web Services Test Quality– very poor
• No “Second Opinion”
• All possibly leading to one conclusion……
14
15
16
• Green – Identified with
Automated Vulnerability
Scanning
• Yellow – Partially
Identified with
Automated Vulnerability
Scanning
• Grey – Identified only
with manual security
testing
Our Solution - Coverage
• L1 Coverage:
– Leverage ZAP API – Test better with Authentication + Multi-Browser
Headless
– Second Opinion with the w3af REST API
– Integrate Nessus and Nikto for Low-Level Findings
• L2 Coverage:
– Customized Selenium Scripts for specific threat models
– PyRESTTest Test Scripts for specific Web-Services driven Threat
Models
17
OWASP ZAP + Custom Authentication
18
Useful API Calls – OWASP ZAP API
• zap.spider.scan()
– Zap Spider + Authentication
• zap.pscan.scan()
– Passive Scan
• zap.ascan.scan()
– ZAP Active Scan
• zap.params.params()
– Enumerate all Parameters
• zap.core.alerts()
– All alerts generated by the scan
19
ZAP API - Artefacts
20
w3af API
• w3af’s API is very detailed and easy to use
• HTTP REST API – Detailed views and datasets
• Configurable Scan Profiles
21
How we used w3af’s API
22
QA - Runs functional
tests with all params
Capture QA
Tests with
mitmproxy and
base64 requests
Run w3af with
API
Pull results +
report
Quick Primer – w3af REST API
• /scans/ resource to launch scans
• /scan/<id>/status to get the scan status
• /scan/<id>/kb – details of the vulnerabilities
identified
• /scan/<id>/kb/<vul-id> detailed info about the
vulnerability
• /scan/<id>/traffic = details of traffic
23
Custom Application Security Testing
• Selenium + Python/Java - Custom Web Application Security Scripts
• Scaled Multi-Browser Security Testing
– webdriver.Ie()
– webdriver.Firefox()
– webdriver.Chrome()
– webdriver.PhantomJS()
• Run as Unit Tests/Standalone Tests for the application
• pyresttest or requests for REST based API testing
– YAML based payloads
– Asserts and comparisons can be easily benchmarked
25
Integration with CI/CD Pipeline
• Run multiple scanning tools/engines with Jenkins/other
CI tools
• Run as tasks within Jenkins
• Run Reports within/outside Jenkins
• Forward Integration
– Bug Tracker Databases – JIRA, etc.
26
Story 2 – The Anorexic Threat Model
• Threat Modeling is dead, Long live the Threat Model!
• Problems of Threat Modeling in a DevOps World
• Practical Approaches to Threat Modeling with Agile and
DevOps
28
29
Everything wrong with Threat Models
Today
• Assumption of frozen requirements – Very Waterfall!
• Threat Models are not dynamic enough – Out of date
with application delivery
• Current Threat Modeling is not collaborative – Bunch of
Security folks at the beginning of a project
30
Requirements – Threat Modeling in a
DevOps World
• Just like deployment – Threat Models must be broken
down into smaller and more regular chunks
• Think of a SCRUM user story and integrate it into the
sprint as an “Abuser Story”
• Engage collaboratively with Agile Team-members
31
Abuser Stores – Threat Models
32
Benefits -
Iterative
Threat
Modeling
Security
Test
Cases
Prioritzation
of Bugfixes
Creating
Security
pipelines
Agile Threat Modeling Example
33
Story 3 – Rapid Deployments ==
Vulnerabilities at Scale
• Docker, Infrastructure as Code is great, but…..
• Security Failures in IaC
• Practical Steps:
– Security Testing IaC Deployments
– Other practices
34
Docker is great, but…..
Source: BanyanOps report Dated: May 29 2015 35
Shellshock?
Heartbleed?
Ouch!
IaC Scripts are great, but….
• NoSQL/KV DB Products are
hard to secure:
– MongoDB
– Elasticsearch
– Redis
• Message Queue and Cache
Products are worse:
– RabbitMQ
– Memcached
37
The Stack has gotten pretty complex
• Before • After
38
Lack of Documentation
• Security in Configs are hard to
locate
• In-house Security
documentation - nearly non-
existent
• “Security Hardening
Documents” - mostly for Audit
purposes
39
How do we solve this?
• Higher awareness:
– Hardening Framework for IaC => https://github.com/dev-sec
• Validation
– Integrating Security Scanners with IaC Deployments +
Specialized Scripts
• Nmap + NSE Scripts for Specific deployments
• Lynis
• Integration with Vulnerability Feeds
• Code Review?
40
Conclusion
• DevOps and Security can play well together
• We just need to fit the pieces
• And keep it fitted as continuously as possible
42
Thank You!
• Email: abhay@we45.com
• Twitter: @abhaybhargav
• LinkedIn:
www.linkedin.com/in/abhaybhargav
43

Weitere ähnliche Inhalte

Was ist angesagt?

Code Quality - Security
Code Quality - SecurityCode Quality - Security
Code Quality - Securitysedukull
 
Merging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveMerging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveAbhay Bhargav
 
Integrating security into Continuous Delivery
Integrating security into Continuous DeliveryIntegrating security into Continuous Delivery
Integrating security into Continuous DeliveryTom Stiehm
 
Security in a Continuous Delivery World
Security in a Continuous Delivery WorldSecurity in a Continuous Delivery World
Security in a Continuous Delivery WorldDinis Cruz
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsSuman Sourav
 
Simplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsSimplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsKevin Fealey
 
Using jira to manage risks v1.0 - owasp app sec eu - june 2016
Using jira to manage risks   v1.0 - owasp app sec eu - june 2016Using jira to manage risks   v1.0 - owasp app sec eu - june 2016
Using jira to manage risks v1.0 - owasp app sec eu - june 2016Dinis Cruz
 
Automating security tests for Continuous Integration
Automating security tests for Continuous IntegrationAutomating security tests for Continuous Integration
Automating security tests for Continuous IntegrationStephen de Vries
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps SecRubal Jain
 
DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines Abdul_Mujeeb
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOpsCYBRIC
 
8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOpsFelicia Haggarty
 
Veracode Automation CLI (using Jenkins for SDL integration)
Veracode Automation CLI (using Jenkins for SDL integration)Veracode Automation CLI (using Jenkins for SDL integration)
Veracode Automation CLI (using Jenkins for SDL integration)Dinis Cruz
 
Security in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps EngineersSecurity in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps EngineersDevOps.com
 
What it feels like to live in a Security Enabled DevOps World
What it feels like to live in a Security Enabled DevOps WorldWhat it feels like to live in a Security Enabled DevOps World
What it feels like to live in a Security Enabled DevOps WorldKarun Chennuri
 
Proactive Security AppSec Case Study
Proactive Security AppSec Case StudyProactive Security AppSec Case Study
Proactive Security AppSec Case StudyAndy Hoernecke
 
Devops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCSuman Sourav
 

Was ist angesagt? (20)

Code Quality - Security
Code Quality - SecurityCode Quality - Security
Code Quality - Security
 
Merging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveMerging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec Perspective
 
Integrating security into Continuous Delivery
Integrating security into Continuous DeliveryIntegrating security into Continuous Delivery
Integrating security into Continuous Delivery
 
Security in a Continuous Delivery World
Security in a Continuous Delivery WorldSecurity in a Continuous Delivery World
Security in a Continuous Delivery World
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in Jenkins
 
Simplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsSimplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security Tools
 
Using jira to manage risks v1.0 - owasp app sec eu - june 2016
Using jira to manage risks   v1.0 - owasp app sec eu - june 2016Using jira to manage risks   v1.0 - owasp app sec eu - june 2016
Using jira to manage risks v1.0 - owasp app sec eu - june 2016
 
Automating security tests for Continuous Integration
Automating security tests for Continuous IntegrationAutomating security tests for Continuous Integration
Automating security tests for Continuous Integration
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
 
DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines
 
DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
 
8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps
 
Veracode Automation CLI (using Jenkins for SDL integration)
Veracode Automation CLI (using Jenkins for SDL integration)Veracode Automation CLI (using Jenkins for SDL integration)
Veracode Automation CLI (using Jenkins for SDL integration)
 
Security in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps EngineersSecurity in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps Engineers
 
What it feels like to live in a Security Enabled DevOps World
What it feels like to live in a Security Enabled DevOps WorldWhat it feels like to live in a Security Enabled DevOps World
What it feels like to live in a Security Enabled DevOps World
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
Proactive Security AppSec Case Study
Proactive Security AppSec Case StudyProactive Security AppSec Case Study
Proactive Security AppSec Case Study
 
Devops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLC
 
DevSecOps OWASP
DevSecOps OWASPDevSecOps OWASP
DevSecOps OWASP
 

Andere mochten auch

SecDevOps: Development Tools for Security Pros
SecDevOps: Development Tools for Security ProsSecDevOps: Development Tools for Security Pros
SecDevOps: Development Tools for Security ProsDenim Group
 
Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016
Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016
Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016SecuRing
 
Legacy-SecDevOps (AppSec Management Debrief)
Legacy-SecDevOps (AppSec Management Debrief)Legacy-SecDevOps (AppSec Management Debrief)
Legacy-SecDevOps (AppSec Management Debrief)Dinis Cruz
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineMatt Tesauro
 
App sec in the time of docker containers
App sec in the time of docker containersApp sec in the time of docker containers
App sec in the time of docker containersAkash Mahajan
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityMatt Tesauro
 
AppSec is Eating Security
AppSec is Eating SecurityAppSec is Eating Security
AppSec is Eating SecurityAlex Stamos
 
Artificial Intelligence & Robotics
Artificial Intelligence & RoboticsArtificial Intelligence & Robotics
Artificial Intelligence & RoboticsBiswajit Pratihari
 
SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6Dinis Cruz
 
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding - OWASP Top Ten Proactive ControlsTen Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding - OWASP Top Ten Proactive ControlsSecuRing
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...Simone Onofri
 
Pruebas de seguridad continuas para dev ops
Pruebas de seguridad continuas para dev opsPruebas de seguridad continuas para dev ops
Pruebas de seguridad continuas para dev opsStephen de Vries
 
Solaris (Branded) Zone Internals
Solaris (Branded) Zone InternalsSolaris (Branded) Zone Internals
Solaris (Branded) Zone InternalsKatsunori FUJIWARA
 
Continuous Security Testing in a Devops World
Continuous Security Testing in a Devops WorldContinuous Security Testing in a Devops World
Continuous Security Testing in a Devops WorldStephen de Vries
 
The 11 themes of the Zeitgeist for 2011
The 11 themes of the Zeitgeist for 2011The 11 themes of the Zeitgeist for 2011
The 11 themes of the Zeitgeist for 2011Ross Dawson
 
Agile Secure Software Development in a Large Software Development Organisatio...
Agile Secure Software Development in a Large Software Development Organisatio...Agile Secure Software Development in a Large Software Development Organisatio...
Agile Secure Software Development in a Large Software Development Organisatio...Achim D. Brucker
 
Continous Integration of (JS) projects & check-build philosophy
Continous Integration of (JS) projects & check-build philosophyContinous Integration of (JS) projects & check-build philosophy
Continous Integration of (JS) projects & check-build philosophyFrançois-Guillaume Ribreau
 
Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Katsunori FUJIWARA
 

Andere mochten auch (20)

SecDevOps: Development Tools for Security Pros
SecDevOps: Development Tools for Security ProsSecDevOps: Development Tools for Security Pros
SecDevOps: Development Tools for Security Pros
 
Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016
Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016
Internet banking safeguards vulnerabilities - OWASP AppSec EU 2016
 
Legacy-SecDevOps (AppSec Management Debrief)
Legacy-SecDevOps (AppSec Management Debrief)Legacy-SecDevOps (AppSec Management Debrief)
Legacy-SecDevOps (AppSec Management Debrief)
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec Pipeline
 
App sec in the time of docker containers
App sec in the time of docker containersApp sec in the time of docker containers
App sec in the time of docker containers
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
AppSec is Eating Security
AppSec is Eating SecurityAppSec is Eating Security
AppSec is Eating Security
 
Artificial Intelligence & Robotics
Artificial Intelligence & RoboticsArtificial Intelligence & Robotics
Artificial Intelligence & Robotics
 
SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6
 
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding - OWASP Top Ten Proactive ControlsTen Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
 
Pruebas de seguridad continuas para dev ops
Pruebas de seguridad continuas para dev opsPruebas de seguridad continuas para dev ops
Pruebas de seguridad continuas para dev ops
 
Solaris (Branded) Zone Internals
Solaris (Branded) Zone InternalsSolaris (Branded) Zone Internals
Solaris (Branded) Zone Internals
 
Resume
ResumeResume
Resume
 
Continuous Security Testing in a Devops World
Continuous Security Testing in a Devops WorldContinuous Security Testing in a Devops World
Continuous Security Testing in a Devops World
 
The 11 themes of the Zeitgeist for 2011
The 11 themes of the Zeitgeist for 2011The 11 themes of the Zeitgeist for 2011
The 11 themes of the Zeitgeist for 2011
 
Agile Secure Software Development in a Large Software Development Organisatio...
Agile Secure Software Development in a Large Software Development Organisatio...Agile Secure Software Development in a Large Software Development Organisatio...
Agile Secure Software Development in a Large Software Development Organisatio...
 
Android estrutura de dados
Android estrutura de dadosAndroid estrutura de dados
Android estrutura de dados
 
Continous Integration of (JS) projects & check-build philosophy
Continous Integration of (JS) projects & check-build philosophyContinous Integration of (JS) projects & check-build philosophy
Continous Integration of (JS) projects & check-build philosophy
 
Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?
 

Ähnlich wie OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav

we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Pythonwe45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with PythonAbhay Bhargav
 
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
 
Operating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesNoriaki Tatsumi
 
Building Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSABuilding Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSADenim Group
 
Security guidelines
Security guidelinesSecurity guidelines
Security guidelineskarthz
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & NowCheckmarx
 
Dev opsandsecurity owasp
Dev opsandsecurity owaspDev opsandsecurity owasp
Dev opsandsecurity owaspHelen Bravo
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Denim Group
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Is code review the solution?
Is code review the solution?Is code review the solution?
Is code review the solution?Tiago Mendo
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxJosh Grossman
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxTuynNguyn819213
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014Stephen de Vries
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile WorldDavid Lindner
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional testsAnkita Gupta
 
Integrating security into the application development process
Integrating security into the application development processIntegrating security into the application development process
Integrating security into the application development processJerod Brennen
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudAmazon Web Services
 

Ähnlich wie OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav (20)

we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Pythonwe45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Python
 
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 ...
 
Operating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud Microservices
 
Building Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSABuilding Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSA
 
Security guidelines
Security guidelinesSecurity guidelines
Security guidelines
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
Dev opsandsecurity owasp
Dev opsandsecurity owaspDev opsandsecurity owasp
Dev opsandsecurity owasp
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Is code review the solution?
Is code review the solution?Is code review the solution?
Is code review the solution?
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
 
Integrating security into the application development process
Integrating security into the application development processIntegrating security into the application development process
Integrating security into the application development process
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the Cloud
 

Kürzlich hochgeladen

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav

  • 2. Quick Intro… • CEO of focused Application Security Company, we45 • Author of two international publications • Led myriad app-pentests for clients across multiple domains • Python Junkie – with a passion for solving Security problems • Authored and ran one of the world’s first hands- on Security in DevOps Workshops SecDevOps – A View from the Trenches - Abhay Bhargav, we45 2
  • 3. Agenda • A Case for Security in DevOps (SecDevOps) • Story 1 – Confessions of a Vulnerability Scanner Junkie • Story 2 – The Anorexic Threat Model • Story 3 – Rapid Deployment == Vulnerabilities at Scale 3
  • 4. Let’s test security just before we go live. 4
  • 5. Guiding light in DevOps – True Productivity • Increase Throughput (Deliver Apps) • Decrease Operating Expenses (Resources tied up in – testing, - bugfixes, - security failures) 6 Throughput - • High Quality Apps delivered • Free of Security bugs Operating Resources • Resources consumed testing • Resources consumed fixing • Resources consumed firefighting
  • 6. Speed and Scale • Amazon deploys every 11.6 seconds • Etsy deploys 25 times a day • Your apps are probably deployed on similar lines 9
  • 8. Application Security Bottleneck 11 Releases are blocked until security vulnerabilities are fixed, resulting in: • Higher Operational Resources to fix Security Bugs • Slower Release Cycles • Slower Throughput • Breakdown of Agile and DevOps • Customers going 
  • 9. Story 1 – The Application Vulnerability Scanner Junkie • Working with a Fintech Client • 5 deploys a day • Mature DevOps Processes • Working with SAST and DAST in DevOps • Seems Perfect, Right? 12
  • 10. Problem Statement • Their Customer Pentests constantly came up with Critical and High Severity Issues • They seemed to be missing several vulnerabilities – every release • No unified perspective on Vulnerabilities • No validation on False positives 13
  • 11. Our Diagnosis • ZAP with Jenkins was giving them minimal coverage • Authentication – AJAX Driven was hard to automate with standard headless ZAP • Web Services Test Quality– very poor • No “Second Opinion” • All possibly leading to one conclusion…… 14
  • 12. 15
  • 13. 16 • Green – Identified with Automated Vulnerability Scanning • Yellow – Partially Identified with Automated Vulnerability Scanning • Grey – Identified only with manual security testing
  • 14. Our Solution - Coverage • L1 Coverage: – Leverage ZAP API – Test better with Authentication + Multi-Browser Headless – Second Opinion with the w3af REST API – Integrate Nessus and Nikto for Low-Level Findings • L2 Coverage: – Customized Selenium Scripts for specific threat models – PyRESTTest Test Scripts for specific Web-Services driven Threat Models 17
  • 15. OWASP ZAP + Custom Authentication 18
  • 16. Useful API Calls – OWASP ZAP API • zap.spider.scan() – Zap Spider + Authentication • zap.pscan.scan() – Passive Scan • zap.ascan.scan() – ZAP Active Scan • zap.params.params() – Enumerate all Parameters • zap.core.alerts() – All alerts generated by the scan 19
  • 17. ZAP API - Artefacts 20
  • 18. w3af API • w3af’s API is very detailed and easy to use • HTTP REST API – Detailed views and datasets • Configurable Scan Profiles 21
  • 19. How we used w3af’s API 22 QA - Runs functional tests with all params Capture QA Tests with mitmproxy and base64 requests Run w3af with API Pull results + report
  • 20. Quick Primer – w3af REST API • /scans/ resource to launch scans • /scan/<id>/status to get the scan status • /scan/<id>/kb – details of the vulnerabilities identified • /scan/<id>/kb/<vul-id> detailed info about the vulnerability • /scan/<id>/traffic = details of traffic 23
  • 21. Custom Application Security Testing • Selenium + Python/Java - Custom Web Application Security Scripts • Scaled Multi-Browser Security Testing – webdriver.Ie() – webdriver.Firefox() – webdriver.Chrome() – webdriver.PhantomJS() • Run as Unit Tests/Standalone Tests for the application • pyresttest or requests for REST based API testing – YAML based payloads – Asserts and comparisons can be easily benchmarked 25
  • 22. Integration with CI/CD Pipeline • Run multiple scanning tools/engines with Jenkins/other CI tools • Run as tasks within Jenkins • Run Reports within/outside Jenkins • Forward Integration – Bug Tracker Databases – JIRA, etc. 26
  • 23. Story 2 – The Anorexic Threat Model • Threat Modeling is dead, Long live the Threat Model! • Problems of Threat Modeling in a DevOps World • Practical Approaches to Threat Modeling with Agile and DevOps 28
  • 24. 29
  • 25. Everything wrong with Threat Models Today • Assumption of frozen requirements – Very Waterfall! • Threat Models are not dynamic enough – Out of date with application delivery • Current Threat Modeling is not collaborative – Bunch of Security folks at the beginning of a project 30
  • 26. Requirements – Threat Modeling in a DevOps World • Just like deployment – Threat Models must be broken down into smaller and more regular chunks • Think of a SCRUM user story and integrate it into the sprint as an “Abuser Story” • Engage collaboratively with Agile Team-members 31
  • 27. Abuser Stores – Threat Models 32 Benefits - Iterative Threat Modeling Security Test Cases Prioritzation of Bugfixes Creating Security pipelines
  • 28. Agile Threat Modeling Example 33
  • 29. Story 3 – Rapid Deployments == Vulnerabilities at Scale • Docker, Infrastructure as Code is great, but….. • Security Failures in IaC • Practical Steps: – Security Testing IaC Deployments – Other practices 34
  • 30. Docker is great, but….. Source: BanyanOps report Dated: May 29 2015 35 Shellshock? Heartbleed? Ouch!
  • 31. IaC Scripts are great, but…. • NoSQL/KV DB Products are hard to secure: – MongoDB – Elasticsearch – Redis • Message Queue and Cache Products are worse: – RabbitMQ – Memcached 37
  • 32. The Stack has gotten pretty complex • Before • After 38
  • 33. Lack of Documentation • Security in Configs are hard to locate • In-house Security documentation - nearly non- existent • “Security Hardening Documents” - mostly for Audit purposes 39
  • 34. How do we solve this? • Higher awareness: – Hardening Framework for IaC => https://github.com/dev-sec • Validation – Integrating Security Scanners with IaC Deployments + Specialized Scripts • Nmap + NSE Scripts for Specific deployments • Lynis • Integration with Vulnerability Feeds • Code Review? 40
  • 35. Conclusion • DevOps and Security can play well together • We just need to fit the pieces • And keep it fitted as continuously as possible 42
  • 36. Thank You! • Email: abhay@we45.com • Twitter: @abhaybhargav • LinkedIn: www.linkedin.com/in/abhaybhargav 43

Hinweis der Redaktion

  1. Afternoon ladies and gentlemen, I can imagine how you’re all feeling for this session before lunch. I think the OWASP’s motto for this session was “catch em when they’re hungry”
  2. Towards the end of the slide – “I think there has been one line that has ruined application security for all of us. Forever.
  3. I realized that this works, because while we claim to have embraced Agile Development and DevOps, we treat security in a very waterfall way. We cant seem to process it unless its in sequence.
  4. Of course, this has happened. Application Delivery just got really quick. It doesn’t matter if your Amazon or whatever, you are delivering apps this way.
  5. So Application security is like this now….