31
Developing Construction Workers for Securely Built Software James R Lindley CISSP, ISSAP, ISSEP, ISSMP, CISA, PMP, SSE-CMM Team Chief, IRS Penetration Testing and Code Analysis Tuesday, March 18, 2014,11:05 -11:40

Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Developing Construction Workers for

Securely Built Software

James R Lindley CISSP, ISSAP, ISSEP, ISSMP, CISA, PMP, SSE-CMM

Team Chief, IRS Penetration Testing and Code Analysis

Tuesday, March 18, 2014,11:05 -11:40

Page 2: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Three Types of Security Personnel 1. Those who advise on security 2. Those who audit security 3. Those who create security Types 1 and 2 are usually in cybersecurity. Type 3 is in application development and operations. • Most academic education and training efforts involving whole

curricula are focused on types 1 and 2. • Academic security education and training is usually grafted

into non-security curricula for type 3 via non-integrated classes.

We’re going to look at a suggested better way to train type 3.

3/27/2014 2014 FISSEA Conference 2

Page 3: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

What is IRS PTCA

• Largest group of federal civilian code analysts and penetration testers outside DHS

• Conducts automated static source code analyses of source code placed on IRS systems

• Coordinates with penetration testers for dynamic White Box code penetration testing

• Penetration tests of all major IRS applications and other code sets as directed

3/27/2014 3 2014 FISSEA Conference

Page 4: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

An Emergent Quality

• If software security is an emergent quality, from what does that quality emerge?

• Security quality will not emerge unless software project managers recognize and demand the skills and tools relevant to that quality.

3/27/2014 2014 FISSEA Conference 4

Page 5: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Metaphors Affect Understanding

• Software development as a construction project

• Architectural perspective vs. blueprints

• Discipline specialization

3/27/2014 2014 FISSEA Conference 5

Page 6: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Methods

• Grouping Stakeholders • Separating Requirements from Specifications • Data Design Documentation • Functional Design by Atomic Function • Supporting the Project Manager

– Earned Value Management – Quality Assurance

3/27/2014 2014 FISSEA Conference 6

Page 7: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Models - Sequential vs. Iterative

(Looped) Sequential Boehm and Agile

3/27/2014 2014 FISSEA Conference 7

Feasibility

Analysis (Requirements)

Design

Construction & Testing

Installation

Operations & Maintenance

Page 8: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Agile manifesto

• We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and

tools – Working software over comprehensive

documentation – Customer collaboration over contract negotiation – Responding to change over following a plan

• That is, while there is value in the items on the right, we value the items on the left more.

3/27/2014 2014 FISSEA Conference 8

Page 9: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Comparison of Models

Suitability of different development methods Agile home ground Plan-driven home ground Formal methods

Low criticality High criticality Extreme criticality

Senior developers Junior developers Senior developers

Requirements change often

Requirements do not change often

Limited requirements,

limited features see Wirth's law

Small number of developers Large number of developers Requirements that

can be modeled 3/27/2014 2014 FISSEA Conference 9

Page 10: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Where We Are

• Strict Straight Waterfall Model

• An Implementation Phase Desert

• Waivers and Deviations

• Little Training In Security Quality

3/27/2014 2014 FISSEA Conference 10

Page 11: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Fish And Ladders

• Have to work within the Straight Waterfall Enterprise Life Cycle model (policy)

• Collaborative phasing between the architectural phases (Requirements, Specification, and Design)

• Collaborative phasing is how the fish build and climb the waterfall ladder.

• A change in practice, not a change in policy.

3/27/2014 2014 FISSEA Conference 11

Page 12: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Lessons Learned

• Agency cyber security team performs source code security scan for project exit approval

• Lesson: pushback from software project managers – Action: application development executives brought on board – Action: software project managers offered source code scanning

tool for in-development software – Action: training on tool and security assessment for code writers

• Lesson: project managers and phase practitioners have weak software project management skills – Action: Develop course to teach secure software construction to

project managers – Action: Develop courses for each of the phase practitioners

3/27/2014 2014 FISSEA Conference 12

Page 13: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Project Manager Pushback

• Action: application development executives brought on board

• Action: software project managers offered source code scanning tool for in-development software

• Action: training on tool and security assessment for code writers

3/27/2014 2014 FISSEA Conference 13

Page 14: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Weak Software Project Skills

• Action: Develop course to teach secure software construction to project managers

• Action: Develop courses for each of the phase practitioners – Requirement Elicitors – Specification Writers – Designers (Data and Software) – Code Writers – Quality Assessment

3/27/2014 2014 FISSEA Conference 14

Page 15: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Approach to Training

• Craft unionism refers to organizing … workers in a particular industry along the lines of the particular craft or trade that they work in by class or skill level. It contrasts with industrial unionism, in which all workers in the same industry are organized into the same union, regardless of differences in skill.

