CSE 825 Computer and Network Security Dr. Enbody

7 downloads 36438 Views 899KB Size Report
Jan 7, 2014 ... "Only those who dare to fail greatly can ever achieve greatly.” — Robert F. Kennedy. • "I can accept failure. Everybody fails at something.
9/8/15

CSE 825 Computer and Network Security Dr.  Richard  Enbody   Computer  Science  &  Engineering   Michigan  State  University  

Dr. Enbody

Computer Science & Engineering

1

9/8/15

My  goal  is  to  warp  your  mind:     If  you  leave  this  class  with  a  different  way     of  looking  at  the  world  around  you,     I  will  have  succeeded.    

Computer  Science  &  Engineering  

3  

Risk •  "If  things  seem  under  control,  you  are  just  not  going  fast  enough.”                                                                                                                        —Mario  AndreK     •  "Living  at  risk  is  jumping  off  the  cliff  and  building  your  wings  on  the   way  down.”                                                                                                    —  Ray  Bradbury     •  "Only  those  who  dare  to  fail  greatly  can  ever  achieve  greatly.”                                                                                                                                                  —  Robert  F.  Kennedy     •  "I  can  accept  failure.  Everybody  fails  at  something.  But  I  can't  accept   not  trying.  Fear  is  an  illusion.”                              -­‐-­‐  Michael  Jordan   •  "You'll  always  miss  100%  of  the  shots  you  don't  take.”                                                                                                                                                              -­‐-­‐  Wayne  Gretzky   Computer  Science  &  Engineering  

4  

2

9/8/15

Computer  Security  is  too  broad  a  topic.   I  know  only  a  small  part.   This  course  is  not  a  “sage  on  the  stage,”     but  rather  a  collabora]on  among  all  of  us.  

Computer  Science  &  Engineering  

5  

Overview In  this  course  we  will  inves]gate  the  broad  topic  of   CyberSecurity  with  an  emphasis  on  studying   intrusions  &  intrusion  detec]on,  and  building  secure   so_ware  to  prevent  intrusions.    Since  new  intrusions   occur  regularly,  we  will  also  inves]gate  new   intrusions  as  they  occur.   Since  intrusions  are  o_en  based  on  small  cracks  in   computer  systems,  students  will  be  expected  to  have   sufficient  knowledge  of  computer  systems  to  be  able   to  understand  the  esoteric  details  of  intrusion   techniques.      

Computer  Science  &  Engineering  

6  

3

9/8/15

Project One  of  the  goals  of  this  class  will  be  to  gain   some  hands-­‐on  experience  with  how  adacks   are  done—something    I  consider  necessary   for  understanding  how  to  defend  against   them.  To  accomplish  this  experience  students   will  work  in  teams  of  four  on  a  par]cular   adack,  and  this  will  be  a  major  project  as  a   major  component  of  the  grade.    

Computer  Science  &  Engineering  

7  

Project continued The  most  important  and  hardest  part  of  the   project  is  crea]ng  an  assignment  for  the  rest   of  the  class:  everyone  must  do  every  exploit.  

Computer  Science  &  Engineering  

8  

4

9/8/15

Past Topics – this year?? •  •  •  •  •  •  • 

Man  in  the  Middle   Buffer  Overflow   SQL  Injec]on   XSS   Protocol  exploita]on:  FTP,  RDP,  SSH   Fuzzing   Propose  one  of  your  own.  

Computer  Science  &  Engineering  

9  

All  input  is  evil  un]l  proven  otherwise.                                                                        -­‐-­‐  Howard  &  LeBlac  

Computer  Science  &  Engineering  

10  

5

9/8/15

Prerequisites •  CSE  410  (Opera]ng  Systems)  and     CSE  422  (Networks)     or  equivalents   •  If  you  have  not  taken  the  prerequisites,     it  will  be  difficult  to  do  well  in  the  class.  

Computer  Science  &  Engineering  

11  

Text Free  online   Security  Engineering  2nd  Edi]on  by  Anderson   hdp://www.cl.cam.ac.uk/~rja14/book.html  

Computer  Science  &  Engineering  

12  

6

9/8/15

Contact •  Instructor:  Dr.  Richard  J.  Enbody     •  Instructor's  Office:  EB  3145     •  Office  Hours:  A_er  class                                                    and  by  appointment     •  Email:  [email protected]     •  Phone:  (517)  353-­‐3389      

Computer  Science  &  Engineering  

13  

