Software security 1 Flashcards

1
Q

Hvad er OWASP?

A
  1. Open Worldwide 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
2
Q

Hvad er confidentiality?

A

Det er beskyttelse af hemmelige data mod uautoriseret adgang og visning.

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

Hvad er integrity?

A

Det er at man sørger for, at data ikke ændres uden autorisation.

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

Had er availability?

A

Det er sikring af, at data og systemer er tilgængelige for brugerne, når det er nødvendigt.

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

Hvad er infrastructure?

A

Det er alt det underlæggeinde indenfor et firma, såsom ledninger, servere, lagring og software.

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

Hvad er formået med infrastructure?

A
  1. Software kører problemfrit.
  2. Software kan håndtere flere brugere.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nævn de 5 business challenges.

A
  1. Accumulation of software.
  2. Legacy systems.
  3. Partners.
  4. Various types of data.
  5. Employee churn/replacement.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvad er de udfordringer, der kommer med “accumulation of software”?

A
  1. Komplekst.
  2. Svært at vedligeholde.
  3. Svært at integrere med andre systemer og risikerer sikkerhedsproblemer.
  4. Dyrt at administrere.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvad er de udfordringer, der kommer med “legacy systems”?

A
  1. Tab af dokumentation/know how.
  2. Svært at migrerer til nye platforme.
  3. Gammel software, dermed potentielle sikkerhedshuller.
  4. Medarbejderne foretrækker at lære og arbejde med nyere teknologier.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvad er de udfordringer, der kommer med “partners”?

A
  1. Kommunikationsproblemer.
  2. Integrationsproblemer.
  3. Data fortrolighed (Behandler de vores data fortroligt?).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvad er de udfordringer, der kommer med “various types of data”?

A

Forskellige organisationer kan kræve data i et bestemt format, hvilket kan være udfordrende at levere.

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

Hvad er de udfordringer, der kommer med “employee churn/replacement”?

A
  1. Udfordring med at uddanne nyansatte.
  2. Potentiel datatab/know how.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nævn de 5 software challenges.

A
  1. Complexity.
  2. Various languages.
  3. Various programming paradigms.
  4. Conflicting data types and available structures.
  5. Steam train vs electric train.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvad er de udfordringer, der kommer med “complexity”?

A

Det kan blive kompleks, som kan skabe problemer for sikkerheden og softwarens CIA.

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

Hvad er de udfordringer, der kommer med “various languages”?

A

Forskellige dele af softwaren kan være skrevet på forskellige programmeringssprog, som har forskellige fordele og ulemper, der skal tages i betragtning.

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

Hvad er de udfordringer, der kommer med “various programming paradigms”?

A

Forskellige programmeringsparadigmer, såsom klient-server og model-view-controller, har forskellige implikationer for softwareudvikling.

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

Hvad er de udfordringer, der kommer med “conflicting data types and available structures”?

A

Ældre programmer kan bruge modstridende datatyper og kan mangle struktur, hvilket kan gøre det vanskeligt at interagere med dem.

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

Hvad er de udfordringer, der kommer med “steam train vs electric train”?

A

Dette er en metafor for faren mellem gamle og nye teknologier, som kan udgøre udfordringer for softwareudvikling.

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

Nævn de 3 developer’s challenges.

A
  1. Work in teams across organization – and partners, vendors, sub-contractors.
  2. Work with legacy systems.
  3. Learn new technologies.
20
Q

Hvad er de udfordringer, der kommer med “working in teams across organization – and partners, vendors, sub-contractors”?

A
  1. Udviklere skal interagere med mange andre udviklere, som kan skabe kommunikations problemer.
  2. Udviklere skal arbejde med underleverandører, som måske ønsker at outsource dele af infrastruktursoftwaren.
21
Q

Hvad er de udfordringer, der kommer med “learning new technologies”?

A
  1. Det er svært.
  2. Medarbejdere skal blive lært op, hvilket kræver ressourcer.
22
Q

Nævn de 3 integration challenges.

A
  1. Enable communication between components.
  2. Need mediator, interpreter, translator.
  3. Recognize standard patterns.
23
Q

Hvad er de udfordringer, der kommer med “enabling communication between components”?

A

Forskellige komponenter kan bruge forskellige protokoller, dataformater og programmeringssprog. Det kan gøre det svært for dem at forstå hinandens budskaber og data.

24
Q

Hvad er de udfordringer, der kommer med “needing a mediator, interpreter, translator”?

A

Forskellige softwarekomponenter kan bruge forskellige kommunikationsprotokoller, dataformater og sprog, hvilket gør det svært for dem at kommunikere direkte med hinanden.

25
Q

Hvad er de udfordringer, der kommer med “recognizing standard patterns”?

A

Der findes mange forskellige mønstre og teknikker, og det kan være komplekst at vælge det passende mønster til en given situation.

26
Q

Hvad er skudårsproblemet?

A

Det er et problem, der opstår, når computere ikke implementerer skudår korrekt, hvilket resulterer i fejl i beregningen af, hvilke år der er skudår, eller fra manipulation af datoer uden hensyntagen til forskellen mellem skudår og almindelige år.

27
Q

Hvad er det for nogle usandheder, programmører tror på om tid, og er de altid sande?

A
  1. At der altid er 24 timer i døgnet.
  2. At måneder har enten 31 eller 30 dage.
  3. At år har 365 dage.