3/27/2014 2014 FISSEA Conference 15

Page 16: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

A Human Capital Crisis in Cybersecurity Technical Proficiency Matters

• There are continuing efforts by federal agencies to define an information technology (IT) security work force improvement program based on role definitions

• I contend: There is a lack of adequate detail in defining specialized IT security roles, especially as understood by managers without a security background or training.

• Center for Strategic and International Studies (CSIS) Report

3/27/2014 2014 FISSEA Conference 16

Page 17: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Points To Ponder

• Simple evolves into Complex • Complexity generates specialization • Applications become APPLICATIONS • Everybody wants to design, nobody wants to build • Academia produces architects and engineers

• BUT…there is no degree in plumbing!

3/27/2014 2014 FISSEA Conference 17

Page 18: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

I am a dry pipe plumbing inspector

• Static source code analysis (dry pipe) • Penetration testing (wet pipe) • Design assessment (Architecture and Civil

Engineering) • Every stage of “plumbing” has a specialized creator

and a specialized inspector – Requirements – Specification – Design – Code writing – Install and configure – Operations – Decommission

3/27/2014 2014 FISSEA Conference 18

Page 19: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

If You Build It Correctly, Security Will Come

• If software security is an emergent quality, from what does software security emerge?

***The quality of all surrounding

processes***

• A failure in any phase means a failed project.

3/27/2014 2014 FISSEA Conference 19

Page 20: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

A Team of Craftsman

3/27/2014 2014 FISSEA Conference 20

Page 21: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Software is a Synergistic Effort

3/27/2014 2014 FISSEA Conference 21

Page 22: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

FORGET DEVELOPER!!!!! Think Code-Writer

• Requirements Elicitor (Security policy) • Specification Writer (Security Engineer) • Application and Data Designers (Security Architects) • Code Writers (Code Analysts, Pen Testers) • Installation and Configuration (Pen Testers) • Quality Assurance Testers (functional and non-

functional) • Operations and Operational Security (Security Monitors) • Decommission (Data and application destruction

specialists)

The Blue Collar Office Worker

3/27/2014 2014 FISSEA Conference 22

Page 23: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Requirements Elicitors • Focused on problem space • Group Stakeholders

– Regulatory – Environmental – Customer – Users – Project Team

• Elicitation skills – Strategic Debrief – Interrogation – Document Research and Analysis

• Reading and writing Skills • Gregarious personality

3/27/2014 2014 FISSEA Conference 23

Page 24: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Specification Writer • Focused on solution space • Mathematically resolvable

solution descriptions for problem requirements

• Active writing skills • Formal methods • Detail-oriented perfectionist

3/27/2014 2014 FISSEA Conference 24

Page 25: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Designers

• Data designers – Schema – Data Item Dictionary – Detail-oriented

• Code Designers – UML skills – Function Point Design = Earned Value

Management – Vision of the whole

3/27/2014 2014 FISSEA Conference 25

Page 26: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Code Writers

• Adopt a standard of secure coding practices

• Teach the coding standard • Teach code evaluation tools and skills • Demand the standard by evaluating

employees using the standard • Detail-focused

3/27/2014 2014 FISSEA Conference 26

Page 27: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Secure Coding Quality Assessment

• Study and learn from the Building Security In Maturity Model (BSIMM)

• Train and use a security evaluation team as a part of the application development (AD) team and processes.

• Specifications = development of test scripts and scenarios

• Teach the evaluation tools and standards • Collaboration between the AD team and the

agency cyber-security penetration testing and code analysis team

3/27/2014 2014 FISSEA Conference 27

Page 28: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

How? • Identify currently available skill sets in

application development and cybersecurity personnel.

• Establish mentoring programs using what you already have available

• Find or develop SPECIALIZED training (look to community colleges and in-house programs)

• Require contractual trainers to craft training IAW the organization policies

• GRANULATE your role definitions

3/27/2014 2014 FISSEA Conference 28

Page 29: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

A Suggested Activity Timeline

• Start and train a software security quality team • Establish a software security gate in EACH project

process phases • Offer tools and training to code writing teams • Train project managers in software process quality

with a focus on securely constructed software • Train architectural and quality assessment

practitioners in designing and testing for secure software construction

• Use documented standards for secure software

3/27/2014 2014 FISSEA Conference 29

Page 30: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Document or Secure?

• You must do both, but don’t mistake one for the other

• Government example is FISMA, a mandate to document the security that we are not mandated to produce.

3/27/2014 2014 FISSEA Conference 30

Page 31: Developing Construction Workers for Securely Built Software...Lessons Learned • Agency cyber security team performs source code security scan for project exit approval • Lesson:

Discussion

3/27/2014 2014 FISSEA Conference 31