Hvad er et buffer overflow?
Når et program skriver mere data til en buffer end den kan indeholde, hvilket kan overskrive kontrolstrukturer og give angriberen mulighed for at køre egen kode.
Hvordan kan angribere udnytte et buffer overflow?
Ved overskrivning får angriberen returadressen ændret til en ny adresse, som angriberen kan hoppe til og udføre ondsindet kode.
Buffer overflow gør det muligt for angriberen at ændre returadressen, så programmet kører angriberens kode i stedet for den oprindelige.
Hvad er et stack canary?
En sikkerhedsvagt i hukommelsen. Opdager, hvis et buffer overflow forsøger at ændre hukommelsen, og stopper programmet for at forhindre angreb.
Hvad er Data Execution Prevention (DEP)?
En mekanisme, der beskytter hukommelsen mod, at data bliver kørt som kode.
Hvad er Address Space Layout Randomization (ASLR)?
En teknik der gør adresser i hukommelsen uforudsigelige, så angribere ikke kan regne med faste adresser til deres exploits.
Hvad er return-oriented programming (ROP)?
En teknik hvor angribere kæder små stykker legitim kode (gadgets) sammen for at udføre ondsindet funktionalitet, uden at indsætte ny kode
Hvad er format string exploits?
Et angreb hvor ukontrolleret brug af printf-lignende funktioner giver angriberen adgang til hukommelse eller mulighed for at ændre data.
Hvad er race conditions?
Når to processer udfører handlinger i en usikker rækkefølge, hvilket kan give angribere mulighed for at udnytte midlertidige tilstande i systemet
Hvad er privilege escalation?
Når en angriber opnår højere rettigheder end tiltænkt, fx fra normal bruger til administrator/root
Hvordan kan en angriber lave privilege escalation?
Ved at udnytte sårbarheder i software, fejlkonfigurationer eller manglende adskillelse mellem bruger- og kernetilstand.
Hvad er princippet bag least privilege?
At brugere og processer kun får de rettigheder, de absolut har brug for – så skaden ved kompromittering begrænses.
Hvad er sandboxing?
At køre kode i et afgrænset miljø med begrænsede rettigheder, så skade ikke kan sprede sig til resten af systemet
Hvordan kan kodeinjektion forhindres?
Ved inputvalidering, parameteriserede forespørgsler, og at undgå at køre ukontrolleret brugerinput som kode.
Hvordan hjælper logging og auditing mod privilege escalation?
Ved at registrere usædvanlige handlinger og muliggøre efterforskning, så uautoriseret rettighedsbrug kan opdages.
Hvorfor er softwareopdateringer en vigtig forsvarsstrategi?
Fordi mange exploits udnytter kendte sårbarheder, som kan lukkes med patches.