Secure Software Development Flashcards

1
Q
is an organized
process of developing
a secure application
throughout the life of
the project
A

SDLC Software Development Life Cycle

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

Helps prioritize vulnerabilty identification and patching

A

Threat modeling

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

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

A

Least Privilege

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

Layering of a security controls is more 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
5
Q

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

A

Black box testing

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

Occurs when a tester is provided full details of a system including the source code, diagram 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
7
Q

Provides control over what the application should do when faced with a run time or syntax error. Programs should use input validation when taking data from users

A

Structured exception handling

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

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

A

Input Validation

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

Analysis and testing of a program occurs with it being executed and run

A

Dynamic analysis

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

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

A

Fuzzing

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

Code placed in computer programs to by pass normal authentication and other security mechanism.

A

Backdoors

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

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

A

Directory traversal

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

Occurs when an attacker is able to execute or run commands on a victim’s computer. When the user is away from computer.

A

Arbitrary Code Execution

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

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

A

Remote code execution

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

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

A

Zero day

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

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

A

Buffer overflow

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

A temporary storage area that a program uses to store data

18
Q

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

19
Q

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

A

Smash the stack

20
Q

Series of NOPs is hit by a non malicious program

21
Q

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

A

Address space layout randomization ASLR

22
Q

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

A

Cross-site scripting (xss)

23
Q

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

A

Stored/persistent attack

24
Q

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

25
Attempts to exploit the victim’s web browser
Document Object Model (DOM) based
26
Occurs when an attacker forces a user to execute actions on a webserver for which they are already authenticated
Cross-Site Request Forgery
27
Attacking consisting of the insertion or injection of an SQL query via input data from the client to a web application
SQL injection
28
Insertion of additional information or code through data input data from the client to a web application
Injection attack
29
Data submitted without encryption or input validation is vulnerable to spoofing, request forgery and injection of arbitrary code
XML vulnerability Extensible Mark up Language
30
Xml encodes entities that expand to exponential size, consuming memory on the host and potential crashing it.
XML Bomb ( Billion Laugh Attack)
31
An attack that embeds a request for a local resource
XML external entity
32
A software vulnerabilty when the resulting outcome from execution process is directly dependent on the order and timing of certain events and those events fail to execute on the order and timing intended by the developer
Race Conditions
33
A software vulnerability that occurs when the code attempts to remove the relationship between a pointer and the thing itnpoints to.
Dereferencing
34
The potential vlnerability that occurs when theres a change between when an app checked a resource and when the app used the resource
Time of check to Time of use - TOCTOU
35
Vulnerabilities often arise from the general design of the Software Code
Design Vulnerabilities
36
Any code that is used or invoke outside the main program development process
Insecure Component E.g Code reuse Third Party Library SDK
37
Any program that does not properly record or log detailed enough information for an analyst to perform their job
Insufficient Logging and Monitoring
38
Any program that uses ineffective credentials or configurations, or one in which defaults have not been changed for security
Weak or Default Configuration
39
Software development is performed in time-boxed or small increments to allow more adaptivity to change
Agile
40
Software development and information technology operations
DevOps