Introduktion till försvar mot nätverksintrång. 22 Feb 2022. EP1200 KTH.
1. 1/17
Försvar mot nätverksintrång
Kim Hammar
kimham@kth.se
CDIS, Centrum för cyberförsvar och informationssäkerhet
NSE, Avdelningen för nätverk och systemteknik
KTH Kungliga Tekniska Högskolan
16 Feb, 2022
2. 2/17
Ett nätverksintrång scenario
I En försvarare administrerar en
IT-infrastruktur.
I IT-infrastrukturen består av
komponenter i ett datornät.
I Komponenterna erbjuder
nätverkstjänster.
I Försvararen skyddar infrastrukturen
genom nätverksövervakning och
aktivt försvar
I En attackerare har som mål att göra
ett intrång på infrastrukturen.
I Har partiell information om
infrastrukturen.
I Vill hacka specifika komponenter.
I Attackerar genom rekognisering och
exploatering.
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
Gateway
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
3. 3/17
Ett nätverksintrång scenario
I En försvarare administrerar en
IT-infrastruktur.
I IT-infrastrukturen består av
komponenter i ett datornät.
I Komponenterna erbjuder
nätverkstjänster.
I Försvararen skyddar infrastrukturen
genom nätverksövervakning och
aktivt försvar
I En attackerare har som mål att göra
ett intrång på infrastrukturen.
I Har partiell information om
infrastrukturen.
I Vill hacka specifika komponenter.
I Attackerar genom rekognisering och
exploatering.
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
Gateway
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
Hur upptäcker vi attacker? Hur åtgärdar vi dem?
5. 4/17
Intrångsdetektering: hur upptäcker vi en attackerare?
I En typ av detektering: detektera
attacksignaturer
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
6. 4/17
Intrångsdetektering: hur upptäcker vi en attackerare?
I En typ av detektering: detektera
attacksignaturer
I Exempel på signaturdetektering:
I Om det är utgående nätverkstrafik
på TCP-port 2589 så är det en
signature på ett virus vid namn
“dagger”.
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
7. 4/17
Intrångsdetektering: hur upptäcker vi en attackerare?
I En typ av detektering: detektera
attacksignaturer
I Exempel på signaturdetektering:
I Om det är utgående nätverkstrafik
på TCP-port 2589 så är det en
signature på ett virus vid namn
“dagger”.
I Alternativ typ av detektering:
detektera anomalier
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
8. 4/17
Intrångsdetektering: hur upptäcker vi en attackerare?
I En typ av detektering: detektera
attacksignaturer
I Exempel på signaturdetektering:
I Om det är utgående nätverkstrafik
på TCP-port 2589 så är det en
signature på ett virus vid namn
“dagger”.
I Alternativ typ av detektering:
detektera anomalier
I Exempel på anomalidetektering:
I Om p-värdet för att trafiken
genererades av en klient är mindre än
0.05
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
9. 4/17
Intrångsdetektering: hur upptäcker vi en attackerare?
I En typ av detektering: detektera
attacksignaturer
I Exempel på signaturdetektering:
I Om det är utgående nätverkstrafik
på TCP-port 2589 så är det en
signature på ett virus vid namn
“dagger”.
I Alternativ typ av detektering:
detektera anomalier
I Exempel på anomalidetektering:
I Om p-värdet för att trafiken
genererades av en klient är mindre än
0.05
I Utmaning:
I Vill inte riskera att missa attacker,
vilket leder till ett stort antal alarm
varav många är falska alarm.
Attackerare Klienter
. . .
Försvarare
1 IDS
1
alarm
7 8 9 10 11
6
5
4
3
2
12
13 14 15 16
17
18
19
21
23
20
22
24
25 26
27 28 29 30 31
13. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
14. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
15. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
16. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
17. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
18. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
19. 8/17
Exempelattack: Buffer-overread (Heartbleed)
I En säkerhetsbugg i OpenSSL-biblioteket
I Buggen släpptes 2012
I Upptäcktes 2014 (!)
I Påverkad mjukvara: de flesta implementationerna
av TLS
I Hur attacken fungerar:
I En sändare i OpenSSL kan skicka ett
“heartbeat”-meddelande med data+längd
I Mottagaren allokerar en minnesbuffer enligt den
rapporterade längden utan att verifiera längden
I Mottagaren skriver datan till buffern
I Mottagaren skickar tillbaka innehållet i buffern till
avsändaren
I Eftersom bufferstorleken kan vara större en datan
(det verifieras inte) så är det möjligt att mottagaren
skickar tillbaka mer data än datan som skickades av
sändaren - möjligtvis känslig data.
21. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
22. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
I Vi kan använda så kallad djuppaketinspektering “deep packet
inspection”:
1. Fånga nätverkstrafiken
2. Filtrera paket som skickats med TLS-protokollet
3. Filtrera Heartbeat meddelanden som skickats med
TLS-protokollet
4. Verifiera att längd=storlek på data i varje heartbeat
meddelande
5. Om heartbeat meddelanden skickats med längd 6= datastorlek
så är det ett försök till en attack!
23. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
I Vi kan använda så kallad djuppaketinspektering “deep packet
inspection”:
1. Fånga nätverkstrafiken
2. Filtrera paket som skickats med TLS-protokollet
3. Filtrera Heartbeat meddelanden som skickats med
TLS-protokollet
4. Verifiera att längd=storlek på data i varje heartbeat
meddelande
5. Om heartbeat meddelanden skickats med längd 6= datastorlek
så är det ett försök till en attack!
24. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
I Vi kan använda så kallad djuppaketinspektering “deep packet
inspection”:
1. Fånga nätverkstrafiken
2. Filtrera paket som skickats med TLS-protokollet
3. Filtrera Heartbeat meddelanden som skickats med
TLS-protokollet
4. Verifiera att längd=storlek på data i varje heartbeat
meddelande
5. Om heartbeat meddelanden skickats med längd 6= datastorlek
så är det ett försök till en attack!
25. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
I Vi kan använda så kallad djuppaketinspektering “deep packet
inspection”:
1. Fånga nätverkstrafiken
2. Filtrera paket som skickats med TLS-protokollet
3. Filtrera Heartbeat meddelanden som skickats med
TLS-protokollet
4. Verifiera att längd=storlek på data i varje heartbeat
meddelande
5. Om heartbeat meddelanden skickats med längd 6= datastorlek
så är det ett försök till en attack!
26. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
I Vi kan använda så kallad djuppaketinspektering “deep packet
inspection”:
1. Fånga nätverkstrafiken
2. Filtrera paket som skickats med TLS-protokollet
3. Filtrera Heartbeat meddelanden som skickats med
TLS-protokollet
4. Verifiera att längd=storlek på data i varje heartbeat
meddelande
5. Om heartbeat meddelanden skickats med längd 6= datastorlek
så är det ett försök till en attack!
27. 10/17
Hur kan vi upptäcka Heartbleedattacker via
nätverksövervakning?
I Vi kan använda så kallad djuppaketinspektering “deep packet
inspection”:
1. Fånga nätverkstrafiken
2. Filtrera paket som skickats med TLS-protokollet
3. Filtrera Heartbeat meddelanden som skickats med
TLS-protokollet
4. Verifiera att längd=storlek på data i varje heartbeat
meddelande
5. Om heartbeat meddelanden skickats med längd 6= datastorlek
så är det ett försök till en attack!
29. 12/17
Försvar
I Upptäcka attacker:
I Metriska data: CPU-användning,
bandbredd, processer, osv.
I Loggfiler: IDS-logg,
inloggningsförsök.
I Paketinspektion (exempelvis med
Wireshark)
I Stoppa/förhindra attacker:
I Uppdatera brandväggen.
I Återkalla certifikat/lösernord.
I Uppdatera användarrättigheter.
I Stäng av tjänster/komponenter.
Sensornät
Försvarare
30. 12/17
Försvar
I Upptäcka attacker:
I Metriska data: CPU-användning,
bandbredd, processer, osv.
I Loggfiler: IDS-logg,
inloggningsförsök.
I Paketinspektion (exempelvis med
Wireshark)
I Stoppa/förhindra attacker:
I Uppdatera brandväggen.
I Återkalla certifikat/lösernord.
I Uppdatera användarrättigheter.
I Stäng av tjänster/komponenter.
Sensornät
Försvarare
31. 12/17
Försvar
I Upptäcka attacker:
I Metriska data: CPU-användning,
bandbredd, processer, osv.
I Loggfiler: IDS-logg,
inloggningsförsök.
I Paketinspektion (exempelvis med
Wireshark)
I Stoppa/förhindra attacker:
I Uppdatera brandväggen.
I Återkalla certifikat/lösernord.
I Uppdatera användarrättigheter.
I Stäng av tjänster/komponenter.
Sensornät
Försvarare
32. 12/17
Försvar
I Upptäcka attacker:
I Metriska data: CPU-användning,
bandbredd, processer, osv.
I Loggfiler: IDS-logg,
inloggningsförsök.
I Paketinspektion (exempelvis med
Wireshark)
I Stoppa/förhindra attacker:
I Uppdatera brandväggen.
I Återkalla certifikat/lösernord.
I Uppdatera användarrättigheter.
I Stäng av tjänster/komponenter.
Sensornät
Försvarare
33. 12/17
Försvar
I Upptäcka attacker:
I Metriska data: CPU-användning,
bandbredd, processer, osv.
I Loggfiler: IDS-logg,
inloggningsförsök.
I Paketinspektion (exempelvis med
Wireshark)
I Stoppa/förhindra attacker:
I Uppdatera brandväggen.
I Återkalla certifikat/lösernord.
I Uppdatera användarrättigheter.
I Stäng av tjänster/komponenter.
Sensornät
Försvarare
39. 17/17
Sammanfattning
I En introduktion till intrångsdetekering och försvar
I En viktig del i försvar är att förstå hur en attack går till
I Försvar: nätverksövervakning och aktivt försvar
I Intrångsdetekteringssystem
I Detektering av attack signaturer
I Detektering av anomalier
I Åtgärda alarm
I Strategi