Summarize secure application development, deployment, and automation concepts Flashcards

(35 cards)

1
Q

Requires at least four main network divisions: development, test, staging, production

A

Environment

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

Network where new software code is being crafted. Fully isolated from other network divisions

A

Development

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

Typical SDLC includes these phases

A

Initiation preliminary analysis

Systems analysis, requirements definition

Systems design

Development

Integration and testing

Acceptance, installation, deployment

Maintenance

Evaluation

Revise, replace, retire

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

Where new equipment/code, is configured to be in compliance w/security policy and configuration baseline

A

Staging

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

Evaluates software security by evaluating source code or complied application w/o execution

Can be conducted manually or using tools

A

Static testing

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

Executes code in constrained environment

Fuzz testing/fuzzing

Use of various inputs to stress test code, w/goal of finding input causing abnormal/insecure responses

A

Dynamic testing

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

Where business functions take place, also known as operations network

A

Production

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

Evaluation process employed by many orgs to ensure newly integrated hardware/software do not reduce performance/security

A

Quality assurance (QA)

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

It is preallocation

Assignment of resources to new function or task prior to initiation

A

Provisioning

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

Two primary elements:

Focus on streamlining and finetuning resource allocation to existing systems

Decommissioning of servers

A

Deprovisioning

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

Accomplished through hashing

Known trusted versions of code should have est. identity/origin hash

A

Integrity measurement

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

Code signing

Crafting a digital signature of software program for non-repudiation

A

Secure coding techniques

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

Programming and mgt technique to reduce redundancy, often related to DB mgt

Can also implement standardization

A

Normalization

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

Subroutine/software module called on by apps interacting with a relationship DB mgt system (RDBMS)

A

Stored procedures

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

Crafting code specifically to be difficult to decipher

A

Obfuscation/camouflage

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

Inclusion of preexisting code, care must be taken

17
Q

Section of software executed, but output/result is not used by any processes

18
Q

Suited for protecting a system against input submitted by malicious user

A

Server-side data validation

19
Q

Focus on providing better responses/feedback to typical user

Can be used to indicate whether input meets requirements

A

Client-side validation

20
Q

Software should preallocate memory but also limit input sent to those buffers

A

Memory management

21
Q

Using preexisting code so programmers can focus on custom code and logic

Precrafted code can include flaws, backdoors, or other exploits

A

Use of third-party libraries and software development kits (SDKs)

22
Q

When software does not adequately protect data it processes

Programmers need to include authorization, authentication, and encryption schemes in their product

A

Data exposure

23
Q

Non-profit security project focusing on improving security for online/web-based apps, mobile device apps, and IoT equipment

A

Open Web Application Security Project (OWASP)

24
Q

Software languages easier for people to learn for crafting software solutions

Must be converted to machine language

A

High-level languages

25
Used to convert high-level language/human-readable source code into machine language or binary executable for execution
Compiler
26
Shorthand for binary code/machine language
Binary
27
Ensure specific series of steps or activities performed in correct order, ensuring consistency
Automated courses of action
28
Requires all user be monitored equally, from moment of connection/entrance till disconnection/departure When monitoring fails, all user activity should cease and admins notified Continuous across all accounts, not just end users Continuous across entire infrastructure
Continuous monitoring
29
Ensuring integrity and validity of automation regularly Repeating execution of flawed programs can reduce security
Continuous validation
30
Ensuring automated tools, testing, and manual injection of security elements included throughout process of product development
Continuous integration
31
As updates are made to scripts and code of automation, changes should be released to users/production (after testing and validation)
Continuous delivery
32
Extension of continuous delivery, implementation of new code occurs automatically into production (after testing and validation)
Continuous deployment
33
Ability of system to adapt to workload changes by allocation/de-allocation
Elasticity
34
Ability for system to handle increasing level of work and expansion
Scalability
35
Management of progress of changes in software code Ensuring final versions of products are released Enables back-tracking and roll-back capabilities
Version control