Chapter 20 Flashcards

(30 cards)

1
Q

Programming language generations

A

Gen 1: Machine language; 0 and 1 computer directly understands
Gen 2: Assembly language; mnemonics
Gen 3: Structured, object oriented, etc.
Gen 4: Domain-specific
Gen 5: AI, natural language

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

Compiled vs Interpreted

A

Compiled - no source code, but easier to hide malware
Interpreted - need source code

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

Run-time environment

A

Portable across different OS platforms

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

Software libraries

A

Re-usable code; need to be aware of origins of source code

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

Software failure mitigation

A

Input validation
Authen and session mgmt
Error handling
Logging
Fail secure

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

SDLC

A

Conceptual definition
Functional specifications - input/behavior/output
Controls specifications
Design
Coding
Code review
Test
Maintain and change mgmt

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

SDLC models

A

Iterative Waterfall - with feedback for one phase back only
Spiral - repeated waterfall iterations; each one delivering a prototype until finished product

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

Agile development

A

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Scrum, scrum master, sprints

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

Agile - 12 principles

A
  1. Highest priority - satisfy customer thru early delivery
  2. Welcome changes
  3. Deliver working software frequently
  4. Business and dev work together
  5. Build around motivated people - provide support and trust
  6. Face-to-face communication
  7. Primary measure of progress is working software
  8. Maintain constant pace indefinitely
  9. Attention to technical excellence and good design
  10. Maximize work not done
  11. Self-organizing teams produce best
  12. Regular review and adjust
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

SW-CMM
(Software Capability Maturity Model)

A

Lvl 1: Initial
Lvl 2: Repeatable - basic lifecycle mgmt, reusable code, repeatable project outcomes
Lvl 3: Defined - standard processes, orgranizational processes, training program
Lvl 4: Managed - use metrics, quantitative measurement and quality mgmt
Lvl 5: Optimizing - change mgmt

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

Scaled Agile Framework (SAFe)

A
  • apply Agile principles and practices to large enterprises

4 configuration levels:
1. Essential SAFe - traditional Agile; Agile release trains (ART) in 8-12 week program increments
2. Large solution SAFe - vast systems; multiple ARTs
3. Portfolio SAFe - strategic direction translated to actions
4. Full SAFe - combi of all

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

SAMM - software assurance maturity model

A

5 business functions:
- Governance - strategy, compliance, metrics, training, policy
- Design - threat assessment, security req, security arch
- Implementation - secure building, secure deploy
- Verification - testing
- Operations - incident mgmt, operational mgmt env mgmt

Total of 15 security practices

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

IDEAL

A

Initiating
Diagnosing
Establishing
Acting
Learning

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

Change Management

A

Request control processes - request, cost/benefit, prioritize
Change control processes - test and document
Release control processes - approvals, user acceptance, deployment

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

Software Configuration Management (SCM)

A

Configuration identification - document configurations
Configuration Control - authorize changes, versioning
Configuration status accounting - change tracking
Configuration Audit - regular check for unauth changes

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

DevOps
DevSecOps

A

Dev/QA/Ops
Dev/QA/Sec/Ops

Continuous integration / continuous delivery (CI/CD)

16
Q

SW testing methodologies

A

White box testing - access to code; analyze inner workings
Black box testing - from user perspective; input scenarios; no access to code
Gray box testing - combi of white and black; source code for test design; does not analyze inner workings

17
Q

Commercial off the shelf software (COTS)
Open source software (OSS)

A

Must test for security vulnerabilities

  • Conduct own testing
  • Rely on vendor test results
  • or 3rd party testing
18
Q

DBMS data models

A

Hierarchical - one-to-many
Distributed - data store on different DB’s; many-to-many
Relational

19
Q

Relational DB’s

A

2D table
row and column - relation
Row - cardinality
Column (Field) - degree
Domain - range of values of attribute (field)

Candidate keys
Primary key
Alternate keys
Foreign key - enforce Referential Integrity, key is a primary key in the referenced table

20
Q

SQL

A

DDL - data description language; create/mod schema
DML - data manipulation language; interaction with data in schema

21
Q

ACID model

A

RDBMS transactions must be:
1. Atomic - all or nothing; if any part of transactions fails, entire trans must be rolled back
2. Consistent - db rules must be maintained before and after transaction
3. Isolation - current transaction must complete before exec the next
4. Durability - changes must be preserved; via transaction logs for back up mechanism

22
Q

DB contamination

A

DB contains data of different security levels

23
Q

Concurrency

A

Lock access to data for transaction; prevents dirty reads and lost updates

24
DB security mechanisms
Cell suppression Polyinstantiation Noise and perturbation
25
ODBC
Allows apps to communicate with diff DB types
26
No SQL DB's
Key/value Graphical Document - key/document
27
Expert systems
2 components: Knowledge base Inference engine
28
Machine learning
2 types: 1. Supervised learning - develop model based on provided data (data set with correct answers) 2. Unsupervised learning - provide unlabeled data to develop model
29
Neural Networks
Chain of decisions to come up with output Extension of machine learning Deep learning Training period Use Delta rule to learn from experience