Software security 2 Flashcards

1
Q

Hvad er SDLC?

A
  1. Software Development Life Cycle.
  2. Fortæller om de forskellige faser man går igennem når man bygger software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hvad er OWASP?

A
  1. Open Web Application Security Project.
  2. Det er en gruppe, der hjælper med at gøre software og apps mere sikre ved at levere oplysninger og ressourcer til at forhindre sikkerhedsproblemer.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvad er CVE?

A
  1. Common Vulnerabilities and Exposures.
  2. System til identifikation og sporing af kendte vulnerabilities.
  3. Unik identifikator til hver vulnerability , hvilket giver mulighed for at referere og dele oplysninger om den.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Forklar, hvad sårbarheden var i CVE-2000-0884.

A

Det gjorde det muligt for fjernangribere at læse dokumenter uden for webroden og udføre vilkårlige kommandoer via forkerte URL’er.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Forklar, hvad sårbarheden var i CVE-2002-1182.

A

Det tillod fjernangribere at forårsage et lammelsesangreb via forkerte WebDAV-requests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvorfor gik CVE-nummer-id’erne fra 4-cifrede tal til 5-cifrede tal?

A

For at give mulighed for at tildele flere unikke identifikatorer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvad er formålet med CVE-nummer-id’et?

A

Det er for at skabe en unik identifikator for hver sårbarhed, som giver forskellige organisationer og enkeltpersoner mulighed for at referere og dele oplysninger om en specifik sårbarhed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvad er CWE/Monster Mitigation?

A
  1. Det er et sæt anbefalinger til håndtering af almindelige og alvorlige softwaresikkerhedssårbarheder skabt af MITRE.
  2. Den dækker de mest almindelige exploits og giver retningslinjer, som udviklere og sikkerhedsprofessionelle kan følge for at afbøde sårbarheder, før de implementeres.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvad er forskellen mellem lokale og eksterne exploits?

A
  1. Lokale exploits opstår fra den lokaliserede maskine eller arbejder fra selve maskinen.
  2. Eksterne exploits sker over netværket.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvad er et privilege escalation attack, og hvordan forhindrer vi dem i at ske?

A
  1. Det er, når nogen forsøger at få mere kontrol over et computersystem, end de formodes at have, ved at exploite svagheder i systemet.
  2. Hold software opdateret, brug stærke adgangskoder og overvåg for mistænkelig aktivitet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvad er en exploit?

A

Det er en teknik, som en angriber bruger til at udnytte en sårbarhed i et program til at udføre vilkårlig kode eller få kontrol over systemet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvad er en remote root exploit?

A

Det er en type angreb, der giver angriberen øjeblikkelig adgang som root-bruger på et system, hvilket giver dem mulighed for at gøre hvad som helst på en Linux/Unix-maskine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvad er en responsible disclosure?

A

Det er, når nogen opdager et sikkerhedsproblem med en virksomheds software eller system, og rapporterer det til virksomheden, så det kan rettes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvad er en zero-day exploit?

A

Det er et angreb, der bruger en hemmelig sårbarhed i software eller hardware, som udviklerne ikke kender til, og som kan bruges af angribere til at bryde ind i et computersystem eller en enhed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvad er en computer orm?

A

Det er et program, der kopierer sig selv fra en computer til en anden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvad er Internet Worm of November 1988 (Morris worm)?

A

Det var en computerorm designet til at udnytte en række sårbarheder i Unix-systemer forbundet til internettet og til at replikere sig selv til andre systemer.

17
Q

Hvilke sårbarheder exploitede Morris-ormen?

A
  1. Buffer overflow in fingerd – VAX code.
  2. DEBUG functionality in Send mail.
  3. Trust relationships between systems.
  4. Bad passwords.
  5. Contained camouflage.
  6. Program name set to ‘sh’.
  7. Used fork() to switch PID regularly.
  8. Found systems to infect in /etc/hosts.equiv, .rhosts, .forward, netstat.
18
Q

Hvad er Stuxnet?

A

Det er en internetorm, der blev opdaget i 2010, og som var designet til at målrette Irans atomprogram, men som også inficerede andre industrianlæg med lignende SCADA- og ICS-systemer.

19
Q

Hvad er et buffer overflow?

A

Det er en type softwaresårbarhed, hvor et program forsøger at gemme flere data i et hukommelsesområde, end det kan rumme, hvilket kan få programmet til at gå ned eller opføre sig uventet.

20
Q

Hvad er målet med et buffer overflow?

A

Angribere kan exploite denne sårbarhed til at indsætte ondsindet kode og tage kontrol over programmet.

21
Q

