Chapter 4- Software Development Security Flashcards

1
Q

SDLC Basic Phases

A

Project Initiation and Planning; Functional Requirements Definition; System Design Specification; Developmnet and Implementation; Documentation and common program controls; Testing and evaluation control (C&A); Transistion to production (implementation)

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

SLC

A

Extends above SDLC - Operations and maintenance support; revisions and system replacement; project initiation and planning

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

Project Initiation

A

Security activities should be done in parallel

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

Functional Requirements

A

Security requirements should be formalized

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

System Design Specifications

A

security features designed, generally based on the overall security architecture for the company

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

Development and Implementation

A

code should be analyzed to eliminate common vulnerabilities that might lead to security exploits and other risks

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

Documentation and Common Program Controls

A

types of logging the program should be doing

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

Acceptance

A

tested to ensure it meets all the functional and security requirements. Testing is to ensure that the application meets its security requirements and specifications and uncover all design flaws that would violate security policy. Run independently in a production simulation environment. First Phase of C&A

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

Testing and Evaluation Controls

A

bounds checking and data validation - test data should not be production data. test all changes

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

C&A

A

Certification and Accreditation - Certification is the process of evaluating security stance of the software and against a set of security standards or policies. Verify conversion. Accreditation - Acceptable level of risk is determined. Provisional accreditation is for a specific period and outlines specific changes. Full means no changes required.

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

Transition to Production (implementation)

A

obtain security accreditation, train users, implement, parallel operations if necessary.

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

Revisions and System Replacement

A

Changes must follow SDLC and be recorded in change managment system. Reviews should inlcude security planning and procedures - application audits should be conducted periodically including documentatin security incidents and system failures.

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

CMM

A

Capability Maturity Model for Software - focuses on quality management process and has 5 maturity levels. ISO 9000 includes software development quality standards

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

Waterfall life-cycle method

A

oldest method - list of activities that must be completed before the next phase begins

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

Structured Programming Development

A

promotes discipline, allows introspection, and provides controlled flexibility - requires defined processes and modular development - each phase is subject to reviews and appraisals

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

Spiral Method

A

nested version of the Waterfall method. - Plan DO Check Act sub phases

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

Clean room

A

method of controlling defects - focuses defect prevention. more time spent in early phases.

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

Iterative development

A

successive refinements of requirements, design, and coding

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

Prototyping

A

simplified version, release for review, user feed back build better second version

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

Modified Prootype model

A

ideal for Web app development - deployed in quick time frame

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

Rapid application development

A

strict time limits on each phase - rapid prototyping

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

Joint Analysis Development

A

developers work directly with users to develop a working application

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

Exploratory Model

A

set of requirements built with what is currently available

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

CASE

A

