Dynamic Analysis Flashcards

1
Q

Hvad er dynamic analysis?

A

Det kan involvere at udføre og observere malwares adfærd i et kontrolleret miljø for at forstå, hvad der sker i koden, og forstå funktionaliteten.

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

Hvorfor laver man en dynamic analysis?

A

?

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

Hvornår udfører man en dynamic analysis?

A

Det gør man efter den statiske analyse.

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

Hvilken slags værktøj bruger man til dynamic analysis?

A

Man bruger en debugger.

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

Hvad er forskellen på den debugger, man bruger i REM, sammenlignet med den, man kender fra IDE’er?

A
  1. Den fra IDE’er er en debugger på source-level, som giver os mulighed for at sætte breakpoints i kildekoden for at undersøge de forskellige trin.
  2. Den man bruger i REM er Assembly-Level debuggere.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvorfor bruger man Assembly-Level debuggere i REM?

A

Fordi den ikke behøver adgang til kildekoden.
Når man beskæftiger sig med malware, får man ikke kildekoden, fordi man allerede ved, hvad malwaren gør.

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

Når man bruger x32dbg(debugger) bruger
man information om import fra vores statiske analyse, hvad er en import?

A

Det er eksterne biblioteker eller moduler, som en EXE- eller DLL-fil er afhængig af.
Det er defineret i det binære, men forventes at være tilgængeligt ved runtime.

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

Hvad er nogle eksempler på de importer, man bør kigge efter, når man går ind i debuggeren og starter den dynamiske analyse?

A
  1. isDebuggerPresent
  2. HttpOpenRequest
  3. HttpSendRequest
  4. InternetReadFile
  5. InternetOpen
  6. InternetConnect
  7. RegOpenKey
  8. RegSetKey
  9. CryptDecrypt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvad gør importen ‘isDebuggerPresent’?

A

Når exe-filen(programmet) køres, vil den som det første kontrollere, om den kører i en debugger.

Hvis programmet kører i en debugger, vil det nedbryde programmet.

Hvis ikke, vil den fortsætte med at udføre resten af koden.

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

Hvad er anti-analyse?

A

Det er teknikker eller metoder, der anvendes til at forhindre eller hindre analyse og reverse engineering af et program eller en kode.

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

Hvad er 2 muligheder for at omgå isDebuggerPresent-funktionen under kørsel?

A
  1. Skift output af isDebuggerPresent i runtime.
  2. Patch programmet, men vær forsigtig, da det kan indføre betydelige ændringer, herunder ændring af hash-værdier.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvordan skrifter man outputtet af “isDebuggerPresent” i runtime?

A

Man skal finde, hvor den registrerer, at debuggeren er til stede, og ændre værdien i det relevante register til det modsatte af, hvad det registrerede (normalt 0/1 for falsk/sand).

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