Chapter 10- Secure Software Development Flashcards

1
Q

What does SDLC stand for

A

Software Development Life Cycle

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

is an organized process of developing a secure application throughout the life of the project.

A

Software Development Life Cycle (SDLC)

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

What are the phases of SDLC?

A
  • Planning and Analysis
  • Software/Systems Design
  • Implementation
  • Testing
  • Integration
  • Deployment
  • Maintenace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Software develpment is performed in time-boxed or small increments to allow more adaptivity to change.

A

Agile

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

Software develpoment and inforemation technology operations.

A

DevOps

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

Users and processes should be run using the least amount of access necessary to perform a given function.

A

Least Privilege

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

Layering of security controls is moe effective and secure than relying on a single control.

A

Defense in Depth

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

Any input that is recieved from a user should undergo input validation prior to allowing it ot utilized by an application.

A

Never Trust User Inuput

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

Reduce the amount of code used by a program, eliminate unneeded fuctionality, and require authentication prior to running additional plugins.

A

Minimize Attack Surface

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

Default instalations should include secure configurations instead of requiring an administrator or user to add in additional security.

A

Create Secure Defaults

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

Applications should be deployed using code signing to esure the program is not changed inadvertently or maliciously prior to delivery to an end user.

A

Authenticity and integrity

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

Applications should be coded to properly conduct error handling for exceptions in order to fail securely instead of crashing.

A

Fail Securely

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

If a vulnerability is identified, then it should be quickly and correctly patched to remove the vulnerablity.

A

Fix Security Issues

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

SDKs must come from trusted sources to ensure no malicious code is being added

A

Rely on Trusted SDKs

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

Occurs when a tester is not provided with any information about the system or program prior to conduction the test.

A

Black-box Testing

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

Occurs when a tester is provided full details of a system including the source code, diagrams, and user credentials in order to conduct the test.

A

White-box Testing

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

This is a mixture of black-box and white-box where the tester is given some amount of information about the system and conducts his testing as if he doesn’t have full access to it.

A

Gray-box Testing

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

Provides control over what the application should do when faced with a runtime or syntax error.

A

Structured Exception Handling (SEH)

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

Applications verigy that information received from a user matches a specific format or range of values.

A

Input Validation

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

Source code of an applciation is reviewed manually or with automatic tools without running the code.

A

Static Analysis

21
Q

Analysis and testing of a program occurs while it is being executed or run.

A

Dynamic Analysis

22
Q

Injection of randomized data into a software program in an attempt to find system failures, memorey leaks, error handling issues, and improper input validation.

A

Fuzzing

23
Q

Code placed in computer programs to bypass normal authentication and other security mechanisms.

A

Backdoors

24
Q

Method of accessing unauthorized directories by moving through the directory structure on a reomote server.

A

Directory Traversal

25
Q

Occurs whena n attacker is able to execute or run commands on a victim computer.

A

Arbitrary Code Execution

26
Q

Occurs when an attacker is able to execute or run commands on a remote computer.

A

Remote Code Execution (RCE)

27
Q

Attack against a vulnerability that is unknown to the original developer or manufacturer.

A

Zero Day

28
Q

Occurs when a process stores data outside the memory range allocated by the developer.

A

Buffer Overflow

29
Q

A temporary storage area that a program uses to store data.

A

Buffer

30
Q

Over *5% of data breaches were caused by?

A

Buffer Overflow

31
Q

Reserved area of memory where the program saves the return address when a function call instruction is received.

A

Stack

32
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

33
Q

Method used by programmers to randomly arrange the different address spaces used by a program or process to prevent buffer overflow exploits.

A

Address Space Layout Randomization

34
Q

Occurs whena an attacker embeds malicious scripting commands on a trusted website

A
35
Q

Attempts to get data provided bt the attacker to be saved on the web server by the victim.

A

Stored/Persistent

36
Q

Attempts to have a non-persistent effect activated by a victim clicking a link on the site.

A

Reflected

37
Q

Attempt to exploit the victim’s web browser.

A

Document Object Model (DOM)-based

38
Q

Occurs when an attacker forces a user to execute actions on a web server for which they are already authenticated.

A

Cross-Site Request Forgery (XSRF/CSRF)

39
Q

Attck consisting of the isertion or injection of an SQL query via input data from the client to a web application.

A

SQL Injection

40
Q

Insertion of additional information or code through data input from a client to an application.

A

Injection Attack

41
Q

XML encodes entities that expand to exponential sizes, consuming memory on the host and potentially crashing it.

A

XML Bomb (Billion Laughs Attack)

42
Q

an attack that embeds a request for a local resource.

A

XML External Entity (XXE)

43
Q

A sfotware 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 Condition

44
Q

A software vulnerablility that occurs when the code attempts to ermove the relationship between a pointer and the thing it points to.

A

Dereferencing

45
Q

The potential vulnerablility that occurs when there is a change between when an app checked a resource and when the app used the resource.

A

Time of Check to Time of Use (TOCTTOU)

46
Q

Any code that is used or invoked outside the main program development process.

A

Insecure Components

47
Q

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

A

Insufficent Logging and Monitoring

48
Q

Any program that uses ineffective credentials or configurations, or one in wich the defaults have not been changed for security.

A

Weak or Default Configuration.