computer-aided software engineering - use computers and utilities to help with systematic analysis, desing, development, implementation and maintenance of software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Component based development
standardized building blocks to assemble rather than develop
26
Reuse model
built from existing components.
27
Extreme programming
values of simplicity, communication and feedback - fairly structured
28
DBMS
a suite of application programs that typically manage large structured sets of persistant data. 4 elements - database engine, hardware platform, application software and users
29
Transaction persistence
state of the database is the same after a transaction has occured and transaction should be durable
30
Fault Tolerance and recovery
in case of failure data should remain int its original state. Two types of recovery - rollback and shadowing. Rollback - incomplete transactions are backed out. Shadow requires the use of transaction logging to indetify the last good transaction.
31
Hierarchial Database Management Model
stores data in a series or records together as a record type. These record types are the equivalent of tables in a relational model. can only cope with a single tree
32
Network Database Management Model
refers to method of how data is linked to other data.
33
Relational Database Management Model
series of tables that have columns representating variables and rows containing specific instances of data. Tables/Relations data structures; Integrity rules on allowable values and combinations of values; data manipulation agents. Rows/Tuples - Columns/Attributes atomic - every row/column position - one data value concurrency - dbms interleaves actions (read/writes) of various transactions atomicity - execute all actions in one step or not executing any actions at all
34
Integrity
Entity Integrity and Referential Integrity derived from Clark and Wilson. Entity - tuple must have a unique and non null value in the primary key. Referential - for any foreign key value, the referenced relation must have a tuple with the same value for its primary key.
35
Schema
structure of a database
36
Tables
columns and rows of data
37
Views
defines what a user can view
38
DDL
used to create databases, tables, view, indices
39
DML
used to query and extract data
40
DCL
commit, savepoint, rollback, set transaction
41
Object oriented database
interact with applications without the language overhead
42
object-relational
hybrid - provides updrade path
43
ODBC
Open Database Connectivity - API between applications and databases - credentials stored in clear text - Microsoft
44
JDBC
Java Database Connectivity - connect directly or through ODBC - Sun Microsystems
45
XML
eXtensible Markup Language - structuring data in a text file. W3C standard since 1998
46
OLE DB
Object Linking and Embedding Database - object embedded or linked to the inside of another object. The component object model (COM) is the protocol that allows OLE to work.
47
Tiered application approach
Presentation, business logic layer and data layer
48
ActiveX Data Objects
ADO- interface for all kinds of data
49
Dublin Core
metadata element standard - the availability of a practical , usable namespace.
50
OLAP
Online Analytical Processing - formulate queries
51
Data mining
decision making technique
52
Aggregation and Inference
ability to combine nonsensitive data from separate source to create sensitive information Inference - ability to deduce sensitive or restricted information from observing available information
53
Bypass attacks
bypass front end application controls and directly access and manipulate data
54
concurrency
when actions are processes run at the same time
55
data contamination
input data errors affects integrity
56
deadlocking
two users try to access at the same time
57
Atomicity
ACID - A - all parts of transactions are either committed or rolled back
58
Consistency
ACID - C - database is transformed from one valid state to another valid state
59
Isolation and Durability
ACID - I - transaction is invisible until complete ACID - D - results of completed transaction are permanent
60
OLTP
online transaction processing
61
Neural networks
develop classification, regression, association, and segmentation models based on the way neurons work in the human brain
62
HTTP
stateless technology
63
von Neumann
all computers today - no inherent difference between data and programming in the memory of the computer
64
citizen programmers
unlikely to be trained in system development practices
65
covert channel
information flow issue. allows two cooperating processes to transfer information in such a way that it violates the system's security policy. Two types: storage and timing
66
virus
defined by its ability to reproduce and spread
67
worm
spreads on its own
68
multipartitie
originally named to indicate that it was able to infect both boot sectors and program files. - now can affect more than one type of object.
69
macro virus
infect data files and tend to remain resident - operates across hardware or operating system platforms -
70
script virus
stand alone files that can be executed by an interpreter
71
trojan
pretends to do one thing while performing another unwanted action.
72
RAT
remote access trojan
73
The key objective of application security is to ensure: A. that the software is hacker proof B. the confidentiality, integrity and availability of data C. accountability of software and user activity D. prevent data theft
B. the confidentiality, integrity and availability of data
74
For an application security program to be effective within an organization, it is critical to A. Identify regulatory and compliance requirements B. Educate the software development organization the impact of insecure programming C. Develop the security policy that can be enforced D. Properly test all the software that is developed by your organization for security vulnerabilities
C. Develop the security policy that can be enforced
75
The best defense against session hijacking and man in the middle attacks is to use which of the following in the development software: A. Unique and random identification B. Use prepared statements and procedures C. Database views D. Encryption
A. Unique and random identification
76
An important characteristic of bytecode is that is A. has increased secure inherently due to sandboxing B. manages memory operations automatically C. is more difficult to reverse engineer D. is faster than interpreted languages
D. is faster than interpreted languages
77
Two cooperating processes simultaneously compete for a shared resource, in such a way that they violate the system's security policy, is commonly known as A. Covert channel B. Denial of Service C. Overt Channel D. Object resue
A. Covert channel
78
An organization has a website with a guest book feature, where visitors to the web site can input there names and comments about the organization. Each time the guest book web page loads, a message box is prompted with the message "You have been POwnd" followed by redirection to a different website. Analysis reveals that the no input validation or output encoding is being performed in the web application. This is the basis for which type of attack? A. Denial of Service B. Cross-site scripting (XSS) C. Malicious File Execution D. Injection Flaws
B. Cross-site scripting (XSS)
79
The art of influencing people to divulge sensitive information about themselves or their organization by either coercion or masquerading as a valid entity is known as A. Dumpster Diving B. Shoulder Surfing C. Phishing D. Social Engineering
D. Social Engineering
80
An organization's server audit logs indicate that an employee that was terminated in the morning was still able to access certain sensitive resources on his system, on the internal network, that afternoon. The logs indicate that the employee had logged on successfully before he was terminated but there is no record of him logging off before he was terminated. This is an example of which type of attack? A. time of check/time of use (toc/tou) B. Logic bomb C. Remote- access Trojans (RATs) D. Phishing
A. time of check/time of use (toc/tou)
81
The most effective defense against a buffer overflow attack is A. disallowing dynamic construction of queries B. bounds checking C. encoding output D. forced garbage collection
B. bounds checking
82
It is extremely important that as one follows a software development project, security activities are performed A. before release to production, so that the project is not delayed B. if a vulnerability is detected in your software C. in each stage of the life cycle D. when management mandates it
C. in each stage of the life cycle
83
audit logs are what type of control? A. Preventative B. Detective C. Compensating D. Corrective
B. Detective
84
Who can enforce the separation of duties by ensuring that programmers do not have access to production code? A. Operations Personnel B. software librarian C. Management D. Quality Assurance personnel
B. software librarian
85
The technical evaluation of assurance to ensure that security requirements have been met is known as? A. Accreditation B. Certification C. Validation D. Verification
B. Certification
86
defect prevention rather than defect removal is characteristic of which of the following software development methodology A. Computer Aided Software Engineering (CASE) B. Spiral C. Waterfall D. Cleanroom
D. Cleanroom
87
A security protection mechanism in which untrusted code, which is unsigned, is restricted from accessing system resources is known as? A. Sandboxing B. Non-repudiation C. Separation of Duties D. Obfuscation
A. Sandboxing
88
A program that does not reproduce itself but pretends to be performing a legitimate action, while actually performing malicious operations in the background, is the characteristic of which of the following A. Worms B. Trapdoor C. Virus D. Trojan
D. Trojan
89
A plot to take insignificant pennies from a user's bank account is an example of A. Social Engineering B. Salami Attack C. Pranks D. Hoaxes
B. Salami Attack
90
role based access control to protect confidentiality of data in databases can be best achieved through which of the following? A. Views B. Encryption C. Hashing D. Masking
A. Views
91
The two most dangerous database attacks containing disparate non-sensitive information are A. Injection and scripting B. Session hijacking and cookie poisoning C. Aggregation and inference D. Bypassing authentication and insecure cryptography
C. Aggregation and inference
92
A property that ensures only valid or legal transactions that do not violate any user-defined integrity constraints in DBMS technologies is known as A. Atomicity B. Consistency C. Isolation D. Durability
B. Consistency
93
Expert systems are comprised of a knowledge base containing modeled human experience and which of the following? A. Inference engine B. Statistical models C. Neural networks D. Roles
A. Inference engine