SlideShare a Scribd company logo
1 of 66
Download to read offline
Rebooting (secure) (web)
 software development
    with continuous
      deployment

Nick Galbreath            OWASP AppSec USA
http://www.client9.com/   Austin, Texas
nickg@client.com          Oct 25, 2012
@ngalbreath
The latest version of these slides
  http://client9.com/20121025


Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Presented at OWASP AppSec USA
Austin, Texas, USA
October 25, 2012
  Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Based on a BSides Los Angeles presentation at
Hermosa Beach, August 18, 2012
http://client9.com/20120816




  Nick Galbreath   OWASP USAThree Blocks
                                2012-10-25   from Conference.
                                                @ngalbreath
I took all these photos in NYC.
Unless I didn't.
In which case, they are
 from The Internet.


 Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Continuous Deployment?
   "Rebooting" software development?




Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
whoami
     Nick Galbreath www.client9.com @ngalbreath

• Director of Engineering, Etsy

 • enterprise, fraud, security, fun

 • New Gig, but... Etsy sponsored my trip here

• VP Engineering,
  “Company Confidential”

 • Stay tuned for details
  Nick Galbreath   OWASP USA      2012-10-25   @ngalbreath
Context Alert!
  • My background is software development

  • Mostly in public, web-facing applications

  • Everything from C to PHP

  • Your mileage may vary if you are in different
    industries, with different risk profiles



Nick Galbreath    OWASP USA    2012-10-25   @ngalbreath
Problem Statement
  • Web App vulnerabilities aren’t conceptually that
    hard and should be easy to deal with.

  • In spite (or because) of our efforts, security is an
    “end of line” process or whack-a-mole

  • Security education has been at best marginally
    useful to developers (in the large, your organization
    may be different).

  • How can we get ever get ahead?

Nick Galbreath   OWASP USA        2012-10-25     @ngalbreath
How did we get here?




Nick Galbreath     View from Hyatt Austin hotel room.
                 OWASP USA    2012-10-25  @ngalbreath
The Software Product Model
     Code flows to functional groups.

     • Product Managers spec code

     • Engineers write code

     • QA tests code

     • Security tests code

     • Release engineers package code

     • Operations runs code


 Nick Galbreath    OWASP USA           2012-10-25   @ngalbreath
High Distribution Cost
    The Software Product Model is designed for applications
    where the cost of distribution is high. Where “high” might be
    measure by risk, money, time, resources, customer annoyance.

    • Retail, CD/DVDs

    • Embedded or Exotic Hardware

    • Safety, Medical or Defense Systems

    • Operating Systems (phone or desktop)

    • Your Homework (1-time deploy)


Nick Galbreath     OWASP USA          2012-10-25      @ngalbreath
SPM -SDLC
                                        Release
                                     QA                  Ops
                                          QA
Commits




                                                freeze
Specs         Development         Bug Fix /              New Specs
                                   Slush

                    time in weeks or months
   Nick Galbreath     OWASP USA    2012-10-25      @ngalbreath
SPM-Production
     Changes to Production

             a ng                                   g
        B igB                                   B an
                                             Big




Major Release         Minor Releases                Major Release

     New Features going live are 100% correlated
       with volume of changes to production.
  Nick Galbreath    OWASP USA          2012-10-25        @ngalbreath
Nothing wrong here.




      Given high distribution costs, it makes sense
Nick Galbreath front-load USA development process
           to      OWASP the     2012-10-25 @ngalbreath
WebApps Y2K
  • Mostly followed software product model since
    that’s all we knew

  • High barrier to entry

  • Specialized Hardware, software, people to get
    started

  • Lots of engineering to keep things running and
    scaling.

Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
True Story
  • “Can’t push out the spelling error change
    since it’s too risky”

  • “That code has already been through QA, it’s
    locked down.”

  • “Product has to prioritize that, else we aren’t
    touching it.”
                                                       his ls
                                                      T l
                                                          e
                                                       Sm
Nick Galbreath   OWASP USA     2012-10-25   @ngalbreath
WebApps 2012

  • Almost no barrier to entry

  • Commodity hardware

  • “Learn PHP in 24 hours”

  • Scaling problems can be outsourced (sorta)



Nick Galbreath   OWASP USA       2012-10-25   @ngalbreath
WebApps 2012 and
       Cost of Distribution

  • Moving a few megabytes from source control
    to a few machines in production over a 1Gb
    or 10Gb link.

  • In other words... free!




Nick Galbreath   OWASP USA    2012-10-25   @ngalbreath
Given this and
     competitive /customer
      expectations, it’s not
    unreasonable to expect
    an SDLC moves faster
       than the Software
         Product Model
Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
On the other hand,
WebApps 2012 have very
different failure cases




 Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
The Nature of Failure
  • WebApps 2012 are data-driven.

  • and frequently have APIs, user-generated content,
    social features (unexpected use cases, new problems)

  • Failure might be due to algorithm problems, but...

  • ...more likely it’s bad user input, bad data in database,
    or operational load.

  • This means data added in the past might cause
    problems in the future. Complicated!