Disse forudsætninger er dog ikke altid korrekte, da der kan være variationer på grund af faktorer som sommertid og skudår.

28
Q

Hvorfor er antagelser (assumptions) en udfordring i programmering?

A

Antagelser kan føre til fejl og sikkerhedsfejl, hvis de ikke testes eller verificeres, derfor vigtigt at identificere og adressere antagelser i udviklingsprocessen for at sikre sikkerhed og pålidelighed.

29
Q

Hvad er Juice Shop?

A
  1. Det er en moderne applikation, der er designet til at have sikkerhedsfejl.
  2. Det er en lovlig måde for enkeltpersoner at lære, hvordan man finder følsomme oplysninger om en applikation og praktiserer hacking.
  3. Det bruges ofte som et træningsværktøj for sikkerhedsprofessionelle og udviklere til at lære om webapplikationssikkerhed.
30
Q

Hvad er et hacker lab?

A

Det er et fællesskabsrum eller et arbejdsområde, der er designet til personer, der er interesserede i teknologi, programmering eller hacking.

31
Q

Nævn de 3 design vulnerabilities.

A
  1. Lack of input validation.
  2. Inadequate authentication and authorization.
  3. Insecure data storage.
32
Q

Hvad er de udfordringer, der kommer med “the lack of input validation”?

A

Manglende kontrol af brugerinput kan føre til sikkerhedsproblemer såsom SQL-injektion eller XSS-angreb.

NOTE: prepared statements beskytter mod SQL-injection

33
Q

Hvad er de udfordringer, der kommer med “inadequate authentication and authorization”?

A

Manglende implementering af godkendelses- og autorisationsmekanismer kan tillade uautoriseret adgang til følsomme data eller funktionalitet.

34
Q

Hvad er de udfordringer, der kommer med “insecure data storage”?

A

Lagring af følsomme data på en usikker måde, såsom lagring af adgangskoder i almindelig tekst, gør dem sårbare over for tyveri eller uautoriseret adgang.

35
Q

Hvad er implementation vulnerability?

A

Det er sikkerhedssvagheder i selve kodningen og konfigurationen af et softwaresystem eller en applikation, snarere end i dets design eller tilsigtede funktionalitet.

Eksempel: Cæsar-kryptering. Dette er en svag krypteringsalgoritme, der let kan brydes og udsætter følsomme data for angribere.

36
Q

Nævn de 6 almindelige secure design issues.

A
  1. Authentication.
  2. Authorization.
  3. Accounting.
  4. Weak or missing session management.
  5. Weak or missing authentication.
  6. Weak or missing authorization.
37
Q

Hvad er Authentication, og hvorfor er det et secure design issue?

A
  1. Det er processen med at verificere identiteten af en bruger, enhed eller system.
  2. Det er et sikkert designproblem, fordi det er processen med at verificere identiteten af en bruger, enhed eller system.
38
Q

Hvad er Authorization, og hvorfor er det et secure design issue?

A
  1. Det er processen med at bestemme, hvilke handlinger en autentificeret enhed har tilladelse til at udføre.
  2. Hvis det ikke er gjort korrekt, kan folk få adgang til oplysninger eller ressourcer, de ikke skal. Dette kan forårsage en masse problemer, såsom databrud eller tab.
39
Q

Hvad er Accounting, og hvorfor er det et secure design issue?

A
  1. Det er processen med at registrere information om brugeraktiviteter i et system.
  2. Den holder styr på brugeraktiviteter, hvilket hjælper med at identificere sikkerhedshændelser og opretholde overholdelse af regler. Uden det kan det være svært at opdage og reagere på sikkerhedsbrud.
40
Q

Hvad er formålet med AAA?

A

Forstærker og hjælper med at opfylde CIA.

41
Q

Hvad er input validation?

A
  1. validere at det man indsætter i inputfeltet er korrekt.
42
Q

Hvorfor er missing or flawed input validation et security issue?

A

Det er den vigtigste årsag til de mest alvorlige sårbarheder. Uden korrekt inputvalidering er det muligt for ondsindede eller utilsigtede data at komme ind i et system, hvilket kan forårsage sikkerhedsproblemer såsom bufferoverløb, SQL-injektionsangreb og cross-site scripting (XSS) angreb.

43
Q

Hvad er et buffer overflow?

A

Det er et problem i software, der opstår, når der lægges for meget data ind i en lille plads i en computers hukommelse.

44
Q

Hvad er SQL injection?

A

Det er et problem, der opstår, når nogen lægger dårlig kode ind på en hjemmeside, der taler til en database.

Denne dårlige kode kan ændre eller se på følsomme oplysninger i databasen.

45
Q

Hvad er cross-site scripting (XSS)?

A
  1. Man indsætter ondsindet kode i en input felt inde i den browser man targetter.
  2. Dermed når andre kører den samme browser så køres det ondsidnet kode også.
  3. Tab af persondata.
46
Q

Hvad er “Principle of least privilege”?

A
  1. Det er det vigtigste princip.
  2. Den fastslår, at et emne kun skal have de minimumsrettigheder, der er nødvendige for at udføre deres opgave. Dette hjælper med at holde tingene sikre og forhindre ulykker eller skader.

Eksempel: Hvis nogen kun skal læse et dokument, skal de ikke have mulighed for at ændre det.

47
Q

Hvad er “Principle of fail-safe defaults”?

A

Man skal ikke have adgang information man explicit har fået af vide at man har adgang tid.