Grading    5%    Classroom  Par]cipa]on   50%    Team  Project  (presenta]on  +  writeup  +  assignment)   20%    Homework     25%    Exam  

Computer  Science  &  Engineering  

14  

7

9/8/15

Grading Course  grade:  93%  and  above  is  a  4.0;                                                85%  -­‐  92%  is  a  3.5;                                                80%  -­‐  84%  is  a  3.0;                                                75%  -­‐  79%  is  a  2.5,  etc.  

Computer  Science  &  Engineering  

15  

Outline 1.  Cover  general  security  principles  (Exam)   2.  Student  Demonstra]ons   3.  Homework  

Computer  Science  &  Engineering  

16  

8

9/8/15

Teams •  4-­‐person  teams  for  project   •  You  choose  your  team   •  Send  me  email  by  January  18   lis]ng  the  team  members     and  an  ordered  list  of  preferred  projects  

Computer  Science  &  Engineering  

17  

Homework Exercises on team projects, i.e. everyone does each technique.

Computer  Science  &  Engineering  

18  

9

9/8/15

Plagiarism •  Plagiarism  is  unacceptable  and     will  result  in  a  zero  grade  for  the  course.   •  While  the  defini]on  of  plagiarism     is  broader  than  this:   if  you  use  “copy-­‐and-­‐paste”  without   referencing,  that  certainly  is  plagiarism.   •  Note  that  if  you  can  find  it,  so  can  I.  

Computer  Science  &  Engineering  

19  

Two Fewer Mondays •  Sept.  7  is  Labor  Day,  no  class   •  Sept.  28,  I  am  out  of  town  (ABET)  

Computer  Science  &  Engineering  

20  

10

9/8/15

plus  ça  change,  plus  c'est  la  même  chose     The  more  things  change,     the  more  they  stay  the  same.     The  Internet  is  simply  a  new  medium.   see  The  S]ng.  

Computer  Science  &  Engineering  

21  

“You  can  fool  some  of  the  people  all  of  the   ]me,  and  all  of  the  people  some  of  the  ]me,   but  you  cannot  fool  all  of  the  people  all  of   the  ]me.”                        -­‐-­‐Abraham  Lincoln     The  Internet  makes  it  easy  to  find     “some  of  the  people  all  of  the  -me”  

Computer  Science  &  Engineering  

22  

11

9/8/15

Trust •  Trust  Boundary   •  It  always  ends  up  with  trust.  

Computer  Science  &  Engineering  

23  

Threat Models

Computer  Science  &  Engineering  

24  

12

9/8/15

Willie Sutton When  asked     “Why  do  you  rob  banks?”   He  replied:     “That  is  where  the  money  is.”  

Computer  Science  &  Engineering  

25  

Most Lucrative Theft?

Computer  Science  &  Engineering  

26  

13

9/8/15

Scott Charney hdps://www.youtube.com/v/bTt_h-­‐F1ETQ? version=3&start=190&end=2291&autoplay=0&hl=en_US&rel=0   30  min.  

Computer  Science  &  Engineering  

27  

Ten Commandments of Computer Ethics (Computer Ethics Institute) Thou  shalt  not  use  a  computer  to  harm  other  people.     Thou  shalt  not  interfere  with  other  people's  computer  work.     Thou  shalt  not  snoop  around  in  other  people's  computer  files.     Thou  shalt  not  use  a  computer  to  steal.     Thou  shalt  not  use  a  computer  to  bear  false  witness.    

 

Computer  Science  &  Engineering  

28  

14

9/8/15

Ten Commandments (cont’d) Thou  shalt  not  copy  or  use  proprietary  so_ware     for  which  you  have  not  paid.     Thou  shalt  not  use  other  people's  computer  resources  without   authoriza]on  or  proper  compensa]on.     Thou  shalt  not  appropriate  other  people's  intellectual  output.     Thou  shalt  think  about  the  social  consequences  of  the  program   you  are  wri]ng  or  the  system  you  are  designing.     Thou  shalt  always  use  a  computer  in  ways  that  insure   considera]on  and  respect  for  your  fellow  human  being.    

Computer  Science  &  Engineering  

29  

Ten Security Principles •  by  various  folk   •  IBM,  MS,  Albion  

Computer  Science  &  Engineering  

30  

15

9/8/15

Principle 1: Least privilege. The  principle  of  least  privilege  states  that   only  the  minimum  access  necessary  to   perform  an  opera]on  should  be  granted,   and  that  access  should  be  granted  only  for   the  minimum  amount  of  ]me  necessary.      