Nick Galbreath    OWASP USA         2012-10-25      @ngalbreath
And When It Happens

  • Rollback

  • Spend next week figuring out what changed,
    by whom, caused the breakage

  • Re-qa

  • Re-push

  • meanwhile new code is piling up.

Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
When SPM meets WebApp2012
   • There is a long time between code-written to code-
     deployed. This “non-value added” steps for what
     should be low-cost changes.

   • Might be weeks or months before code deployed.

   • Feedback loop between code in dev and code in
     production broken.

   • When the bug/security report comes in, it’s likely the
     engineer is on a different project.

   • Any wonder that engineers don’t care for operations
     or security?

 Nick Galbreath    OWASP USA        2012-10-25     @ngalbreath
Hypothesis
  • It is impossible to simulate the production
    environment in development, either to
    operational differences or data differences.

  • No amount of QA or Security Testing can prove
    you don’t have bugs, vulnerabilities, or won’t
    cause severe operational problems.

  • You have bugs and vulnerabilities right now
    your site.

Nick Galbreath   OWASP USA    2012-10-25    @ngalbreath
Conclusion:
You're Screwed!
 Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
• Company wide push to move faster

  • Being a bottleneck isn’t acceptable.

  • Nor is giving up or saying “need more
    resources”

  • Engineers disengaged

  • Looming security disaster awaits

  • Whack-a-Mole doesn’t scale


Nick Galbreath   OWASP USA   2012-10-25     @ngalbreath
If we want to
fix Security,




                 we have to
Nick Galbreath
                 fix Development.
                 OWASP USA   2012-10-25   @ngalbreath
Continuous Deployment



   A System of Software Production Characterized By
 Numerous Small Changes to the Production Environment
                           or
      That Crazy Shit That Etsy Does. And Google.
  And Facebook. And Amazon. And Twitter. And NetFlix.
                So maybe not that crazy.



Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
CD -Changes to
              Production
                                 new feature
    new feature




         New Features are not correlated with
          volume of changes to production



Nick Galbreath    OWASP USA    2012-10-25   @ngalbreath
Developers are responsible
and confident with their code.




Nick Galbreath   OWASP USA   In 2012-10-25 @ngalbreath
                                 Production
What If You Had a Button that said
                   DEPLOY
 •Pushes whatever is on HEAD/TRUNK to production.
 •In about a minute.
 •Anyone is allowed to push it.

    This button logs who performed the change, and what
        the change was, but no other rules or controls.




Nick Galbreath   OWASP USA       2012-10-25    @ngalbreath
Take 1: Fear
                       • Likely no one is going to
                         push it since they are afraid
                         they’ll break something.

                       • Meanwhile un-deployed
                         code keeps piling up.


                         ex. New hires are terrified of
                        deploying an... HTML change!
                       “but I don’t want to break Etsy!”

Nick Galbreath   OWASP USA     2012-10-25    @ngalbreath
Take 2: First Attempt

  • At some point, some brave sole will put their
    code on TRUNK, and push the button.

  • It’s likely someone else tells them that their
    feature blew up the site or doesn’t work, and
    to please role it back.



Nick Galbreath   OWASP USA    2012-10-25   @ngalbreath
Take 3: With Graphs
  • The developer learns that they’d don’t know
    how the code runs in production and they need
    some way of understanding how it works.

  • Enter Graphite/Ganglia/StatsD!
    http://codeascraft.etsy.com/2011/02/15/
    measure-anything-measure-everything/

  • Make it free to monitor anything in the
    application and expose that to everyone.

Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Take 4: Push It


  • Repushing out code with fix, still causes some
    problem as witness by a graph falling off a
    cliff, but the developer was aware of it and
    was able to role back.




Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Take 5: Isolation

  • Hmmm, the developer in reviewing the code
    notices that actually they are pushing a few
    bugs fixes, and some other minor features.

  • Maybe just pushing out a single bug fix one at
    time to help isolate the problem.



Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Take 6: Success!

  • Yes! The developer pushed code and fixed a
    bug and made the site just that much better.

  • The secret about continuous deployment is
    small deltas that you or anyone can
    understand easily.



Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Take 7: Dark Pushes
  • Now that the developer got the bugs out of the
    way, it time for the feature.

  • Let’s push out all the supporting files. By
    themselves they do nothing. By getting these
    out first, you isolate them as being “unlikely to
    cause a site problem”

  • Also now that they are on the trunk, others can
    look at them (easily).

Nick Galbreath   OWASP USA     2012-10-25    @ngalbreath
Take 8: Ramp-ups
 • Now it’s time to get that feature live.

 • Instead of a Big Bang, he’ll put a ‘ramp-up’ in the
   code. This will control how many people on the
   site will get the new feature.

 • Maybe start with “employees only” so his team
   can test in production.

 • Start at 1%, 5%, 10% and make sure things work,
   graphs are stable and work up to 100%.

 • if problem, can ramp-down or turn off.
