threat modeling: best practices

27
Threat Modeling Best Prac3ces Helping Making Threat Modeling Work 1

Upload: source-conference

Post on 18-Dec-2014

3.211 views

Category:

Technology


3 download

DESCRIPTION

SOURCE Seattle 2011 - Robert Zigweid

TRANSCRIPT

Page 1: Threat Modeling: Best Practices

Threat  Modeling  Best  Prac3ces

Helping  Making  Threat  Modeling  Work

1

Page 2: Threat Modeling: Best Practices

About  Robert  Zigweid

• Principal  Compliance  Consultant  at  IOAc3ve

• CISSP,  PCI  QSA,  PCI  PA-­‐QSA

• Experienced  in  threat  modeling  and  SDL

2

Page 3: Threat Modeling: Best Practices

•What  does  Threat  Modeling  Mean  to  You?

3

Page 4: Threat Modeling: Best Practices

Taxonomy

•Make  sure  everyone  speaks  the  same  language.

•Not  just  the  same  words,  but  the  same  meanings.

4

Page 5: Threat Modeling: Best Practices

Taxonomy

STRIDEAll  about  the  type

–S  –  Spoofing  –T  –  Tampering–R  –  Repudia3on–I  –  Informa3on  Disclosure–D  –  Denial  of  Service–E  –  Eleva3on  of  Privilege

5

DREADAll  about  IMPACT

• D  –  Damage  Poten3al• R  –  Reproducibility• E  –  Exploitability• A  –  Affected  Users• D  –  Discoverability

Page 6: Threat Modeling: Best Practices

Taxonomy

The  CIA

C  –  Confiden3ality

I  –  Integrity

A  –  Accessibility

6

Page 7: Threat Modeling: Best Practices

Timing

•When  do  you  start  threat  modeling  a  project?•What  you  need  to  know  before  you  start•What  are  you  building?•What  needs  to  be  protected?  

• It’s  never  too  late!

7

Page 8: Threat Modeling: Best Practices

Timing

•How  o_en?•At  the  beginning  of  a  new  release  cycle  is  a  great  3me

• It’s  not  the  only  3me  •Try  QA•Throw  it  in  as  part  of  a  security  push

8

Page 9: Threat Modeling: Best Practices

Timing

•When  do  you  stop

•When  the  project  is  end-­‐of-­‐life

•When  you  don’t  care  anymore

9

Page 10: Threat Modeling: Best Practices

Contributors

•Who  came  up  with  that  idea?• Project  Owner• Architects•Developers• Testers• Everyone  else!

10

Page 11: Threat Modeling: Best Practices

Contributors

•How  to  Contribute• Ini3al  brainstorming•But  you  said  that’s  too  early!• So,  record  the  sessions

•Before  QA  tes3ng• Emails• Issue  tracker•Who  cares?

11

Page 12: Threat Modeling: Best Practices

Audience

•O_en  overlooked• The  Audience•Management•Architects•Developers•QA• Forensics/Tes3ng•Others?

12

Page 13: Threat Modeling: Best Practices

Threat  Modeling  and  your  SDL

• Threat  Modeling  can  be  the  vehicle  for  your  SDL•Keeps  it  updated• Security  Ques3onnaires  when  considering  features•Deliver  development  requirements  to  developers• Test  Plans•Test  against  iden3fied  threats

• Security  Reviews

13

Page 14: Threat Modeling: Best Practices

Templates

• Based  on  Func3on  Type

•Grow  the  template  library

14

Page 15: Threat Modeling: Best Practices

Perspec3ves!

• Ahacker!•How  are  they  going  to  get  me?•How  do  I  stop  it?

• Assets•What  do  I  care  about  most?•How  do  I  protect  it?

15

Page 16: Threat Modeling: Best Practices

Understand  Your  Target

• Project  

• Project  Delivery

16

Page 17: Threat Modeling: Best Practices

What  about  Agile?

• The  good!•Business  people  and  developers  must  work  together  daily  throughout  the  project.•At  regular  intervals,  the  team  reflects  on  how  to  become  more  effec3ve,  then  tunes  and  adjusts  its  behavior  accordingly.•Working  so_ware  is  the  primary  measure  of  progress.•Security  in  so_ware  is  an  essen3al  part  of  “working”

17

Page 18: Threat Modeling: Best Practices

What  about  Agile?

• The  ....bad•Welcome  changing  requirements,  even  late  in  development.  •Deliver  working  so_ware  frequently,  from  a  couple  of  weeks  to  a  couple  of  months,  with  a  preference  to  the  shorter  3mescale.• The  most  efficient  and  effec3ve  method  of  conveying  informa3on  to  and  within  a  development  team  is  face-­‐to-­‐face  conversa3on.

18

Page 19: Threat Modeling: Best Practices

Tools

•Microso_’s  Threat  Analysis  and  Modeling  (2.1.2)•Pros•Flexibility  • Doesn’t  require  data  flow  diagrams

•Has  a  built  in  threat  library  to  reference•Tracks  threat  modeling  data  well•Comes  with  an  ahack  library

19

Page 20: Threat Modeling: Best Practices

Tools

•Microso_’s  Threat  Analysis  and  Modeling  (2.1.2)  (con3nued)•Cons•No  longer  supported•Does  not  use  STRIDE/DREAD,  but  CIA•Data  flow  diagrams  require  Visio•Can  be  difficult  to  begin  working  with•Supplied  ahack  library  doesn’t  necessarily  fit,  and  can  slow  you  down.

20

Page 21: Threat Modeling: Best Practices

Tools

•Microso_  SDL  Threat  Modeling  Tool  (3.1)• Pros• Currently  supported  and  developed  by  Microso_  along  with  their  SDL

• Extensible• Can  write  plug-­‐ins  into  your  issue  tracking  system

• Cons• It’s  free!• Well  sorta

• Flexibility  • Requires  data  flow  diagrams

21

Page 22: Threat Modeling: Best Practices

Tools

• Trike•Pros•Methodology  is  driven  by  the  tool•Methodology  is  very  flexible•Automated  threat  genera3on•Cross-­‐plaporm

•Cons•Does  not  scale•Development  of  tool  and  methodology  are  somewhat  slow

22

Page 23: Threat Modeling: Best Practices

Tools

•Others•Prac3cal  Threat  Analysis•What  do  I  use?•Excel  -­‐-­‐  some3mes•Word

23

Page 24: Threat Modeling: Best Practices

Common  Pipalls

• It’s  not  a  one  person  job• Poor  presenta3on•Never,  ever  delete•Once  a  threat,  always  a  threat• It’s  history• Properly  iden3fy  assets

24

Page 25: Threat Modeling: Best Practices

Common  Pipalls

• Keep  your  threats  reasonable•Avoid  Doomsday

•Don’t  dig  too  deep• You  can  always  dive  later

• Snapshot•Keep  it  versioned

25

Page 26: Threat Modeling: Best Practices

Ques3ons!

26

Page 27: Threat Modeling: Best Practices

Thank  you

[email protected]

27