Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Trusler. 20-09-2016 Sikkerhed04, Aften Trusler 2 Hvad Hvem Hvorfor Hvordan.

Lignende præsentationer


Præsentationer af emnet: "Trusler. 20-09-2016 Sikkerhed04, Aften Trusler 2 Hvad Hvem Hvorfor Hvordan."— Præsentationens transcript:

1 Trusler

2 20-09-2016 Sikkerhed04, Aften Trusler 2 Hvad Hvem Hvorfor Hvordan

3 20-09-2016 Sikkerhed04, Aften Trusler 3 Typer af angreb Forskellige opdelinger: –Effekt –Middel –Niveau Nyttigt huskeredskab

4 20-09-2016 Sikkerhed04, Aften Trusler 4 STRIDE (effekt) Spoofing identity Tampering with data Repudiation Information disclosure Denial of service Elevation of privilege

5 20-09-2016 Sikkerhed04, Aften Trusler 5 X.800 (middel) Passiv –Offentliggørelse –Trafikanalyse Aktive –Masquerade –Replay –Modification –Denial of service

6 20-09-2016 Sikkerhed04, Aften Trusler 6 TPM (niveau) Trusselsmodel Sikkerhedspolitik Mekanisme

7 20-09-2016 Sikkerhed04, Aften Trusler 7 Eksempler på angreb Java IBM 4758 GSM SSL Covert channels System –Buffer overflow –Ulovligt input

8 20-09-2016 Sikkerhed04, Aften Trusler 8 Angreb på Java Et antal beskrevet Primært på mekanismer ”Lette” at rette – den underliggende sikkerhedspolitik uændret

9 20-09-2016 Sikkerhed04, Aften Trusler 9 Eksempler på angreb Java IBM 4758 GSM SSL Covert channels System –Buffer overflow –Ulovligt input

10 20-09-2016 Sikkerhed04, Aften Trusler 10 IBM 4758: trusselsmodel Hvad –Kompromittering af (3DES-)nøgler Hvem –Insider –Outsider Hvorfor –Svindel => stjæle penge Hvordan –Kopiere nøgle under transport –Få nøgle ud af boks

11 20-09-2016 Sikkerhed04, Aften Trusler 11 IBM 4758: politik Dual control (for visse funktioner) TCB –Adgang gennem API

12 20-09-2016 Sikkerhed04, Aften Trusler 12 IBM 4758: mekanisme Fysisk beskyttelse –Hardware (TCB) Nøgleudveksling ad to kanaler (dual control) –Håndhæves gennem API

13 20-09-2016 Sikkerhed04, Aften Trusler 13 IBM 4758: angreb Udnyt fejl i API Omgå dual control Eksporter 3DES-nøgle

14 20-09-2016 Sikkerhed04, Aften Trusler 14 IBM 4758: morale Hvis sikkerhedspolitikken ikke håndterer truslerne kan nok så gode mekanismer ikke hjælpe

15 20-09-2016 Sikkerhed04, Aften Trusler 15 Eksempler på angreb Java IBM 4758 GSM SSL Covert channels System –Buffer overflow –Ulovligt input

16 20-09-2016 Sikkerhed04, Aften Trusler 16 GSM Global System for Mobile Communications, 1992 Security in mobile phones System used all over the world

17 20-09-2016 Sikkerhed04, Aften Trusler 17 GSM: Threat Model What –Cloning –Eavesdropping –Tracking Who –Criminals –Secret Services Why –Break Confidentiality –Free phone calls –Reveal whereabouts How –Break Crypto –Exploit bad design

18 20-09-2016 Sikkerhed04, Aften Trusler 18 GSM: Security Policy Security Objectives –Authentication –No tracking –Confidential Calls Strategy –Crypto – SIM PIN codes

19 20-09-2016 Sikkerhed04, Aften Trusler 19 GSM-system SIM –PIN –IMSI –K i Base station HLR VLR

20 20-09-2016 Sikkerhed04, Aften Trusler 20 GSM: mechanisms authentication SIM (phone) Base station VLR HLR IMSI RAND SRES K c RAND SRES PIN SRES||K c = E Ki (RAND) Comp128

21 20-09-2016 Sikkerhed04, Aften Trusler 21 GSM: mechanisms No tracking When SIM registers on network –TMSI – temporary/anonymous IMSI But IMSI must still be sent initially

