32
Time Traveling: Adapting Techniques from the Future to Improve Reliability Jacob Kitchel January 14, 2014

Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Embed Size (px)

DESCRIPTION

Technology in ICS environments lags the Enterprise by 10-15yr. This often leads to ICS companies having to stand by while other more nimble institutions are able to take advantage of new technology. What few people realize, is that our industry gets to watch the future happen out on the Internet and then pick and choose the best techniques to adapt and bring back in time. In this session Mr. Kitchel will look at what is new in the IT world and forecast what should and will be applied to OT.

Citation preview

Page 1: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Time Traveling: Adapting Techniques from the Future to Improve ReliabilityJacob KitchelJanuary 14, 2014

Page 2: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title2

Bio

Present:

Security Architect at Exelon

Past:

Security & Compliance at Industrial Defender

ICS Risk Assessment (PT, VA, etc.)

Application Security research (Project Basecamp)

Enterprise Security Operations & Monitoring

Speaker (S4, EnergySec, ISA, API IT Security)

Hilarious LinkedIn Endorsements

Page 3: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title3

Abstract

Technology in ICS environments lags the Enterprise by 10-15yr. This often leads to ICS companies having to stand by while other more nimble institutions are able to take advantage of new technology. What few people realize, is that our industry gets to watch the future happen out on the Internet and then pick and choose the best techniques to adapt and bring back in time.

Page 4: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title4

How far have we come?

We have:• Compliance

• Incidents?

• Specialization

• Conferences

• Big Headlines?

• A LOT of vulnerabilities

Page 5: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title5

Where has it gotten us?

Here we are:

• Multiple revisions of compliance requirements

• Basic improvements in security monitoring

• SOME patching happens

Page 6: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title6

What is working against us?

Mountains or mole hills?• Refresh cycles

• “If it isn’t broken, don’t fix it”

• Skill set(s)

• Unknown unknowns

• Security v. Operations

• Budgets & time

Page 7: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title7

Progress is sloooooowwwww….

Page 8: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title8

What to do?

• Where do operations goals and security goals intersect?

• What is the lowest common denominator?

• What can have an impact?

It’s all about the customer…If you aren’t solving customer pain, then you aren’t doing anything

Page 9: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title9

It’s about the customer

Operations

• Safety

• Reliability

• Uptime

Security

• Security

• Compliance

• Vulnerabilities

Where do these two areas intersect?

Customer

Page 10: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title10

Where do Security and Operations Intersect?

• Patching

• Change Management

• Configuration Management

In other words…• Time-intensive

• Error-prone

• High-risk activities

Page 11: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title11

Solving “Customer” problems lets you solve security

How can we do that?

Page 12: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title12

Take a step back…to the future!

Page 13: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title13

How?

Is there anyone that “looks” like us?Has anyone solved this problem before?

How can we:

• Reduce time commitments required

• Reduce errors

• Reduce risk

Page 14: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title14

Know any of these names?

Page 15: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title15

Internet-scale companies

• Millions of customers, world-wide

• High-availability, (near) zero downtime

• Complacency is death

• Some of the brightest minds >40

• Solving scale and complexity problems that we can barely imagine

• Leveraging software and hardware to dynamically define environments

• Have to be reliable and fast

Page 16: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title16

How are they doing this?

They are doing it CONTINUALLY.

Continuous Delivery:

Changes to your environment are

proven to be deployable with predictable results

Page 17: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title17

But you say, “There’s a catch!”

Continuous Delivery was popularized by Internet companies!

Internet companies deliver software and/or services as their products!

They’re not like us! We have a physical process!

Etc, etc, etc…

Guess What?Continuous Delivery is a collection of tools and processes – tools and processes that you use to focus your ability to deliver your physical process

Hint: You’re not getting off that easy! ;)

Page 18: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title18

What does this mean to us?

• Major reduction in time and effort to push changes

What would a major time/effort reduction mean to your operations?• 500hr task takes 5 hours or 5 minutes?

• 40hr task takes 4hr or 4 minutes?

• How many times do all of your tasks gets repeated annually?

• What if you could save half of that time and effort?

Page 19: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title19

How do we get there?

Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation Automation

Page 20: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title20

Continuous Delivery in Practice

How do you move a mountain?

Page 21: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title21

First steps first

• Follow your build/development process & write it all down• What takes the most time?

• What tasks are the most error-prone?

• What tasks require the most human intervention?– Automate these tasks FIRST!

• What tasks cause headaches or are time sinks?– Automate these next!

Page 22: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title22

Facilitate Adoption

• Put everything into version control

• Add tests to verify that changes work

• Manage servers with configuration management tools

• Monitor EVERYTHING

Page 23: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title23

Tools

• Software-defined infrastructure

• Monitoring

• Continuous Integration

• Version Control

• Code Review

• Configuration Management

• Orchestration

• Dashboards

End Goal• Quality

• Reliability

• Speed

Page 24: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title24

Tool Specific Information

Page 25: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title25

Software-defined Infrastructure

Tool example:

• Quali Systems TestShell

How to apply:

• Define common network architecture and system objects

• Create test topology

• Run tests and see what breaks, verify what works

Page 26: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title26

Version Control

Tool examples:

• Git

• SVN

• CVS

How to apply:

• Track versions of clear-text configuration files

• Firewall, switch, router configuration files

• Application configuration files

Page 27: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title27

Configuration Management

Tool examples:

• Puppet

• Chef

• Ansible

• Salt

• Microsoft SCCM

How to apply:

• Store all configurations in management tool

• As machines run, configuration management tool ensures declared configuration

Page 28: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title28

Orchestration

Tool examples:

• Puppet

• Chef

• Mcollective

• Ansible

• Capistrano

• WinRM

How to apply:

• Determine order of components

• Leverage tools to operate, deploy, and automatically configure systems in proper order

Page 29: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title29

Virtualization

Tool examples:

• Most common tool here is VMWare and is likely your vendor’s approved virtualization provider

How to apply:

• Mirror Dev, Test, and Production environments

• Bonus: backup/redundant assets

• Can begin to act as a “do over” button

Page 30: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title30

Metrics & Dashboards

Tool examples:

• Logstash

• Graphite

• Nagios

• Cactii

How to apply:

MONITOR EVERYTHING

Page 31: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title31

Continuous Delivery tool

Tool example:

• Thoughtworks Go

How to apply:

• Automate and streamline the build-test-release cycle

Page 32: Time Traveling: Adapting Techniques from the Future to Improve Reliability, Jacob Kitchel of Exelon

Presentation Title32

Automated Testing

Tool examples:

• Thoughtworks Twist

• BDD/TDD tools

How to apply:

• Write tests to verify functionality

• Run tests automatically every time new code, features, or configuration changes are made