3550 Chapter 8

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/57

encourage image

There's no tags or description

Looks like no tags are added yet.

58 Terms

1
New cards
Environment
An environment is the collection of hardware and software used to build an application.
2
New cards
Development Environment / Dev
The environment where an application is created, debugged, modified, and improved.
3
New cards
Test Environment / Test
The environment where an application is tested against the application's specification requirements.
4
New cards
Staging Environment / Stage

The software environment after an application is developed and tested but before it is released.

5
New cards
Production Environment / Prod / Live Environment

An environment where the release version of an application is deployed and made available to the application's users.

6
New cards
Quality Assurance / QA
The process of testing an application's various aspects, including an application's stability, usability, security, functionality, and performance to ensure that the application meets user requirements.
7
New cards

What are the four standard deployment environments in software development?

1- Development

2- Testing

3- Staging

4- Production

8
New cards
Code Signing
The act of digitally signing software by the software's publisher.
9
New cards
Deprovisioning
The process of removing an application from a production environment.
10
New cards
Software Versioning
The process of assigning names or numbers to unique states of released software.
11
New cards
Version / Source Control
The practice of tracking and managing a software's versions.
12
New cards
Secure Coding / Programming
The practice of developing software in a way that minimizes the risk of creating software vulnerabilities.
13
New cards
Secure Coding Techniques
Methods designed to improve code security.
14
New cards
Obfuscation / Camouflage
A secure coding technique which makes code difficult to read and harder to understand by modifying the code appearance.
15
New cards
Code / Software Reuse

The use of existing software to build new software.

16
New cards
Dead Code
Code that can never be executed at run-time, or is executed but whose result is never used in any other computation.
17
New cards
Third-Party Library

A reusable software component developed by an entity outside of the development platform.

18
New cards
Software Development Kit (SDK)
A collection of software development tools in one package.
19
New cards

Sandboxing

A security practice involving the creation of a separate, isolated environment, referred to as a sandbox, to test and execute untrusted or unknown code, applications, or files without harming the main system or network.

20
New cards
Elasticity
The degree to which a system is able to adapt to workload changes by automatically provisioning and deprovisioning resources.
21
New cards
Scalability
The measure of a system's ability to handle increased demands.
22
New cards

Horizontal Scalability

Scalability which entails adding new servers to an existing infrastructure.

23
New cards
Vertical Scalability
Scalability which entails adding resources to existing systems.
24
New cards
Software Diversity
The practice of creating diversity within the software development process with the aim of reducing the extent of software vulnerability exploits.
25
New cards
Data Exposure
The intentional or unintentional disclosure of information to an unauthorized user or application.
26
New cards
Database Normalization
The process of organizing data in a relational database.
27
New cards
Stored Procedure
A group of SQL statements created to perform a specific task.
28
New cards
Parameterized Query
A query in which placeholders are used for parameters and the parameter values are supplied at execution time.
29
New cards
Column-Level / Columnar Encryption
Selective encryption configured on a specified database table column or columns.
30
New cards
Record-Level Encryption

Selective encryption configured on all instances of a specified database table record.

31
New cards
Salting
The process of adding a unique string of characters, known as salt, to a password before hashing the password.
32
New cards
Rainbow Table
A precomputed table of hashes for common passwords.
33
New cards
Sender Policy Framework (SPF)
An email authentication system that ensures the sending mail server is authorized to send emails from the sender's domain.
34
New cards
DomainKeys Identified Mail (DKIM)
An email authentication method that uses digital signatures to verify that an email was sent and authorized by the owner of the sending domain.
35
New cards
Domain-Based Message Authentication, Reporting, and Conformance (DMARC)
An email authentication protocol that secures email communications by verifying sender identities, specifying actions for authentication failures, and providing reports on email delivery and integrity.
36
New cards
Email Gateway
A server that processes an organization's incoming and outgoing email to protect the organization's internal servers.
37
New cards
Code Review
The process of systematically examining code with the aim of improving code quality.
38
New cards
Dynamic Code Analysis
A code review method that examines code during the code execution.
39
New cards
Static / Source Code Analysis
A code review method that examines code without executing the code.
40
New cards
Manual Code Review
The process of performing static code analysis by one or more code reviewers.
41
New cards
Package Monitoring
The practice of systematically tracking and managing various elements within a software project.
42
New cards
Fuzzing / Fuzz Testing

A testing technique for finding software bugs and vulnerabilities by feeding invalid and random data into software.

43
New cards
Fuzzer
A program that automatically generates random data for software testing.
44
New cards
Development Operations / DevOps
A set of practices and tools that automate and integrate software development and IT operations.
45
New cards
Continuous Integration

The practice of frequently merging new and modified code from multiple developers into a single project.

46
New cards
Continuous Delivery
The practice of frequently releasing new software that is ready to be deployed into a stage environment.
47
New cards
Continuous Deployment
The practice of frequently deploying new software into a production environment.
48
New cards
Continuous Validation
The practice of frequently verifying that new and existing software is tested.
49
New cards
Continuous Monitoring
The practice of frequently monitoring released software to detect errors, security risks and compliance issues.
50
New cards
Open Web Application Security Project (OWASP)
The open web application security project (OWASP) is a non-profit foundation that publishes methodologies, documentation, tools, and technologies for raising awareness and improving web application security.
51
New cards
Web Application Security
The set of practices and technologies that enable the creation of secure web applications.
52
New cards
OWASP Top 10
A regularly-updated list of the 10 most common web application security risks.
53
New cards
Input Validation
A secure coding technique that ensures only valid input is entered into software.
54
New cards
Allow List / White List
A list used for input validation that ensures an input matches a set of known good values.
55
New cards
Block List / Deny List
A list used for input validation method that ensures an input does not contain known bad values.
56
New cards
Server-Side Validation

Input validation that is performed by a server after input has been sent to the it.

57
New cards
Client-Side Validation
Input validation that is performed by a client before input is sent to a server.
58
New cards
Secure Cookie
A cookie with the Secure attribute, which requires the cookie to be transmitted over secure channels like HTTPS.