30
Security - 1 Classification, Facets, and Conceptual Space in Security Analysis and the Use of Patterns Dr. Michael Van Hilst Farquhar College of Arts and Sciences Nova Southeastern University

Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Security - 1

Classification, Facets, and Conceptual Space in Security Analysis and the Use of Patterns

Dr. Michael Van HilstFarquhar College of Arts and Sciences

Nova Southeastern University

Page 2: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Security Challenges

• Gaps in knowledge• Gaps in coverage• Risks that are complicated and subtle• Broad range of issues• Different kinds of expert knowledge

• One exploit is one too manyVan Hilst Security - 2

Page 3: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Goal of Work at NSU & FAU

1. Easier ways to apply solutions– disseminate knowledge and expertise

2. Better ways to see the big picture– comprehensive coverage (no gaps)

3. Simpler solutions with better protection– system level approach

• Not  unlike  OWASP’s  lists  &  tools

Van Hilst Security - 3

Page 4: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Two security topics for today

1. Patterns2. Classification & Coverage

Work withEduardo Fernandez (FAU)Saeed Rajput (Nova)

Van Hilst Security - 4

Page 5: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

1. Patterns

• Patterns capture the experience of experts about good or best practices and document these nuggets of wisdom in a format that is easy to understand.

• The use of patterns raises the level of awareness and discourse in a discipline.

Van Hilst Security - 5

Page 6: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

A Brief History of Patterns

– 1977 Christopher Alexander – A Pattern Languagetimeless wisdom in architecture & town design

– 1978 Trygve Reenskaug – Model View Controller

– 1987 Cunningham & Beck – OOPSLA paper

– 1994 Gamma, Helm, Johnson, Vlissides - GoF– 1997 Yoder & Barclaw – security patterns– 2006 Eduardo B. Fernandez – book(s)estimated 400 security related patterns exist today

Van Hilst Security - 6

Page 7: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

A pattern is self-contained

• Synopsis• Context where applies• Example problem• Problem• Forces• Solution

• Solution structure• Solution dynamics• Example solution• Variations• Known uses• Consequences

Van Hilst Security - 7

Page 8: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Different kinds of patterns

Less traditional patterns• Attacks• Domains

– EHR, banking• Standards

– HIPPA, SSL, WiMax• Forensics

– VOIP

Traditional patterns• Design• Architecture• Analysis• Organizational• Management• Anti-patterns

Van Hilst Security - 8

Page 9: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Signed configuration mgmt.

A developer with bad intent could install trap doors or malicious code in the system.

Ensure only validated code is used and create accountability by signing artifacts.

Consequences: code cannot be changed after check and must be signed by the developer.

Known  Uses:  GIT,  Bit  Keeper,  …Van Hilst Security - 9

Page 10: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

WiMax key mgmt structure

Van Hilst Security - 10

SecurityAssociation

AuthorizationSADataSA

EncryptionAlgSAID TEK SAType

InitVector KeyID Lifetime

AKCredential KEK HMAC

KeyID Lifetime DHMAC UHMAC

1

1 1

1 1 1 1

11

*

2

authorizedFor

11

1

1 1 1

Page 11: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

WiMax authenticate dynamic

Van Hilst Security - 11

EAP  Request  (type,  …)

(optional) Nak

(optional) Request  (type,  …)

EAP  Response  (type,  …)Response Forward

Accept / Reject

(optional) EAP Start

EAP Complete

(Success, payload) / Failure

Subscriber Station (peer)

Base Station(authenticator)

AuthenticationServer

Page 12: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Patterns make a difference

• Patterns deliver targeted knowledge– Assume minimal prior knowledge– Useable in arbitrary groups and ordering– Searchable, downloadable, write your own

• Patterns raise the level of discourse– Each pattern represents a higher level solution– Each pattern becomes a term in the vocabulary

Van Hilst Security - 12

Page 13: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Classification of patterns?

• With 400+ security patterns, how do we know which ones to look at?

• With patterns, or checklists, how do we know  what  isn’t  covered?

• Classification is needed both for search and for coverage analysis

• OWASP has same problem for its lists

Van Hilst Security - 13

Page 14: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Hierarchy

• The first classifications of patterns used hierarchy (i.e. Yoder and others)

• Good for pattern writers (is it new?)• Same model as used in biology• Allows only one label• Not so good for pattern users

Van Hilst Security - 14

Page 15: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Facets

• The software reuse community uses facets or tags (i.e. Prieto Diaz)

• Gmail and tweets (hashtags)• Good for grouping and search• Arbitrary number of labels• Without relationships among labels, they are  just  points  (doesn’t  solve  coverage)

Van Hilst Security - 15

Page 16: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Ontology / Concept Map

• Network (map) of relationships• Good for meaning (i.e. semantic Web)• Does not address coverage (what’s  missing)

Van Hilst Security - 16

Page 17: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

George  Kelly’s  Concept  Grid

