Cette leçon contient 14 diapositives, avec quiz interactif et diapositives de texte.
La durée de la leçon est: 50 min
Éléments de cette leçon
Kwetsbaarheden
Domein N
Security
Slide 1 - Diapositive
Leerdoel
Aan het eind van deze les ken je verschillende kwetsbaarheden in software en weet je wat de kwetsbaarheid buffer overflow is.
Slide 2 - Diapositive
Telefoon van Amazon-baas Jeff Bezos gehackt via WhatsApp-bericht van Saudische kroonprins
Slide 3 - Diapositive
Kwetsbaarheden
In software zitten allerlei fouten die door kwaadwillende personen misbruikt kunnen worden om toegang te krijgen tot systemen.
Voorbeelden
buffer overflow
Cross-Site Request Forgery (CSRF)
Cross-Site Scripting (XSS)
Slide 4 - Diapositive
Code Red (worm)
HELLO! Welcome to http://www.worm.com! Hacked By Chinese!
In 2001 brak er een "gevaarlijke" worm uit op het internet.
Door een fout in de software Internet Information Service, die websites op het internet zichtbaar maakt (webserver), werden duizenden computers besmet.
Slide 5 - Diapositive
Code Red (worm)
De worm maakte gebruik van een kwetsbaarheid in de software. De kwetsbaarheid in de software bleek om een buffer overflow te gaan.
Gevolgen Code Red
Andere servers besmetten
Servers trager maken
Aanval op servers van het Witte huis
Slide 6 - Diapositive
Buffer overflow
De Code Red worm heeft gebruik gemaakt van de kwetsbaarheid buffer overflow.
Bij een buffer overflow worden er gegevens weggeschreven in te klein geheugen.
Slide 7 - Diapositive
Het RAM geheugen
Het werkgeheugen (RAM geheugen) van een computer bestaat uit geheugencellen. Iedere cel is 1 byte (8 bits).
Type
Geheugengebruik
Integer
2 bytes
Float
4 bytes
Char
1 byte
String
Het aantal tekens x 1 byte + 1 byte om het einde van de string aan te geven
Boolean
1 byte
Slide 8 - Diapositive
Het RAM geheugen
Een geheugencel bestaat uit 8 bits = 1 byte. Een byte (= 8 bits) wordt vaak weergegeven als een hexadecimaal getal bestaande uit twee cijfers. Het hangt van het type variabele af wat de betekenis is van die bits.
Binair
Hexadecimaal
Integer
Char
0000 0000
00
0
NULL
0010 0000
20
32
<spatie>
0101 1010
5A
90
Z
Slide 9 - Diapositive
Een buffer overflow
In de afbeelding is een stukje van het werkgeheugen te zien.
Slide 10 - Diapositive
Een buffer overflow
Slide 11 - Diapositive
Een buffer overflow
Invoer: Alexandra
Slide 12 - Diapositive
Oke, maar hoe kan je dan hacken?
Slide 13 - Diapositive
Na het starten van het programma wordt gevraag om de login en het wachtwoord van de gebruiker. Je weet een loginnaam: merijn. Maar je weet het bijbehorende wachtwoord niet. Neem aan dat dit programma gevoelig is voor een buffer overflow. Neem ook aan dat iedere waarde ongelijk aan 0 voor een boolean wordt geinterpreteerd als true.