Computer  Science  &  Engineering  

31  

Principle 2: Defense in depth. The  idea  behind  defense  in  depth  is  to   manage  risk  with  mul]ple  defensive   strategies,  so  that  if  one  layer  of  defense   turns  out  to  be  inadequate,  another  layer   of  defense  will,  ideally,  prevent  a  full   breach.    

Computer  Science  &  Engineering  

32  

16

9/8/15

Principle 3: Secure failure Avoid  security  problems  related  to  failures.   When  systems  fail  in  any  way,  they  should   not  revert  to  insecure  behavior.    

Computer  Science  &  Engineering  

33  

Principle 4: Secure the weakest link Security  is  a  chain;  a  system  is  only  as  secure   as  the  weakest  link.     One  consequence  is  that  the  weakest  parts   of  your  system  are  the  parts  most   suscep]ble  to  adack.    

Computer  Science  &  Engineering  

34  

17

9/8/15

Principle 5: Compartmentalization The  basic  idea  behind  compartmentaliza-on   is  that  we  can  minimize  the  amount  of   damage  that  can  be  done  to  a  system,   if  we  break  the  system  up  into  as  many   isolated  units  as  possible.    

Computer  Science  &  Engineering  

35  

Principle 6: Simplicity The  KISS  mantra  -­‐-­‐  "Keep  it  simple,  stupid!".   Complexity  increases  the  risk  of  problems;   this  seems  unavoidable  in  any  system.   Your  designs  and  implementa]ons  should   be  as  straigh~orward  as  possible.  

Computer  Science  &  Engineering  

36  

18

9/8/15

Principle 7: Promote privacy Users  generally  consider  privacy  a  security   concern.  You  shouldn't  do  anything  that  could   compromise  the  privacy  of  the  user.     And  you  should  be  as  diligent  as  possible  in   protec]ng  any  personal  informa]on  that  a   user  gives  you.  You  can  quickly  lose  the   respect  of  your  customers,  if  they  think  you   handle  privacy  concerns  poorly.  Services  on   your  machine  tend  to  give  informa]on  about   themselves  that  can  help  the  adacker  figure   out  how  to  break  in.     Computer  Science  &  Engineering  

37  

Principle 8: It's hard to hide secrets It's  incredibly  difficult  to  keep  the  "secrets"   secret.  The  most  common  threat  to   companies  is  the  "insider"  adack,  where  a   disgruntled  employee  abuses  access.  It   pays  to  be  paranoid.     "Security  by  obscurity"  :  whenever   possible,  you  should  avoid  using  this  as   your  sole  line  of  defense.    

Computer  Science  &  Engineering  

38  

19

9/8/15

Principle 9: Don't extend trust easily Be  reluctant  to  trust  your  own  servers,  in   case  they  get  hacked.  You  should  also  be   reluctant  to  trust  yourself  and  your   organiza]on.  There  have  been  tons  of   products  from  security  vendors  with   gaping  security  holes.  

Computer  Science  &  Engineering  

39  

Principle 10: Trust the community Repeated  use  without  failure  promotes  trust.   Public  scru]ny  does  as  well.  You  get  to   leverage  the  experience  of  others.  This   principle  only  applies  if  you  have  reason  to   believe  that  the  community  is  doing  its   part  to  promote  the  security  of   components  you  want  to  use.    

Computer  Science  &  Engineering  

40  

20

9/8/15

Ten Security Principles by Gary McGraw and John Viega 1.  Least  privilege:     Do  not  give  out  more  privileges  than   necessary,  and     do  not  extend  privileges  longer  than   necessary.    

Computer  Science  &  Engineering  

41  

Ten Security Principles (cont’d) 2.  Provide  defense  in  depth,     which  means  you  should  manage  so_ware   risk  by  providing  redundant  security   solu]ons.     3.  Secure  failure:     Make  sure  that  if  the  system  could  possibly   fail,  it  will  fail  in  a  secure  manner.     4.  Iden]fy  and  reinforce  the  weakest  link.    

Computer  Science  &  Engineering  

42  

21

9/8/15

Ten Security Principles (cont’d) 5.  KISS:  Keep  it  simple.     6.  Privacy:  Don't  give  out  any  unnecessary   informa]on.     7.  It's  hard  to  hide  secrets     (NOT  security  through  obscurity)   8.  Don't  extend  trust  easily.   9.  Trust  the  community  (open  source)   10. Compartmentaliza-on:  Try  to  keep  failures   in  one  part  of  a  system  from  having  an   impact  on  the  rest  of  the  system.   Computer  Science  &  Engineering  

