Basic Static Analysis Techniques Flashcards

1
Q

What is Static Analysis?

A

Static analysis describes the process of analyzing the code or structure of a program to
determine its function. The program is not run at that time.

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

What is Dynamic Analysis

A

The analyst actually runs the program

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

What do Antivirus tools rely on? Where is it stored?

A

File signatures, behaviors, and patterns. Antivirus databases, not the actual application

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

Malware writers can modify their code to prevent ___

A

Detection

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

What do hashes help with?

A

Identifying programs as legitimate

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

What is a string?

A

A sequence of characters.

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

What program can you use to search an executable for strings?

A

The Strings program in the Sysinternals Suite.

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

What format are strings stored in?

A

Either ASCII or Unicode

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

How do you terminate ASCII and Unicode strings

A

With a NULL terminator

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

What are obfuscated programs?

A

Programs whose execution the malware author has attempted to hide

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

What are packed programs?

A

A subset of obfuscated programs in which the malicious program is compresses and cannot be analyzed

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

What two types of programs strongly limit the ability to statically analyze malware

A

Obfuscated and packed programs

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

What is a packing file?

A

You open up an executable that causes another executable to run.

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

What type of files use Portable Executable (PE) format?

A

Windows executables, object code, and DLLs

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

What is the Portable Executable format?

A

It is a data structure that contains the information necessary for Windows to manage the wrapped executable code. Almost all files with executable code that is loaded by Windows is in the PE file format.

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

What are Imports?

A

Functions used by one program that are actually stored in a different program.

17
Q

What are code libraries that contain functionality common to many programs an example of?

A

Imports

18
Q

How are code libraries connected to the main executable?

A

Linking

19
Q

What is the main executable?

A

The program being run

20
Q

Why would programmer what to link imports?

A

So that they don’t need to re-implement certain functionality in multiple programs

21
Q

What happens when a library is statically linked to an executable?

A

All code from that library is copied into the executable, which makes the executable grow in size

22
Q

What is Static linking?

A

Linking in which the executable includes the files that the program needs

23
Q

What is Dynamic linking?

A

~Linking in which the compiling and linking of code is put into a form that is loadable by programs at run time as well as link time.

24
Q

What is the Imported Functions header?

A

A PE file header that includes information about the specific functions used by an executable.

25
Q

What is the Exported functions header?

A

A PE header that contains information about functions that a file exports. Because DLLs are specifically implemented to provide functionality used by EXEs,
exported functions are most common in DLLs.

26
Q

What is the Exported functions header?

A

A PE header that contains information about functions that a file exports. Because DLLs are specifically implemented to provide functionality used by EXEs,
exported functions are most common in DLLs.

27
Q

What does the Kernel32.dll import tell you?

A

This software can open and manipulate processes and functions. It also means that the software can search through directories.

28
Q

What does the User32.dll import tell you?

A

This software can open and manipulate GUI elements

29
Q

What three functions allow you to open and manipulate processes?

A

OpenProcess, GetCurrentProcess, and GetProcessHeap

30
Q

What three functions allow you to open and manipulate files?

A

ReadFile, CreateFile, and WriteFile

31
Q

What two functions allow you to search directories?

A

FindFirstFile and FindNextFile

32
Q

What three functions show that an executable has a GUI?

A

RegisterClassEx, SetWindowText, and ShowWindow

33
Q

What function is commonly used in spyware and is the most popular way that keyloggers receive keyboard inputs?

A

SetWindowsHookEx

34
Q

What function registers a hotkey so that whenever a hotkey combination is pressed the program is alerted?

A

RegisterHotKey

35
Q

What does the GDI32.dll tell you about an executable?

A

The software is graphics related and has a GUI

36
Q

What does the Advapi32.dll tell you about an executable?

A

The program uses the registry

37
Q

What does it mean when the software is in the Software\Microsoft\Windows\CurrentVersion\Run portion of the registry.

A

The program runs at startup.

38
Q

What is the LowLevelKeyboardProc function used for?

A

Used with the SetWindowsHookEx to specify which function will be called when a low-level keyboard event occurs

39
Q

What is the LowLevelMouseProc function used for?

A

Used with the SetWindowsHookEx to specify which function will be called when a low-level mouse event occurs