Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming...

42
How to Manage Risk of Your Polyglot Environments

Transcript of Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming...

Page 1: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

How to Manage Risk of Your Polyglot Environments

Page 2: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Presenters

● Jeff Rouse, VP Product, ActiveState

● Pete Garcin, Senior Product Manager, ActiveState

● Larry Maccherone, Head of DevSecOps Transformation, Comcast

Manage Risk: Polyglot Environments

Page 3: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

VP ProductJeff Rouse, ActiveState

Page 4: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Platform PresentationManage Risk:

Polyglot Environments

Jeff RouseVP ProductActiveState

Page 5: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Track-record: 97% of Fortune 1000, 20+ years open source

Polyglot: 5 languages - Python, Perl, Tcl, Go, Ruby

Runtime Focus: concept to development to production

Manage Risk: Polyglot Environments

Page 6: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

What is Polyglot?

Manage Risk: Polyglot Environments

SQL

Page 7: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

How Do Polyglot Environments Evolve?

● Technology. Best tool for the job, modern software projects.

● People. technology stacks added through acquisition, changes in tech leadership

● Time. technologies come in & out of favour; old languages never die.

Manage Risk: Polyglot Environments

Page 8: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Every Organization is Polyglot

● Any desktop application with an online component.

● YAML configuration used with any project.

● An application with embedding scripting.

Manage Risk: Polyglot Environments

Page 9: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Source: ActiveState Developer Survey 2018, Open Source Runtime Pains

Adding a Language

Page 10: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Source: ActiveState Developer Survey 2018, Open Source Runtime Pains

Rank the Challenges

Page 11: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Source: ActiveState Developer Survey 2018, Open Source Runtime Pains

Stability & Security → Painful

Page 12: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Hidden Costs

75%Managing

dependencies

Manage Risk: Polyglot Environments

Source: ActiveState Developer Survey 2018, Open Source Runtime Pains

Page 13: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Benefits

Manage Risk: Polyglot Environments

● Speed. Ship faster: better products, better innovation.

● Recruitment. Be attractive workplace: enable coders to choose the tools they need.

Page 14: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Drawbacks

● Variability. Tooling support & programming language quality.

● Expertise Gap. Deep core competency at odds with breadth of programming languages.

● Dependencies. Larger pool of dependencies.

● Support Costs. Unable to centralize, maintenance.

Manage Risk: Polyglot Environments

Page 15: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Title color by themeMost important tex. tipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis

nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute

irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit

anim id est laborum.

Presentation Title

Magnified IssuesHow will you monitor, identify and resolve?

Production bugs, Common Vulnerabilities & Exposures (CVE),

threats; additional risk exposure with 3rd party dependencies.

Equifax Breach: out of date 3rd party dependency

Manage Risk: Polyglot Environments

Page 16: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Reduce Services

Reduce Tools

Reduce Libs

Reduce Attack Surface

Robust Processes, Automated and Centralized for Visibility

Resolutions

Presentation Title

Page 17: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Senior Product ManagerPete Garcin, ActiveState

Page 18: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Pete GarcinSenior Product ManagerActiveState

Platform PresentationManage Risk:

Polyglot Environments

Page 19: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Automated Processes

Manage Risk: Polyglot Environments

Page 20: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Page 21: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Automating Environments

Manage Risk: Polyglot Environments

● Automate.

● Bundle.

● Simplify Shares. Encourage adoption of common environments.

Page 22: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Page 23: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Page 24: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Environment Configuration

Dependency Management

Workflow Configuration

Solving Core Problems

Page 25: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Best Practices - Build Eng & Development

Manage Risk: Polyglot Environments

Build Standard Reproduce & ManageShrink Build

Page 26: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Manage Risk: Polyglot Environments

Monitor Runtime Get Updates

Best Practices - Development to Production

Page 27: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Benefits to You

TimeDev Zen

Manage Risk: Polyglot Environments

Same Same

Page 28: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Privileged and Confidential

DELETE

| 28E7: SDL Self Assessment

Security at the Speed of

Software Development Presented by:Larry Maccherone

The approach for Comcast’s

Secure Development Lifecycle (SDL)initiative

A lean/agile transformation approachto achieving a DevSecOps culture

