Mitigate Software Vulnerabilities and Attacks Flashcards

1
Q

The processes of planning, analysis, design, implementation, and maintenance
that governs software and systems development

A

Software Development Life Cycle (SDLC)

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

A software development model where the phases of the SDLC cascade so that
each phase will start only when all tasks identified in the previous phase are
complete

A

Waterfall Method

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

A software development model that focuses on iterative and incremental
development to account for evolving requirements and expectations

A

Agile Method

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

Microsoft’s security framework for application
development that supports dynamic development processes

A

Security Development Life (SDL)

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

A security analyst receives no privileged information about the software

A

Black Box Testing (or Blind Testing)

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

A security analyst receives privileged information about the software, such as the
source code and credentials

A

A security analyst receives no privileged information about the software

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

A security analyst receives partial disclosure of information about the software

A

Gray Box Testing

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

A charity and community that publishes a number of secure
application development resources

A

Open Web Application Security Project (OWASP)

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

A company specializing in cybersecurity and secure web
application development training and sponsors the Global
Information Assurance Certification (GIAC)

A

SysAdmin, Network, and Security (SANS) Institute

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

Attacks against software code attempt to allow the execution of the attacker’s code

A

Execution and Escalation

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

A vulnerability that allows an attacker to run their own code or a
module that exploits such a vulnerability

A

Arbitrary Code Execution

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

A vulnerability that allows an attacker to transmit code from a remote
host for execution on a target host or a module that exploits such a
vulnerability

A

Remote Code Execution

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

Occurs when a user accesses or modifies specific resources that they
are not entitled to normally access

A

Privilege Escalation

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

A class of malware that modifies system files (often at the kernel level) to conceal
its presence

A

Rootkit

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

A kernel mode rootkit is able to gain complete control over the
system

A

Kernel mode

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

A user mode rootkit might have administrator-level privileges
but uses OS features for persistence

A

User mode

17
Q

An attack in which data goes past the boundary of the destination buffer and
begins to corrupt adjacent memory

A

Buffer Overflow

18
Q

Occurs when an attacker fills up the buffer with NOP so that the return
address may hit a NOP and continue on until it finds the attacker’s code
to run

A

“Smash the Stack”

19
Q

A software vulnerability where input is allowed to overwrite memory locations
within the area of a process’ memory allocation used to store dynamically-sized
variable

A

Heap Overflow

20
Q

An attack in which a computed result is too large to fit in its assigned storage
space, which may lead to crashing or data corruption, and may trigger a buffer
overflow

A

Integer Overflow

21
Q

A software vulnerability when the resulting outcome from execution processes is
directly dependent on the order and timing of certain events, and those events
fail to execute in the order and timing intended by the developer

A

Race Conditions

22
Q

A software vulnerability that occurs when the code attempts to remove the
relationship between a pointer and the thing it points to

A

Dereferencing

23
Q

Errors could be caused by invalid user input, a loss of network connectivity, or another
server/process failing

A

Improper Error Handling

24
Q

Coding methods to anticipate and deal with exceptions thrown during execution
of a process

A

Error Handler

25
Q

Vulnerabilities often arise from the general design of the software code

A

Design Vulnerabilities

26
Q

Any code that is used or invoked outside the main program development process
▪ Code Reuse
▪ Third-party Library
▪ Software Development Kit (SDK)

A

Insecure Components

27
Q

Any program that does not properly record or log detailed enough information for
an analyst to perform their job

A

Insufficient Logging and Monitoring

28
Q

Any program that uses ineffective credentials or configurations, or one in which
the defaults have not be changed for security

A

Weak or Default Configurations

29
Q

An application where part of the application is a client software program that is
installed and run on separate hardware to the server application code and
interacts with the server over a network

A

Client/Server Applications

30
Q

An application which uses a generic web browser as a client and standard
network protocols (HTTP/HTTPS) to communicate with the server

A

Web Applications

31
Q

An application which is deployed and run on a smartphone, tablet, or other
mobile operating system

A

Mobile Applications

32
Q

An application which is designed to run on a dedicated hardware platform

A

Embedded Applications

33
Q

Generally considered a type of embedded application that contains the block of
embedded code that runs first at startup, performing “low-level” input/output
device functions, plus bootstrapping of an OS or application

A

Firmware

34
Q

A type of embedded application commonly used in mobile devices which contains
integrated CPU, memory, graphics, audio, network, storage controllers, and
software on one chip

A

System-on-Chip (SoC)