Nick Galbreath   OWASP USA        2012-10-25   @ngalbreath
Take 8: Eliminate
  • Along the way you’ll get burned by little things, so, we’ll

  • A development environment that mimics prod as close as
    possible (won’t be exact)

  • Fast and stable unit and functional tests that are easy to run.
    If they are slow and flakey, no one will use them

  • Eliminate stupid bugs with commit or pre-commit static
    analysis.

  • Move QA/Security/Release checks as close as possible to
    the developer.


Nick Galbreath      OWASP USA           2012-10-25        @ngalbreath
Take 9: Communicate
  • As more people get use to it, you’ll need a way
    of co-ordinating releases among people.

  • IRC works well

  • Need set of conventions that match your risk
    levels.

  • At least developers are talking about releases!


Nick Galbreath   OWASP USA    2012-10-25   @ngalbreath
Take 10: Learn
  • No doubt along the way, serious mistakes will be made.
    Complex system failures will happen.

  • Learn from them. Do Post-Mortems. Do Root-Cause Analysis.

  • Recount what happened.

  • 99.99999999% of problems are caused by mistakes
    ... not maliciousness

  • How can the environment be changed so it doesn’t happen
    again?

  • Publish the results.


Nick Galbreath      OWASP USA         2012-10-25      @ngalbreath
Butt What
About...
Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
What About That Guy
     Who Pushes at 3AM
  • That Guy who pushes at 3AM, and something
    goes wrong and wakes up all of operations
    with pagers going off will quickly learn this
    was a bad idea.

  • It’s about courtesy and respect.

    • Of course there are off-hours exception, in
      which That Guy should pre-inform everyone.


Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
What about...
                 code reviews?
  • Yup, do them

  • Nothing here precludes code reviews.

  • In fact, it’s frequently easier to do since the
    reviewer doesn’t have to dork around with
    branches or tags.... they have all the dark code
    already on Trunk/Head

  • .. and the reviews are smaller and faster


Nick Galbreath    OWASP USA    2012-10-25   @ngalbreath
What about...
           security reviews?

  • Yup do ‘em.

  • Nothing here eliminates your existing review
    cycle.




Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
What about...
             Agile Methods?
  • (everyone does “agile differently” so hard to
    qualify this).

  • Agile methods frequently work to improve the
    spec-writing / development cycle

  • Or the spec / dev / qa cycle

  • But code still pools up waiting to go to
    production.

Nick Galbreath   OWASP USA     2012-10-25      @ngalbreath
What about Customer Service?
Do they freak out with all the changes?


  • Remember, most changes either do nothing,
    or are trivial or are minor.

  • Feature launches always need to be co-
    ordinated with customer service


(from audience question)

Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
So why did I tell you all this?
Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
That Engineer who previously
  didn’t push code is now sensitized
  that their code has consequences
      and are responsive to fix it.
      It’s amazing how interested engineers become in
       security when you find problems with their code
          when they are able to fix quickly themselves.




Nick Galbreath   OWASP USA       2012-10-25     @ngalbreath
Security Fixes can
       go out quickly.




     In addition, you know fixes can go out since they
                     happen every day.
Nick Galbreath   OWASP USA      2012-10-25    @ngalbreath
You can repurpose the QA stack,
  graphing and log analysis for
      attack detection and
     vulnerability prevention.
    Need ideas? Check out these other presentations on
               fraud and security by Etsy:

                 http://slidesha.re/IMaavq
                 http://slidesha.re/JGaU2s
                 http://slidesha.re/KPvHYu
                 http://slidesha.re/Kw5zdV


Nick Galbreath     OWASP USA    2012-10-25    @ngalbreath
While there is always
   whack-a-mole, you can focus
  on being a service organization
  and work on engineering to be
        secure by default.


Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
New Roles, Less Silos
  • Developers: works with operations

  • QA: works on making systems to empower people
    to write tests, static analysis, in-house consultancy
    on good test design

  • Release: tools to push code to production, system
    images.

  • Security: in house consultancy, security
    engineering, secure by default, detection

Nick Galbreath   OWASP USA       2012-10-25     @ngalbreath
So Continuous Deployment
   is Only for Websites?




   Wine Robot at DFW
 American Airlines lounge
 Nick Galbreath  OWASP USA   2012-10-25   @ngalbreath
Google Chrome
  • Really made updates painless for the consumer.

  • Frequent changes “regularly” -- maybe not continuous
    but way faster than normal software product

  • Multiple channels of releases.

  • Config flags can turn on or off experimental features.

  • Works so well, many others are copying this
    approach.


Nick Galbreath   OWASP USA           2012-10-25   @ngalbreath
Apps
  • Due to cost of deployment being high
    (e.g. due to approval from Apple)

  • And due to diversity of destination (how many
    different types of hardware will it run on), hard to
    predict how well it work.

  • Put as much as you can into the release

  • Then read configs from internet to light up or turn
    off features