Hvad er buffers og stacks?

A

En buffer er et område i hukommelsen, der indeholder data, der venter på at blive behandlet.

Stack’en er et andet område i hukommelsen, der indeholder information om funktionskald og deres tilknyttede variable.

22
Q

Hvad er en overflow segmentation fault?

A

Det er, når en angriber exploiter en bufferoverløbssårbarhed til at manipulere programmets returadresse og eksekvere ondsindet kode.

23
Q

Forklar hvad “CVE-2018-14665” er.

A

Det er et lokalt privilege escalation attack, hvor en angriber opnår højere adgangsniveauer på et system, end de oprindeligt var autoriseret til.

24
Q

Forklar hvad “Exim RCE CVE-2019-10149 June” er.

A

Det er en sårbarhed, der gjorde det muligt for angribere at overtage servere, der kører ældre versioner af Exim.

25
Q

Forklar hvad “Exim RCE CVE-2019-10149 July” er.

A

Det er en sårbarhed, der kan give en hacker mulighed for at køre programmer med root-privilegier, hvilket kan give dem fuld kontrol over det berørte system.

26
Q

Forklar hvad “Exim RCE CVE-2019-15846 September” er.

A

Det er en sårbarhed i version 4.80 til 4.92.1 af Exim, der tillod angribere at udføre programmer med root-rettigheder på servere, der accepterer TLS-forbindelser.

27
Q

Hvad er Software Development Lifecycle?

A

Det er processen med at designe, skabe, teste og vedligeholde software.

Sikkerhedshensyn bør integreres gennem hele processen.

28
Q

Hvad er Secure Software Development Lifecycle?

A
  1. Tilgang til at lave sikker software.
  2. Man tester i alle dens 6 faser.
29
Q

Hvad er en functional specification?

A

Det er et dokument, der beskriver, hvordan et softwareprodukt vil fungere.

30
Q

Hvilke faktorer bør evalueres i en functional specification’s approach til sikkerhed?

A

Completeness.
Consistency.
Feasibility.
Testability.
Priority.
Regulations.

31
Q

Hvad er faserne i SSDL?

A
  1. Security Guidelines, Rules, and Regulations
  2. Security Requirements
  3. Architectural and Design Reviews/Threat Modelling
  4. Secure Coding Guidelines
  5. Black/Gray/White Box Testing
  6. Determining Exploitability
32
Q

Hvordan inkluderes sikkerhed i hver af faserne i SDLC?

A

Define: Identificer sikkerhedskrav og -risici.

Design: Inkorporer sikkerhedskontroller og modforanstaltninger i softwaredesignet.

Development: Følg sikker kodningspraksis.

Test: Udfør sikkerhedstest, herunder sårbarhedsvurderinger, penetrations-test og kodeanalyse.

Deployment: Implementer software med nødvendige sikkerhedskontroller og overvåg for sikkerhedsproblemer.

Maintenance: Vedligehold og opdater software for at sikre, at sikkerhedskontrollen er opdateret, og udfør regelmæssige tests for at identificere og afbøde nye sikkerhedsrisici.

33
Q

Hvad er coding standards, og hvorfor er det vigtigt for dets sikkerhed?

A
  1. De er retningslinjer, som udviklere følger, mens de skriver kode.
  2. Konsekvente coding standards kan hjælpe med at forhindre almindelige kodningsfejl og sårbarheder.
34
Q

Hvordan kan coding standards hjælpe udviklere med at identificere sikkerhedsproblemer?

A

Det kan gøre kode lettere at læse, forstå og vedligeholde, hvilket kan hjælpe udviklere med at identificere sikkerhedsproblemer og rette dem.

35
Q

Hvad er Unit testing, og hvorfor er det vigtigt for dets sikkerhed?

A
  1. Det involverer at teste individuelle funktioner eller kodemoduler isoleret for at sikre, at de fungerer som forventet.
  2. Det kan hjælpe med at fange fejl tidligt og sikre, at ændringer i koden ikke bryder eksisterende funktionalitet.
36
Q

Hvad er static analysis?

A

Det involverer at analysere kildekoden til et program uden egentlig at køre programmet.

37
Q

Hvad er dynamic analysis?

A

Det involverer at analysere programmet, mens det rent faktisk kører.

38
Q

Hvad er fordelene ved hver type analyse?

A

Statisk analyse tjekker koden for fejl og potentielle sårbarheder, før den udføres.

Dynamisk analyse kontrollerer programmet, mens det kører, for at finde problemer, der muligvis ikke fanges af statisk analyse, og for at sikre, at det fungerer korrekt og effektivt i et virkeligt miljø.