Secure Software Development Flashcards
is an organized process of developing a secure application throughout the life of the project
SDLC Software Development Life Cycle
Helps prioritize vulnerabilty identification and patching
Threat modeling
Users and processes should be run using the least amount of access necessary to perform a given information
Least Privilege
Layering of a security controls is more effective and secure than relying on a single control.
Defense in Depth
Occurs when tester is not provided with any information about the system or program prior to conducting the test
Black box testing
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
White box testing
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
Structured exception handling
Applications verify that information received from a user matches a specific format or range values.
Input Validation
Analysis and testing of a program occurs with it being executed and run
Dynamic analysis
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.
Fuzzing
Code placed in computer programs to by pass normal authentication and other security mechanism.
Backdoors
Method of accessing unauthorized directories by moving through the directory structure on a remote server
Directory traversal
Occurs when an attacker is able to execute or run commands on a victim’s computer. When the user is away from computer.
Arbitrary Code Execution
Occurs when an attacker is able to execute or run commands on a remote computer
Remote code execution
Attack against a vulnerability that is unknown to the original developer or manufacturer
Zero day
Occurs when a process stores data outside the memory range allocated by the developer.
Buffer overflow