43  

The Ten Immutable Laws of Security by Scott Culp (MS) 1.  If  a  bad  guy  can  persuade  you  to  run  his   program  on  your  computer,     it’s  not  your  computer  anymore.     2.  If  a  bad  guy  can  alter  the  opera]ng  system   on  your  computer,     it’s  not  your  computer  anymore.     3.  If  a  bad  guy  has  unrestricted  physical  access   to  your  computer,     it’s  not  your  computer  anymore.     Computer  Science  &  Engineering  

44  

22

9/8/15

Ten Immutable Laws (cont’d) 4.  If  you  allow  a  bad  guy  to  upload  programs   to  your  web  site,     it’s  not  your  web  site  any  more.     5.  Weak  passwords  trump  strong  security.     6.  A  machine  is  only  as  secure     as  the  administrator  is  trustworthy.     7.  Encrypted  data  is  only  as  secure     as  the  decryp]on  key.    

Computer  Science  &  Engineering  

45  

Ten Immutable Laws (cont’d) 8.  An  out  of  date  virus  scanner  is  only   marginally  beder  than  no  virus  scanner   at  all.     9.  Absolute  anonymity  isn't  prac]cal,     in  real  life  or  on  the  web.     10.  Technology  is  not  a  panacea.  

Computer  Science  &  Engineering  

46  

23

9/8/15

Ten General Security Rules (www.albion.com/security) 1.  Security  Through  Obscurity  Doesn't  Work     2.  Full  Disclosure  of  Bugs  and  Holes     Benefits  Security     3.  System  Security  Degrades     in  Direct  Propor]on  to  Use     4.  Do  It  Right     Before  Someone  Does  It  Wrong  For  You     5.  The  Fear  of  GeKng  Caught     is  the  Beginning  of  Wisdom    

Computer  Science  &  Engineering  

47  

www.albion rules (cont’d) 6.  There's  Always  Someone  Out  There   Smarter,  More  Knowledgeable,  or     Beder-­‐Equipped  Than  You     7.  There  Are  No  Turnkey  Security  Solu]ons     8.  Good  and  Evil  Blend  into  Gray     9.  Think  Like  the  Enemy     10.  Trust  is  a  Rela]ve  Concept    

Computer  Science  &  Engineering  

48  

24

9/8/15

Anderson:Chapter 1 •  Terminology   •  Hard:  “It  is  important  for  the  security   engineer  to  develop  sensi]vity  about  the   different  nuances  of  meaning  the  common   words  acquire  in  different  applica]ons,   and  to  be  able  to  formalize  what  the   security  policy  and  target  actually  are.”  

Computer  Science  &  Engineering  

49  

Anderson:Chapter 3 Protocols:  “If  security  engineering  has  a   unifying  theme,  it  is  the  study  of  security   protocols.”   “Security  protocols  are  the  rules.”  

Computer  Science  &  Engineering  

50  

25

9/8/15

Notation T  

→  G  :  T,  {T,N}KT  

 Think    “LHS  :  RHS”  

LHS  is  “T  sends  to  G”   RHS  is  “what  is  sent”

 

Computer  Science  &  Engineering  

51  

Random “In  fact,  most  of  the  widely  used  so_ware   products  that  incorporate  encryp]on  –   including  Kerberos,  Netscape,  and  PGP–   have  been  broken  at  some  ]me  or  another   because  their  random-­‐number  generators   weren’t  random  enough.”  

Computer  Science  &  Engineering  

52  

26

9/8/15

Formal Methods “Some  history  exists  of  flaws  being  found  in   protocols  that  had  been  proved  correct   using  formal  methods…”   Problems   External  assump]ons.   Real  world  vs.  idealiza]on  of  protocol  

Computer  Science  &  Engineering  

53  

Formally Verified & Broken •  hdp://www.cse.msu.edu/~enbody/ overflow.htm   •  1987  paper  by  Young  and  Mchugh:   "Coding  for  a  Believable  Specifica]on  to   Implementa]on  Mapping"  

Computer  Science  &  Engineering  

54  

27

9/8/15

Favorite reads •  Bruce  Schneier   hdps://www.schneier.com/   •  comp.risks  (since  1985)   hdp://catless.ncl.ac.uk/Risks/   Read  the  digests   •  Dailydave   hdps://lists.immunityinc.com/mailman/ lis]nfo/dailydave   Computer  Science  &  Engineering  

55  

28

Suggest Documents