2.3 Summarize secure application development, deployment, and automation concepts Flashcards
The 4 Computing Environments
Development, Test, Staging, and Production. Needs to be separated so you test each stage for untested code.
Development Environment
Where new software code is being made. OS type and version needs to match.
Test Environment
Mimics the production environment. Test environment is to ensure that it is bug free.
Staging Environment
You ensure quality assurance and validate security and baseline config.
Production Environment
The product does what it is designed to do. Is working with real data.
Quality Assurance (QA)
Evaluation process that test security and quality. (Happens in the Staging environment)
Provisioning
Making apps. and services available. May be related to lifecycle of a app.
Deprovisioning
Application end of life. Should be deprovision with HIPPA or GDPR.
Integrity management
Maintaining control over the copies of code. Also placing a hash on the code to reference it to a table to which version you have.
Normalization
Stored Procedures
Precompiled scripts in the production. Benefit is speed and code is less flexible.
Obfuscation/Camouflage code
Masking source code with XOR and ROT 13 from attackers.
Code Reuse
Also referred to Legacy code. The cold stills needs to go through security.
Saves money in the development environment.
Dead Code
Code that isn’t used anywhere in software.
Server-Side vs. Client-Side Execution and Validation
Sever-side checks data on the server side, only safe way
Client-side, can’t validate any inputs. Can inject malicious code, JavaScript, HTML, or URLs