Page 29: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Privileged and Confidential

DELETE

| 29E7: SDL Self Assessment

Larry [email protected]

Larry MaccheroneLinkedIn.com/in/LarryMaccherone

Page 30: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Security practices on DevOps continuum ➔ DevSecOps

• Static/IAST analysis• Abuse case tests• Code review

• Break the build code analysis

• Threat modeling → backlog items• Analyze/Predict → backlog items• Design complies with policy?

• Test security features• Common abuse cases

• Pen testing (Vuls found → Test scripts)• Compliance validation (PCI, etc.)• Fuzzing

• If we do X will it mitigate Y? • Capacity forecasting• Learning → Update playbooks

and Training

• Configuration validation• Feature toggles/Traffic

shaping configuration• Secrets management

• Log information for after-incident analysis

• Intrusion detection• App attack detection

• Restore/maintain service for non-attack usage

• RASP auto respond• Roll-back or toggle off• Block attacker• Shut down services

• Analysis → Learning• Defect/Incident 3-step• New attack surface?

Plan to update threat model

Page 31: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

That’s a lot of stuff!

How do we getdevelopment teams to adopt?

Page 32: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

32

EXAMPLE

Page 33: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Visualizing an Org’s practices

EXAMPLE

Page 34: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

LinkedIn.com/in/LarryMaccherone

Dev[Sec]Ops is…empowered engineering teams taking ownershipof how their productperforms in production[including security]

Page 35: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Build security in more than bolt it on

Rely on empowered engineering teams more than security specialists

Implement features securely more than security features

Rely on continuous learningmore than end-of-phase gates

Build on culture change more than policy enforcement

Dev

SecO

ps

Man

ifes

to

Page 36: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

We, the Security Team…Recognize that Engineering Teams…• Want to do the right thing

• Are closer to the business context and will make trade-off decisions between security and other risks

• Want information and advice so those trade-off decisions are more informed

Pledge to…• Lower the cost/effort side

of any investment in developer security tools or practices

• Assist 2x as much with preventative initiatives as we beg for your assistance reacting to security incidentsUnderstand that…

• We are no longer gate keepers but rather tool-smiths and advisors

Page 37: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

DevSecOps Tool Landscape

Static Analysis (aka SAST)• Looks at source code• Data/control flow analysis• Prone to false positives• Rapid feedback for developers• Code fix suggestions

Dynamic• Exercises app via UI/API• Senses vulnerability by response to input• Zero? false positives. Report is an exploit• High false negatives• Difficult to implement especially w/ auth• Sometimes hard to find code to remediate

Runtime Application Security Protection (RASP)• Often uses same engine

as IAST• Reports on “bad”

behavior• Can abort transaction or

kill process to protect

Fuzzing (black box)• Instruments system (to varying degrees)• Sends unexpected input at API• Looks at response and instrumentation output• Great for testing protocols like SIP• Good for REST APIs• Potentially long run times• Hard to find code to remediate

Primary Code Analysis

(PCA)

for code you write (1st

party)

Software Composition Analysis (SCA)for code you import (3rd party)• Identifies dependency and version• Checks CVE/NVD + … for reported

vulnerabilities• Proposes version/patch to remediate• Checks license vs policy• Runs fast• Easy to implement• Best bang for buck!

IAST• Runtime code analysis• Combine dynamic/static• Low false positives• Depends on test coverage• Immature but getting there

Page 38: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming
Page 39: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

LinkedIn.com/in/LarryMaccherone

What’snext?

• Questions?

• Pilot this DevSecOps transformation framework with a few of your teams

• Connect with me on:LinkedIn.com/in/LarryMaccherone

Page 40: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Q & A

Page 41: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

What’s Next

● Watch a demo: https://www.youtube.com/watch?v=c5AIxN9ehrI

● Get a demo [email protected]

● Contact us for the language build you need: [email protected]

Page 42: Your Polyglot Environments How to Manage Risk of · Variability. Tooling support & programming language quality. Expertise Gap. Deep core competency at odds with breadth of programming

Tel: 1.866.631.4581

Website: www.activestate.com

Twitter: @activestate

Facebook: /activestatesoftware

Where to find us

Manage Risk: Polyglot Environments