22 20-09-2016 Sikkerhed04, Aften Trusler 22 GSM: mechanisms Confidentiality All conversation encrypted –Key: Kc –Algoritme: among others, A5 (was secret, like Comp128)

23 20-09-2016 Sikkerhed04, Aften Trusler 23 GSM: attack1 on authentication SIM (phone) Base station VLR HLR IMSI RAND SRES K c RAND SRES SRES||K c = E Ki (RAND) cleartext!

24 20-09-2016 Sikkerhed04, Aften Trusler 24 GSM: attack2 on authentication Access to SIM 150.000 well chosen challenges –Exploit weaknesses in Comp128 –Find K i

25 20-09-2016 Sikkerhed04, Aften Trusler 25 GSM: attack/tracking When SIM registers on network –TMSI – temporary/anonymous IMSI But IMSI sent initially IMSI-catcher –Strong signal –Pretend not to understand ”forstå” TMSI –SIM sends IMSI

26 20-09-2016 Sikkerhed04, Aften Trusler 26 GSM: attack on Confidentiality All conversation encrypted –Key: Kc –Algorithm: A5 and others(originally secret, like Comp128) A5 and the way it is used has weaknesses –Attack can be done within minutes

27 20-09-2016 Sikkerhed04, Aften Trusler 27 GSM: what can we learn? Krypto the weakest link?! –Kerchhoffs principle (Comp128 og A5 secret) Misunderstanding of architecture –Transmission of keys in cleartext  Was GSM security a succes or a failure? – for who?

28 20-09-2016 Sikkerhed04, Aften Trusler 28 Eksempler på angreb Java IBM 4758 GSM SSL Covert channels System –Buffer overflow –Ulovligt input

29 20-09-2016 Sikkerhed04, Aften Trusler 29 CBC-kryptering i SSL Cipher Block Chaining-mode Hvis det er den valgte algoritme i SSL

30 20-09-2016 Sikkerhed04, Aften Trusler 30 CBC-kryptering i SSL: trussel Hvad –Information disclosure Hvem –Tredjepart Hvorfor –… Hvordan –Udnytte protokol/trafikanalyse 1.Modificere beskeder 2.Hvis CBC-padding fejler, sendes fejlmeddelelse 3.Afslører information om besked

31 20-09-2016 Sikkerhed04, Aften Trusler 31 Timingsangreb: politik + mekanisme Politik –Beskyt fortrolighed mod trafikanalyse Mekanisme –Send krypteret (CBC+MAC) besked uanset hvad => modstander kan ikke se om det er en fejlmeddelelse Så er den hellige grav vel velforvaret?!

32 20-09-2016 Sikkerhed04, Aften Trusler 32 Timingsangreb Hvis paddingfejl => hurtigt svar (MAC- check ikke nødvendig) Hvis ingen paddingfejl => langsomt svar (MAC-check) Vi kan skelne!!!

33 20-09-2016 Sikkerhed04, Aften Trusler 33 Timingsangreb: morale Trusselsmodel utilstrækkelig!! Sikkerhedspolitik og mekanismer addresserer kendte trusler, men … Morale: svært at forudse alle angreb

34 20-09-2016 Sikkerhed04, Aften Trusler 34 Eksempler på angreb Java IBM 4758 GSM SSL Covert channels System –Buffer overflow –Ulovligt input

35 20-09-2016 Sikkerhed04, Aften Trusler 35 Covert channels Utilstrækkelig trusselsmodel Eksempel –Bell-LaPadula m/ fælles harddisk –En anden form for timingsangreb Svært at forudse alt

36 20-09-2016 Sikkerhed04, Aften Trusler 36 Eksempler på angreb Java IBM 4758 GSM SSL Covert channels System –Buffer overflow –Ulovligt input

37 20-09-2016 Sikkerhed04, Aften Trusler 37 Buffer overflows Very ”popular” securitybreach Microsoft estimates internal expense of $100.000 pr. patch Problem caused by bad code and languages that do not protect against it –C, C++ Change to Java, C#, …,? Does’t always help, many OS’s are written in C