Psychological space divided on bi-polar axesis  based  on  psychologist  George  Kelly’s

Personal Construct Theory (1955). • Conceptual categories fit along an axis• Categories can be disjoint and/or overlap

• Note about conversation with Paul Black, NIST

Van Hilst Security - 17

ContinuumCOLD HOT

In Between

Page 18: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Regions on continua

• Assume a single problem space• Slice along separate dimensions• Each dimension is a bi-polar continuum• Mapping on a continuum reveals the gapsThe challenge is to choose the poles

Van Hilst Security - 18

coveragegap

Page 19: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Attack stage responses• Avoidance• Deterrence• Prevention• Detection• Mitigation• Recovery• Forensics

Intent

Aftermath

Stag

e of

Atta

ck

Van Hilst Security - 19

Page 20: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Stages in lifecycle• Domain Analysis• Requirements• Architectural Analysis• Design• Implementation• Verification/Testing• Integration• Deployment/Configuration• Operation• Maintenance• Disposal

Investigation

Disposal

Stag

e of

lifec

ycle

Van Hilst Security - 20

Page 21: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Stages in lifecycle (IS)• Domain Analysis• Requirements• Systems Analysis• Acquisition• Installation• Verification/Testing• Integration• Deployment/Configuration• Operation• Maintenance• Disposal

Investigation

Disposal

Stag

e of

lifec

ycle

Van Hilst Security - 21

Page 22: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Code source (apropos control)• New code• Open-source• Runtime script• Model transformation• Wizard forms• Reuse Library• Outsourced• Legacy• Off-the-shelf• Remote web service

Internal control

External control

Con

trol O

ver S

oftw

are

Sour

ce C

ode

Van Hilst Security - 22

Page 23: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Level of constraint

• Technical• Human• Organizational• Regulatory

Device

Society

Leve

l of

Con

stra

int

Van Hilst Security - 23

Page 24: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Leveson’s levels of constraint

• Technical• Human• Organizational• Regulatory

Van Hilst Security - 24http://www.nytimes.com/2014/03/14/nyregion/safety-is-lacking-at-metro-north-us-review-finds-after-a-fatal-crash.html

Page 25: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Other matrix/grid properties

• Supports topic navigation and learning– Meaningful adjacency and generality relations

• New axes can be added any time– Their use is complementary, not intermingled– Axes can also be removed/hidden

• Can have no distinctions on some axes• Bi-polar  concepts  don’t  fit  all  issues  …

Van Hilst Security - 25

Page 26: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Some dimensions not bipolar

• Solution type– Encryption, access control, hash digest, …  ?

• Problem type– Authentication, authorization, availability,

integrity, non-repudiation, …  ?• Problem domain

– Cellphone, smart grid, e-commerce,  …  ?

Van Hilst Security - 26

Page 27: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

What  do/don’t  these  cover?

• Common Criteria• National Training Standard for Information Systems

Security Professionals (INFOSEC)• Sarbanes-Oxley• Systems Security Engineering Capability Maturity Model• Viega and McGraw’s  10  principles• OWASP 15 principles, 10 coding principles• OWASP 20 weaknesses or vulnerabilities• OWASP 12 countermeasures

Van Hilst Security - 27

Page 28: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Conclusion

1. Patterns are good for teaching – for students– for practitioners– for experts

2. Coverage classification gives perspective– for big picture– for consequences of details

Van Hilst Security - 28

Page 29: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

Misuse case

• For each action– Who could do

harm?– What could go

wrong?

Van Hilst Security - 29

ProvidePersonal

Info

CheckCredit

CreateAccount

InitialDeposit

CreateAuthorization

IssueCard

DisseminateInfo

Illegally

IssueSpurious

Card

TransferMoney

Account1:

:Customer

Account2:

Account3:

Card1: Card2:

CreateSpuriousAccount

Imposter Imposter

Falseinfo

Customer ManagerExternalAttacker

Page 30: Patterns for Security - OWASP · 2020-01-17 · Patterns make a difference •Patterns deliver targeted knowledge –Assume minimal prior knowledge –Useable in arbitrary groups

ProvidePersonal

Info

CheckCredit

CreateAccount

InitialDeposit

CreateAuthorization

IssueCard

DisseminateInfo

Illegally

IssueSpurious

Card

TransferMoney

Account1:

:Customer

Account2:

Account3: Card1: Card2:

CreateSpuriousAccount

Imposter Imposter

Falseinfo

Customer ManagerExternalAttacker

Pre-conditionsmanager goodcustomer info goodcustomer aware

FXF

XTF

Pre-conditionsmanager goodsystem compromisecustomer aware

FXF

XTF

Pre-conditionsmanager goodsystem compromisecustomer aware

FXF

XTF

Pre-conditionsmanager goodsystem compromisecustomer aware

FXF

XTF

Misuse case

• For each action– Who could do

harm?– What could go

wrong?• Add checkable

conditions

Van Hilst Security - 30