Nick Galbreath   OWASP USA        2012-10-25     @ngalbreath
Chip Design
  • After this talk, I met an engineer who does
    hardware design.

  • All changes are tiny and then tested, then
    committed.

  • Any change too big is rejected.

  • Learned the hard way that big changes are
    impossible to understand and test.

Nick Galbreath   OWASP USA    2012-10-25    @ngalbreath
So What Now?
   Ice Skating at Rockefeller Center in
Nick Galbreath OWASP USA      2012-10-25   October.
                                             @ngalbreath
Security is in a Good
  Position to Force Change
  • Security bridges multiple disciplines:
    ops, dev, qa, release, business.

  • Unique position to make change.

  • When breach happens (in whatever the layer),
    we need to patch fast.

  • I hope that is not controversial.


Nick Galbreath   OWASP USA     2012-10-25    @ngalbreath
Start with
Nick Galbreath
                 the Deploy Button
                  OWASP USA   2012-10-25   @ngalbreath
It will change your SDLC




Nick Galbreath NYC Public Library
                 OWASP USA    2012-10-25   @ngalbreath
Continuous Deployment




Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Thanks!




Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath
Nick Galbreath
    @ngalbreath               nickg@client9.com




http://client9.com/20121025
Nick Galbreath   OWASP USA   2012-10-25   @ngalbreath

More Related Content

What's hot

7 (+/- 2) Steps to Agility
7 (+/- 2) Steps to Agility7 (+/- 2) Steps to Agility
7 (+/- 2) Steps to AgilityTim Gifford
 
DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...
DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...
DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...DevOpsDays Tel Aviv
 
Agile Infrastructure - Agile 2009
Agile Infrastructure - Agile 2009Agile Infrastructure - Agile 2009
Agile Infrastructure - Agile 2009Andrew Shafer
 
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience ReportGene Kim
 
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryWebinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryXebiaLabs
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsMike Brittain
 
The Unicorn Project and The Five Ideals (older: see notes for newer version)
The Unicorn Project and The Five Ideals (older: see notes for newer version)The Unicorn Project and The Five Ideals (older: see notes for newer version)
The Unicorn Project and The Five Ideals (older: see notes for newer version)Gene Kim
 
Continuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your ProductContinuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your ProductAdam Zolyak
 
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology OrgsWhy Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology OrgsGene Kim
 
2009 06 01 The Lean Startup Texas Edition
2009 06 01 The Lean Startup Texas Edition2009 06 01 The Lean Startup Texas Edition
2009 06 01 The Lean Startup Texas EditionEric Ries
 
The Path of DevOps Enlightenment for InfoSec
The Path of DevOps Enlightenment for InfoSecThe Path of DevOps Enlightenment for InfoSec
The Path of DevOps Enlightenment for InfoSecJames Wickett
 
Machine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOpsMachine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOpsDeborah Schalm
 
Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09Andrew Shafer
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureXebiaLabs
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at FrosconKris Buytaert
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryJames Wickett
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013Nick Galbreath
 
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBustersXebiaLabs
 

What's hot (20)

7 (+/- 2) Steps to Agility
7 (+/- 2) Steps to Agility7 (+/- 2) Steps to Agility
7 (+/- 2) Steps to Agility
 
DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...
DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...
DevOps is dead! Long Live PanOps! - Shahar Kedar, BigPanda - DevOpsDays Tel A...
 
DevOps and Audit
DevOps and AuditDevOps and Audit
DevOps and Audit
 
Agile Infrastructure - Agile 2009
Agile Infrastructure - Agile 2009Agile Infrastructure - Agile 2009
Agile Infrastructure - Agile 2009
 
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
 
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryWebinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
The Unicorn Project and The Five Ideals (older: see notes for newer version)
The Unicorn Project and The Five Ideals (older: see notes for newer version)The Unicorn Project and The Five Ideals (older: see notes for newer version)
The Unicorn Project and The Five Ideals (older: see notes for newer version)
 
Continuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your ProductContinuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your Product
 
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology OrgsWhy Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
 
2009 06 01 The Lean Startup Texas Edition
2009 06 01 The Lean Startup Texas Edition2009 06 01 The Lean Startup Texas Edition
2009 06 01 The Lean Startup Texas Edition
 
The Path of DevOps Enlightenment for InfoSec
The Path of DevOps Enlightenment for InfoSecThe Path of DevOps Enlightenment for InfoSec
The Path of DevOps Enlightenment for InfoSec
 
Machine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOpsMachine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOps
 
Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed Culture
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous Delivery
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
 
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
 

Viewers also liked

Web Application Security | A developer's perspective - Insecure Direct Object...
Web Application Security | A developer's perspective - Insecure Direct Object...Web Application Security | A developer's perspective - Insecure Direct Object...
Web Application Security | A developer's perspective - Insecure Direct Object...n|u - The Open Security Community
 