38 20-09-2016 Sikkerhed04, Aften Trusler 38 Stack overruns void foo(char* input){ char buf[3]; strcpy(buf, input); } void bar(void){ printf(”Gotcha!”); } int main(int argc, char* argv[]) { foo(argv[1]) return 0; } Compiled program AddrCode 0001main: 0002push argv[0] 0003 goto foo 0004 pop 0005 goto exit 0006 foo: 0007 allocate buf 0008 push buf 0009 push input 0010 goto strcpy 0011 return 0012 bar: 0013 push ”Gotcha!” 0014 goto printf 0015 pop 0016 return

39 20-09-2016 Sikkerhed04, Aften Trusler 39 Stack Addr Data 5601 5602 1. 2. 3. 4. 5607 5608 1. 5610 Program.exe ”baz” Addr Code 0001 main: 0002 push argv[0] 0003 goto foo 0004 pop 0005 goto exit 0006 foo: 0007 allocate buf 0008 push buf 0009 push input 0010 goto strcpy 0011 return 0012 bar: 0013 push ”Gotcha!” 0014 goto printf 0015 pop 0016 return Stack Addr Data 5601 5602 5610 1. 5604 2. - buf 3. - 4. - 5. 0004 ret adr foo 5608 b 1. a 5610 z Stack Addr Data 5601 5602 5610 1. 5604 2. b buf 3. a 4. z 5. 0004 ret adr foo 5608 b 1. a 5610 z

40 20-09-2016 Sikkerhed04, Aften Trusler 40 Stack Addr Data 5601 5602 1. 2. 3. 4. 5607 5608 1. 5610 5611 Program.exe ”baz12” Addr Code 0001 main: 0002 push argv[0] 0003 goto foo 0004 pop 0005 goto exit 0006 foo: 0007 allocate buf 0008 push buf 0009 push input 0010 goto strcpy 0011 return 0012 bar: 0013 push ”Gotcha!” 0014 goto printf 0015 pop 0016 return Stack Addr Data 5601 5602 5610 1. 5604 2. - buf 3. - 4. - 5. 0004 ret adr foo 5608 b 1. a 5610 z 5611 12 Stack Addr Data 5601 5602 5610 1. 5604 2. b buf 3. a 4. z 5. 0012 ret adr foo 5608 b 1. a 5610 z 5611 12

41 20-09-2016 Sikkerhed04, Aften Trusler 41 What was wrong? We copied into buf and did not check if we had room Values outside were changed=> program behavior changed!

42 20-09-2016 Sikkerhed04, Aften Trusler 42 Solution? Change Language :) –Not (always) an option :( Write better code!!! – Education –”Secure” libraries

43 20-09-2016 Sikkerhed04, Aften Trusler 43 Buffer overflows: morale Attacks that directly target the Trusted Computing Base Serious! –Undermines most security policies Solution primarily to write robust code.

44 20-09-2016 Sikkerhed04, Aften Trusler 44 IIS – illegal input Internet Information Service – IIS Microsoft webserver Accepts requests of form –http://www.daimi.au.dk/dSik/index.htmlhttp://www.daimi.au.dk/dSik/index.html Methods –Check input-format –Decode unicode-chars –Execute request

45 20-09-2016 Sikkerhed04, Aften Trusler 45 Unicode exploit ”/” == ”%c0%af” http://.../scripts/..%c0%af../winnt/system32/cmd.exe? Executes cmd.exe med systemrights! –”phone home” Problem: checks in wrong order

46 20-09-2016 Sikkerhed04, Aften Trusler 46 Solutions to Unicode exploit - and similar problems In your own application application –Fix the bug! IIS –Place web-dirs on separate drive Firewall? –Doesn’t necessarily catch unicode exploit  –But could stop phone-home

47 20-09-2016 Sikkerhed04, Aften Trusler 47 Ulovligt input Forskellige ”exploits” som udnytter huller i programmer Angreb på eller uden om TCB Forhindres gennem godt håndværk!

48 20-09-2016 Sikkerhed04, Aften Trusler 48 Overblik Hvad er en trussel –Hvad, hvem, hvorfor, hvordan Typer af angreb –STRIDE –X800 –TPM Konkrete eksempler –Java –IBM 4758 –GSM –SSL –Covert channels –System Buffer overflow Ulovligt input


Download ppt "Trusler. 20-09-2016 Sikkerhed04, Aften Trusler 2 Hvad Hvem Hvorfor Hvordan."

Lignende præsentationer


Annoncer fra Google