Owasp top 10 security threats
Owasp top 10 security threatsOwasp top 10 security threats
Owasp top 10 security threatsVishal Kumar
 
Owasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcOwasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcKaty Anton
 
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013Abraham Aranguren
 
State of OWASP 2015
State of OWASP 2015State of OWASP 2015
State of OWASP 2015tmd800
 
OWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and ManicoOWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and ManicoEoin Keary
 
RSA Europe 2013 OWASP Training
RSA Europe 2013 OWASP TrainingRSA Europe 2013 OWASP Training
RSA Europe 2013 OWASP TrainingJim Manico
 
OWASP Open SAMM
OWASP Open SAMMOWASP Open SAMM
OWASP Open SAMMintive
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10bilcorry
 
The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyAditya Gupta
 
[Wroclaw #5] OWASP Projects: beyond Top 10
[Wroclaw #5] OWASP Projects: beyond Top 10[Wroclaw #5] OWASP Projects: beyond Top 10
[Wroclaw #5] OWASP Projects: beyond Top 10OWASP
 
OWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesOWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesSoftware Guru
 
OWASP WTE - Now in the Cloud!
OWASP WTE - Now in the Cloud!OWASP WTE - Now in the Cloud!
OWASP WTE - Now in the Cloud!Matt Tesauro
 
ng-owasp: OWASP Top 10 for AngularJS Applications
ng-owasp: OWASP Top 10 for AngularJS Applicationsng-owasp: OWASP Top 10 for AngularJS Applications
ng-owasp: OWASP Top 10 for AngularJS ApplicationsKevin Hakanson
 
Owasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesOwasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesMarco Morana
 
Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresAung Thu Rha Hein
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Brian Huff
 

Viewers also liked (20)

Web Application Security | A developer's perspective - Insecure Direct Object...
Web Application Security | A developer's perspective - Insecure Direct Object...Web Application Security | A developer's perspective - Insecure Direct Object...
Web Application Security | A developer's perspective - Insecure Direct Object...
 
Owasp Au Rev4
Owasp Au Rev4Owasp Au Rev4
Owasp Au Rev4
 
Owasp top 10 security threats
Owasp top 10 security threatsOwasp top 10 security threats
Owasp top 10 security threats
 
Owasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcOwasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwc
 
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
 
State of OWASP 2015
State of OWASP 2015State of OWASP 2015
State of OWASP 2015
 
OWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and ManicoOWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and Manico
 
RSA Europe 2013 OWASP Training
RSA Europe 2013 OWASP TrainingRSA Europe 2013 OWASP Training
RSA Europe 2013 OWASP Training
 
OWASP Top Ten in Practice
OWASP Top Ten in PracticeOWASP Top Ten in Practice
OWASP Top Ten in Practice
 
OWASP Open SAMM
OWASP Open SAMMOWASP Open SAMM
OWASP Open SAMM
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
 
Basic of SSDLC
Basic of SSDLCBasic of SSDLC
Basic of SSDLC
 
The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack Proxy
 
[Wroclaw #5] OWASP Projects: beyond Top 10
[Wroclaw #5] OWASP Projects: beyond Top 10[Wroclaw #5] OWASP Projects: beyond Top 10
[Wroclaw #5] OWASP Projects: beyond Top 10
 
OWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesOWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application Vulnerabilities
 
OWASP WTE - Now in the Cloud!
OWASP WTE - Now in the Cloud!OWASP WTE - Now in the Cloud!
OWASP WTE - Now in the Cloud!
 
ng-owasp: OWASP Top 10 for AngularJS Applications
ng-owasp: OWASP Top 10 for AngularJS Applicationsng-owasp: OWASP Top 10 for AngularJS Applications
ng-owasp: OWASP Top 10 for AngularJS Applications
 
Owasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesOwasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root Causes
 
Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & Countermeasures
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 

Similar to Rebooting Software Development - OWASP AppSecUSA

Shift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileShift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileTechWell
 
Customer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryCustomer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryXebiaLabs
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOpsTechWell
 
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013Nick Galbreath
 
An agile introduction to DevOps
An agile introduction to DevOpsAn agile introduction to DevOps
An agile introduction to DevOpsGil Zilberfeld
 
Balance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudBalance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudKent Graziano
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performancegvenzl
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architectureScott Hsieh
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Nick Galbreath
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsDynatrace
 
All Change! How the new economics of Cloud will make you think differently ab...
All Change! How the new economics of Cloud will make you think differently ab...All Change! How the new economics of Cloud will make you think differently ab...
All Change! How the new economics of Cloud will make you think differently ab...Steve Poole
 
Tales from the Platform Trade
Tales from the Platform TradeTales from the Platform Trade
Tales from the Platform TradeWilliam Grosso
 
Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...AgileSparks
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded SoftwareJames Grenning
 
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery PipelineDevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery PipelineJames Wickett
 

Similar to Rebooting Software Development - OWASP AppSecUSA (20)

Shift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileShift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond Agile
 
Customer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryCustomer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous Delivery
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
The New Agile
The New AgileThe New Agile
The New Agile
 
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
 
An agile introduction to DevOps
An agile introduction to DevOpsAn agile introduction to DevOps
An agile introduction to DevOps
 
Brickman-Brunette 2015-ICMC
Brickman-Brunette 2015-ICMCBrickman-Brunette 2015-ICMC
Brickman-Brunette 2015-ICMC
 
Breaking the mold: Lean Product Management and MVP in a Large Company
Breaking the mold: Lean Product Management and MVP in a Large CompanyBreaking the mold: Lean Product Management and MVP in a Large Company
Breaking the mold: Lean Product Management and MVP in a Large Company
 
Balance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudBalance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data Cloud
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architecture
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOps
 
All Change! How the new economics of Cloud will make you think differently ab...
All Change! How the new economics of Cloud will make you think differently ab...All Change! How the new economics of Cloud will make you think differently ab...
All Change! How the new economics of Cloud will make you think differently ab...
 
Tales from the Platform Trade
Tales from the Platform TradeTales from the Platform Trade
Tales from the Platform Trade
 
Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...
 
SDLC & DevSecOps
SDLC & DevSecOpsSDLC & DevSecOps
SDLC & DevSecOps
 
Delphix
DelphixDelphix
Delphix
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded Software
 
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery PipelineDevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
 

More from Nick Galbreath

Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software developmentNick Galbreath
 
DevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading ListDevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading ListNick Galbreath
 
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013Nick Galbreath
 
libinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYClibinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYCNick Galbreath
 
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forumlibinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open ForumNick Galbreath
 
Time tested php with libtimemachine
Time tested php with libtimemachineTime tested php with libtimemachine
Time tested php with libtimemachineNick Galbreath
 
libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012Nick Galbreath
 
New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20Nick Galbreath
 
Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Nick Galbreath
 
Slide show font sampler, black on white
Slide show font sampler, black on whiteSlide show font sampler, black on white
Slide show font sampler, black on whiteNick Galbreath
 
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012Nick Galbreath
 
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012Nick Galbreath
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012Nick Galbreath
 

More from Nick Galbreath (13)

Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software development
 
DevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading ListDevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading List
 
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
 
libinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYClibinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYC
 
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forumlibinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
 
Time tested php with libtimemachine
Time tested php with libtimemachineTime tested php with libtimemachine
Time tested php with libtimemachine
 
libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012
 
New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20
 
Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012
 
Slide show font sampler, black on white
Slide show font sampler, black on whiteSlide show font sampler, black on white
Slide show font sampler, black on white
 
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
 
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
 

Recently uploaded

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Rebooting Software Development - OWASP AppSecUSA

  • 1. Rebooting (secure) (web) software development with continuous deployment Nick Galbreath OWASP AppSec USA http://www.client9.com/ Austin, Texas nickg@client.com Oct 25, 2012 @ngalbreath
  • 2. The latest version of these slides http://client9.com/20121025 Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 3. Presented at OWASP AppSec USA Austin, Texas, USA October 25, 2012 Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 4. Based on a BSides Los Angeles presentation at Hermosa Beach, August 18, 2012 http://client9.com/20120816 Nick Galbreath OWASP USAThree Blocks 2012-10-25 from Conference. @ngalbreath
  • 5. I took all these photos in NYC. Unless I didn't. In which case, they are from The Internet. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 6. Continuous Deployment? "Rebooting" software development? Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 7. whoami Nick Galbreath www.client9.com @ngalbreath • Director of Engineering, Etsy • enterprise, fraud, security, fun • New Gig, but... Etsy sponsored my trip here • VP Engineering, “Company Confidential” • Stay tuned for details Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 8. Context Alert! • My background is software development • Mostly in public, web-facing applications • Everything from C to PHP • Your mileage may vary if you are in different industries, with different risk profiles Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 9. Problem Statement • Web App vulnerabilities aren’t conceptually that hard and should be easy to deal with. • In spite (or because) of our efforts, security is an “end of line” process or whack-a-mole • Security education has been at best marginally useful to developers (in the large, your organization may be different). • How can we get ever get ahead? Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 10. How did we get here? Nick Galbreath View from Hyatt Austin hotel room. OWASP USA 2012-10-25 @ngalbreath
  • 11. The Software Product Model Code flows to functional groups. • Product Managers spec code • Engineers write code • QA tests code • Security tests code • Release engineers package code • Operations runs code Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 12. High Distribution Cost The Software Product Model is designed for applications where the cost of distribution is high. Where “high” might be measure by risk, money, time, resources, customer annoyance. • Retail, CD/DVDs • Embedded or Exotic Hardware • Safety, Medical or Defense Systems • Operating Systems (phone or desktop) • Your Homework (1-time deploy) Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 13. SPM -SDLC Release QA Ops QA Commits freeze Specs Development Bug Fix / New Specs Slush time in weeks or months Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 14. SPM-Production Changes to Production a ng g B igB B an Big Major Release Minor Releases Major Release New Features going live are 100% correlated with volume of changes to production. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 15. Nothing wrong here. Given high distribution costs, it makes sense Nick Galbreath front-load USA development process to OWASP the 2012-10-25 @ngalbreath
  • 16. WebApps Y2K • Mostly followed software product model since that’s all we knew • High barrier to entry • Specialized Hardware, software, people to get started • Lots of engineering to keep things running and scaling. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 17. True Story • “Can’t push out the spelling error change since it’s too risky” • “That code has already been through QA, it’s locked down.” • “Product has to prioritize that, else we aren’t touching it.” his ls T l e Sm Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 18. WebApps 2012 • Almost no barrier to entry • Commodity hardware • “Learn PHP in 24 hours” • Scaling problems can be outsourced (sorta) Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 19. WebApps 2012 and Cost of Distribution • Moving a few megabytes from source control to a few machines in production over a 1Gb or 10Gb link. • In other words... free! Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 20. Given this and competitive /customer expectations, it’s not unreasonable to expect an SDLC moves faster than the Software Product Model Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 21. On the other hand, WebApps 2012 have very different failure cases Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 22. The Nature of Failure • WebApps 2012 are data-driven. • and frequently have APIs, user-generated content, social features (unexpected use cases, new problems) • Failure might be due to algorithm problems, but... • ...more likely it’s bad user input, bad data in database, or operational load. • This means data added in the past might cause problems in the future. Complicated! Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 23. And When It Happens • Rollback • Spend next week figuring out what changed, by whom, caused the breakage • Re-qa • Re-push • meanwhile new code is piling up. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 24. When SPM meets WebApp2012 • There is a long time between code-written to code- deployed. This “non-value added” steps for what should be low-cost changes. • Might be weeks or months before code deployed. • Feedback loop between code in dev and code in production broken. • When the bug/security report comes in, it’s likely the engineer is on a different project. • Any wonder that engineers don’t care for operations or security? Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 25. Hypothesis • It is impossible to simulate the production environment in development, either to operational differences or data differences. • No amount of QA or Security Testing can prove you don’t have bugs, vulnerabilities, or won’t cause severe operational problems. • You have bugs and vulnerabilities right now your site. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 26. Conclusion: You're Screwed! Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 27. • Company wide push to move faster • Being a bottleneck isn’t acceptable. • Nor is giving up or saying “need more resources” • Engineers disengaged • Looming security disaster awaits • Whack-a-Mole doesn’t scale Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 28. If we want to fix Security, we have to Nick Galbreath fix Development. OWASP USA 2012-10-25 @ngalbreath
  • 29. Continuous Deployment A System of Software Production Characterized By Numerous Small Changes to the Production Environment or That Crazy Shit That Etsy Does. And Google. And Facebook. And Amazon. And Twitter. And NetFlix. So maybe not that crazy. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 30. CD -Changes to Production new feature new feature New Features are not correlated with volume of changes to production Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 31. Developers are responsible and confident with their code. Nick Galbreath OWASP USA In 2012-10-25 @ngalbreath Production
  • 32. What If You Had a Button that said DEPLOY •Pushes whatever is on HEAD/TRUNK to production. •In about a minute. •Anyone is allowed to push it. This button logs who performed the change, and what the change was, but no other rules or controls. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 33. Take 1: Fear • Likely no one is going to push it since they are afraid they’ll break something. • Meanwhile un-deployed code keeps piling up. ex. New hires are terrified of deploying an... HTML change! “but I don’t want to break Etsy!” Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 34. Take 2: First Attempt • At some point, some brave sole will put their code on TRUNK, and push the button. • It’s likely someone else tells them that their feature blew up the site or doesn’t work, and to please role it back. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 35. Take 3: With Graphs • The developer learns that they’d don’t know how the code runs in production and they need some way of understanding how it works. • Enter Graphite/Ganglia/StatsD! http://codeascraft.etsy.com/2011/02/15/ measure-anything-measure-everything/ • Make it free to monitor anything in the application and expose that to everyone. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 36. Take 4: Push It • Repushing out code with fix, still causes some problem as witness by a graph falling off a cliff, but the developer was aware of it and was able to role back. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 37. Take 5: Isolation • Hmmm, the developer in reviewing the code notices that actually they are pushing a few bugs fixes, and some other minor features. • Maybe just pushing out a single bug fix one at time to help isolate the problem. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 38. Take 6: Success! • Yes! The developer pushed code and fixed a bug and made the site just that much better. • The secret about continuous deployment is small deltas that you or anyone can understand easily. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 39. Take 7: Dark Pushes • Now that the developer got the bugs out of the way, it time for the feature. • Let’s push out all the supporting files. By themselves they do nothing. By getting these out first, you isolate them as being “unlikely to cause a site problem” • Also now that they are on the trunk, others can look at them (easily). Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 40. Take 8: Ramp-ups • Now it’s time to get that feature live. • Instead of a Big Bang, he’ll put a ‘ramp-up’ in the code. This will control how many people on the site will get the new feature. • Maybe start with “employees only” so his team can test in production. • Start at 1%, 5%, 10% and make sure things work, graphs are stable and work up to 100%. • if problem, can ramp-down or turn off. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 41. Take 8: Eliminate • Along the way you’ll get burned by little things, so, we’ll • A development environment that mimics prod as close as possible (won’t be exact) • Fast and stable unit and functional tests that are easy to run. If they are slow and flakey, no one will use them • Eliminate stupid bugs with commit or pre-commit static analysis. • Move QA/Security/Release checks as close as possible to the developer. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 42. Take 9: Communicate • As more people get use to it, you’ll need a way of co-ordinating releases among people. • IRC works well • Need set of conventions that match your risk levels. • At least developers are talking about releases! Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 43. Take 10: Learn • No doubt along the way, serious mistakes will be made. Complex system failures will happen. • Learn from them. Do Post-Mortems. Do Root-Cause Analysis. • Recount what happened. • 99.99999999% of problems are caused by mistakes ... not maliciousness • How can the environment be changed so it doesn’t happen again? • Publish the results. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 44. Butt What About... Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 45. What About That Guy Who Pushes at 3AM • That Guy who pushes at 3AM, and something goes wrong and wakes up all of operations with pagers going off will quickly learn this was a bad idea. • It’s about courtesy and respect. • Of course there are off-hours exception, in which That Guy should pre-inform everyone. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 46. What about... code reviews? • Yup, do them • Nothing here precludes code reviews. • In fact, it’s frequently easier to do since the reviewer doesn’t have to dork around with branches or tags.... they have all the dark code already on Trunk/Head • .. and the reviews are smaller and faster Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 47. What about... security reviews? • Yup do ‘em. • Nothing here eliminates your existing review cycle. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 48. What about... Agile Methods? • (everyone does “agile differently” so hard to qualify this). • Agile methods frequently work to improve the spec-writing / development cycle • Or the spec / dev / qa cycle • But code still pools up waiting to go to production. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 49. What about Customer Service? Do they freak out with all the changes? • Remember, most changes either do nothing, or are trivial or are minor. • Feature launches always need to be co- ordinated with customer service (from audience question) Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 50. So why did I tell you all this? Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 51. That Engineer who previously didn’t push code is now sensitized that their code has consequences and are responsive to fix it. It’s amazing how interested engineers become in security when you find problems with their code when they are able to fix quickly themselves. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 52. Security Fixes can go out quickly. In addition, you know fixes can go out since they happen every day. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 53. You can repurpose the QA stack, graphing and log analysis for attack detection and vulnerability prevention. Need ideas? Check out these other presentations on fraud and security by Etsy: http://slidesha.re/IMaavq http://slidesha.re/JGaU2s http://slidesha.re/KPvHYu http://slidesha.re/Kw5zdV Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 54. While there is always whack-a-mole, you can focus on being a service organization and work on engineering to be secure by default. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 55. New Roles, Less Silos • Developers: works with operations • QA: works on making systems to empower people to write tests, static analysis, in-house consultancy on good test design • Release: tools to push code to production, system images. • Security: in house consultancy, security engineering, secure by default, detection Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 56. So Continuous Deployment is Only for Websites? Wine Robot at DFW American Airlines lounge Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 57. Google Chrome • Really made updates painless for the consumer. • Frequent changes “regularly” -- maybe not continuous but way faster than normal software product • Multiple channels of releases. • Config flags can turn on or off experimental features. • Works so well, many others are copying this approach. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 58. Apps • Due to cost of deployment being high (e.g. due to approval from Apple) • And due to diversity of destination (how many different types of hardware will it run on), hard to predict how well it work. • Put as much as you can into the release • Then read configs from internet to light up or turn off features Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 59. Chip Design • After this talk, I met an engineer who does hardware design. • All changes are tiny and then tested, then committed. • Any change too big is rejected. • Learned the hard way that big changes are impossible to understand and test. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 60. So What Now? Ice Skating at Rockefeller Center in Nick Galbreath OWASP USA 2012-10-25 October. @ngalbreath
  • 61. Security is in a Good Position to Force Change • Security bridges multiple disciplines: ops, dev, qa, release, business. • Unique position to make change. • When breach happens (in whatever the layer), we need to patch fast. • I hope that is not controversial. Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 62. Start with Nick Galbreath the Deploy Button OWASP USA 2012-10-25 @ngalbreath
  • 63. It will change your SDLC Nick Galbreath NYC Public Library OWASP USA 2012-10-25 @ngalbreath
  • 64. Continuous Deployment Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 65. Thanks! Nick Galbreath OWASP USA 2012-10-25 @ngalbreath
  • 66. Nick Galbreath @ngalbreath nickg@client9.com http://client9.com/20121025 Nick Galbreath OWASP USA 2012-10-25 @ngalbreath

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n