Domain 8 Flashcards

1
Q

Legal, Regulatory, and Market Pressures

A
  • Cyber security research and survey reports are published annually
  • 5 trillion losses in 2019
  • healthcare energy and retail saw increases in average cost of data breaches
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The Bad News: The Majority of Deployed Systems Are Anything But Safe and Secure

A
  • Accepted practice to have junior or less experienced programmers handle small tasks
  • most experienced programmers have no formal education
  • industry believes teaching software security now this is a waste of effort
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Software Development Methodologies

A
  • Software development methodology is the collection of managed activities that can be used to translate end users needs for functions and capabilities into a software system that meets those needs
  • Must balance satisfying needs against time
  • all systems have life cycles
  • security should be a vital focus
  • should choose methodologies carefully
  • Entire development process needs security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Classical Software Development Life Cycle (SDLC)

A
  • Developed in the 1950s
  • Many development life cycles but most commonly referring to the classic waterfall method
  • framework the godly phases of a software development project
  • does have many variations
  • Clear decisions and processes bound the transition of project activities from one phase to the next
  • Generally accepted phases
    o project initiation and planning
    o functional requirements definitions
    o system design specifications
    o development and implementation
    o documentation and common program controls
    o testing and evaluation control
    o transition to production
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Project Initiation and Planning

A
  • Usually starts with the idea
  • justification for the project
    - typically contained in a document that outlines projects objectives scope strategies and other important factors
  • Approval based on project plan document and all undertakings should be cost justified
  • must include security
    - security requirements begin here
  • Establish user requirements
    -determine security requirements
  • identify alternatives
    - conduct risk analysis
  • Select Approach
    - define security strategy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Functional Requirements Definition

A
  • Analysis of caring and possible functional requirements
  • functional and non functional should be identified during this phase
  • make revisions as needed
  • formalized security requirements
  • Key security functions
    - identify security areas
    - establish security requirements
    - security test
    - include security requirements
    - include functional security requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Development and implementation

A
  • Source code is developed
  • includes new code from scratch and inclusion of code modules or snippets from other projects
  • test scenarios and test cases are developed
  • phase where common coding mistakes can be made
    - risk can be made manageable by carefully selecting validating in adhering to strict rules for code reuse
  • Analyze to eliminate common vulnerabilities
    - can be done in many ways But code review needs to be done properly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Integrated product team (IPT)

A
  • team of stakeholders and individuals who possess various skills
  • goal is to work together or define the process
  • Members also have to provide enough representation from all stakeholders
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

integrated product and process development (IPPD)

A
  • Recognizes that the right choices for development manufacturing and tests cannot be made while the project is still being thought through
  • can be used as a management technique advantage is the ability to facilitate meeting costs and performance objectives
  • goal is to facilitate multi skilled team members working together through the concept of IPT
  • Can involve members from the enterprise and contractors or consultants
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Structure programming development

A
  • Programmers use it
  • uses extensive subroutines and block structures they can be reused
  • promotes discipline allows introspection and provides controlled flexibility
  • structured approach for security to be added
  • put into practice in the 1970s right before the adoption of object oriented programming
  • principles are still found but rarely used in its original form
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Interactive development

A
  • Was made in response to the shortcomings of the waterfall method
  • waterfall method was highly structured in ways that restricted or prohibited changes in requirements designs and softwares once each phase had been completed
    - examples are the DoD worldwide military command and control system
    - and the Federal Aviation Administration
  • iterative models make it difficult to ensure security provisions are still valid in the changing environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

rapid application development

A
  • reform refined form of prototyping
  • require strict time limits on each phase
  • go to produce quality code quickly
  • runs the risk of fast development which can lead to poor design
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

joint analysis development

A
  • invented To enhance the development of large mainframe systems
  • useful in today’s environment
  • success of this methodology is based on players communicating at all phases of the project
  • works best when people work the job together with the people who have the best understanding of the tech
  • If you are building a network together architecture together instead of one more person trying to do everything
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

exploratory model

A
  • Set of requirements built with what is currently available
  • requires assumptions to be made as to how the system might work
  • because of the lack of structured security needs to take priority
  • security professionals need to ensure their requirements are addressed appropriately
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Reuse model

A
  • Built from already existing and testing components
  • best suited for projects using object oriented development
  • components chosen based off of known effectiveness of security characteristics
  • most widely used approach to developing software
    o often the most poorly managed 1
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

spiral method

A
  • nested version of the original waterfall method
  • distinguishing feature is that each phase has four added sub stages
    o Known as the Deming Cycle, Plan do check act
  • Call us and schedule a revised each time the risk assessment is performed
  • improvement of the waterfall method because you can address at each phase
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

prototyping

A
  • Objective to build a simplified version release it and then use feedback from stakeholders to review
  • repeated until everyone is satisfied
  • broken down into step by step processes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

modified prototype model

A
  • Ideal for web application development
  • allows for basic functionality to be formally deployed in a quick time frame
  • Begins maintenance phase after deployment
  • go to a process flexible enough so the app is not based on the state of the organization at any given time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

clean room

A
  • focused on controlling and at best avoiding defects
  • emphasis on writing the code correctly the first time
  • quality is achieved through proper design rather than testing and remediation later
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

extreme programming

A
  • Having several values and characteristics of software development
  • simplicity communication and feedback are the values
  • structured approach
  • relies on smaller subprojects with limited and defined scope as well as developers working in pairs
  • owners should be involved in defining the needs in the first place
  • relies on simplicity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

standard libraries other libraries and software reuse

A
  • Software library is a repository of pre written code classes procedure scripts and other program elements
  • allows developers to create functionalities without having to rewrite the necessary code
  • can be developed by any IT supply chain
  • Loosely defined hierarchy of libraries
    - OS and hardware libraries - provided by respective vendors should be supported with digitally signed updates
    - programming language libraries - supplied by the vendor of the integrated development environment or language tools that’s being used
    - development frameworks
    - in-house project specific customer specific or product specific libraries
    - third party open source libraries published by reputable sources
    - third party open source libraries of unproven pedigree or nature - textbook journal or magazine publishers blogs or user community discussion boards can be suitable for use once it has been thoroughly inspected for potential back doors classic coating Trojans and logic bombs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

common programming language libraries

A
  • C, C#, and C++ standard libraries, each for its specific language
  • Framework class library (FCL) which applies to the .net framework
  • Java Class Library (JCL) which applies to Java programming languages
  • Ruby standard library which contains Ruby programming language
  • increased dependability
  • reduce process risk
  • effective use of specialists
  • standards compliance
  • accelerated development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

programming tool and tool sets

A
  • Tools and tool sets provide a wide variety of capabilities
    - binary compatibility analysis tools
    - bug databases
    - build tools
    - code coverage
    - compilation and linking tools
    - debuggers
    - documentation generators library interface generators and other integration tools
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

integrated development environments

A
  • combine the features of me two of the capabilities into one environment for use
  • designed to maximize productivity by providing reusable components
  • single architecture where all development can be done
  • typically consists of a source code editor build automation tools and debuggers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Control and separation of environments

A
  • three important environment
    - development environment
    - quality assurance environment
    - production environment
  • Mini control measures but the traditional one is to physically isolate
  • Nothing more or less than applying the concept of least privilege to achieving the security of the software development process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

IDE program execution and runtime environment

A
  • collection of all hardware and software components that allow an app to run on the computer system
  • every programming language has some form of runtime system
  • Runtime system can be a gateway but with your running program interacts with the runtime environment
  • runtime environment should include components required for security to be handled properly
27
Q

security of code repositories

A
  • Protection of code repositories need to be handled like any other asset
28
Q

trusted computer base

A
  • collection of hardware software and firmware components within an architecture responsible for supporting the security policy and isolation of objects
  • typically associated with security kernels
  • When done properly all features within a system becomes the TCB henceforth supporting adequate security requirements
  • can contain trusted paths and trusted shells
  • Responsible for providing security necessary to ensure that the trusted path cannot be compromised
29
Q

reference monitor

A
  • enforce the security between subjects and objects
  • can enforce security rules and requirements because it sits between the two elements (subjects and objects)
  • can take the form of a reference validator which runs inside the security kernel
  • Reference monitor acts to ensure that any subject attempting to access any object has appropriate rights
  • conceptual idea
30
Q

security kernel

A
  • implementation of the reference monitor concept
  • comprised of all the components of the TCB
  • responsible for implementing the reference monitor mechanism enforcing the security policy
  • typically layered and the kernel should be at the lowest most primitive level
  • implements access control and information flow between implemented objects
  • 3 fundamental requirements
    - Completeness all access to information must go through the kernel
    - isolation the kernel itself must be protected from any type of unauthorized access
    - verifiability the kernel must be proven to meet design specs
31
Q

Cryptographic approaches for more secure software

A
  • Next layer built on top of the central core (TCB security kernel and reference monitor)
  • depend heavily on PKI
  • Should be part of the foundation of development and operational environments
  • keeping cryptographic systems functioning properly requires the organization to do the following
    - manage digital certificates cryptographic suits and keys
    - integrate password token managers with access control and identity management
    - use HSM’s for secure robust key certificate storage management
    - harmonize IT systems acquisitions process with organizational cryptographic use
    - include citizen/ developers bring your own everything/ shadow IT
    - provide cryptographic support to development testing and other special environments
32
Q

online transaction processing (OLTP) security considerations

A
  • Processing system that facilitates and manages a high number of transactions to be applied against database environments across the web
  • designed to record all business transactions
  • Connect is a monitoring system which means they should be able to detect when individual processes abort
33
Q

Configuration management (CM) as an aspect of software security

A
  • configuration management refers to monitoring and managing changes to a program or documentation
  • goal is to guarantee the integrity of the code its availability and usage of the correct version
  • involves reviewing every change made to a system
  • came into use during and after World War 2
  • many different formal processes exist but they all share the common phases shown
    - formal request for change
    - analyze request for feasibility impact
    - develop implementation strategy
    - approval of change
    - develop the change
    - implement and test the change
    - review change for effectiveness
    - report to manager
  • successful configuration management requires a well defined and understood set of policies that clearly define the following
    - Set of artifacts under the jurisdiction
    - how artifacts are named
    - how artifacts enter and leave the controlled set
    - how an artifact under CM is allowed to change how different versions of an artifact under CM are made available and under what conditions can each one be used
    - how is CM tools are used to enable and enforce CM
34
Q

Continuous integration and continuous delivery

A
  • Provide greater automation and management of various processes
  • starts with code being written and ends with finished software
  • most methodologies perform integration with many common steps
    - they all have programmers code as their software unit
    - do a unit test
    - builder
    - integrations of units into larger subsystems
    - integrate subsystems into a complete application
    - more testing
  • Each step should process flow coordination and communication
  • automates communication and coordination to it’s great of a degree as the organization deems necessary
  • major building blocks Of DevSecOps
  • Can make change management more seamless auditable and enforceable across the software lifecycle
  • Security challenge is that they must go through a security assessment themselves
  • could play into the pressure to deliver more code more quickly but with a decreased emphasis on security safety and other considerations
35
Q

Case study Equifax and Apache struts

A
  • Apache struts was developed in May 2000 by Craig mcclanahan
  • Apache struts was an open source framework designed to extend the Java application interface
  • struts separated the element that communicates with the database from the hypertext markup language page breaking the traditional Java web application allowing a user to directly call the server from a web-based form
  • March 10 2017 the national vulnerability database issued a CVE detailing their vulnerability in the Jakarta multipart parser allowing remote execution of arbitrary code
  • further vulnerability notification was issued in 2018
  • stress framework flow was fixed on March 6 2017
  • in may of 2017 two months after the patch was released a web app vulnerability in struts led to the Equifax suffering a data breach that exposed the sensitive information of 143 million
  • The biggest question was why didn’t Equifax patch the vulnerability
    - some possible answers could be that the patch was too complicated or labor intensive due to the fact that websites depended on hundreds of applications that relied on struts the vulnerability was a complicated and labor intensive process and would not have been worth it at the time
36
Q

Designing and Writing Software

A
  • Functional requirements describe a finite task or process within the system
    - directly traceable to specific elements in the final system design and construction
    - an example would be the restaurant serving burgers pizzas and salads and offered dining takeouts and delivery
    - Users create accounts search for movies stream or download videos
  • non functional requirements identify broad characteristics of the system such as issue prescriptions with no more then 1 error in 1000 prescribed
    - the restaurant serves food within 10 minutes and maintain the clean environment ensuring seats for 100 customers
    - videos buffering less than two seconds
    - data encrypted during transmission
    - working on mobile desktops or TV compatibility
37
Q

Source versus executable code

A
  • source code is a set of standards written in human readable form are implementation of given design it consists of words numbers operational symbols such as algebraic operators punctuation marks
  • executable code is the binary representation of machine language instruction
  • intermediate code is a form expressing a program required function that is somewhere between human readable and a binary set of values
  • Arbitrary code means that the attacker can fool the CPU it’s executing a different set of instructions than the designers and builders of the system being attacked and tended
38
Q

procedural versus object oriented concepts

A
  • Procedures are executable
    - can be nested
    - can you start running independently of each other
    - encapsulate data knowledge logic and step by step procedures
    - can you use a variety of input conditions to perform a variety of business functions
  • they illustrate the two different ways that people think
    - step by step sequence of tasks
    - packages or bundles of ideas steps data logic and so on
  • procedural program emphasizes the logical sequence of flow of steps to be performed
  • object oriented defines the object to be a set of software that offers one or more methods internal to the object
  • Both procedural and object oriented approaches provide ways to deal with management of complex sets of software
    - (C) code reuse
    - (A) adding or changing functionality
    - (R) refactoring
    - (D) data modeling - should be one of the first steps in the system analysis and design regardless
    - (D) data quality standards and practices
    - (S) security practices
  • CARDDS
39
Q

programming languages

A
  • define the rules that source code can be written
  • level of abstraction speaks to how close the language is to the binary environment of the CPU
    - low level languages such as assembly languages provide more direct hardware level interaction and control for the programmer
    - high order languages allow the programmer to think and programming language in the form of the problem they’re trying to solve
  • Data type enforcement describes how well a language protects the programmer for trying to perform operations on dissimilar types of data
  • data protection or data hiding restricts or prevents 1 software unit from reading and altering the private data of another
  • call protection or logic hiding prevents 1 software unit from reading or altering the source
40
Q

Object oriented technology and programming

A
  • characteristics of most object oriented languages
    - encapsulation – defines only the data that it needs to be concerned with
    - inheritance - Allowing subclasses to inherent security
    - polymorphism - allowing an object to take many forms on how it is used
     for example an object called customer can be defined to contain a variety of information such as names addresses points of contact and so on
    - different data types
41
Q

Polyinstantiation

A
  • can’t prevent inference possibilities by creating a new version of object using the same identifier key
  • can prevent users or processes that are lower classification level from knowing the existence of higher classification levels
  • Example would be data at 3 levels of classification and at each level of classification a different portion of the information is blocked out based off of what you can see
    - A database stores a file with the name “TopSecretProject.doc.”
    - A user with top-secret clearance sees: “TopSecretProject.doc - Critical Research.”
    - A user with confidential clearance sees: “TopSecretProject.doc - General Research.”
    - A user with public access sees: “TopSecretProject.doc - No additional details.”
42
Q

Object oriented security

A
  • provides encapsulation for the code and private data within the object
43
Q

Distributed object oriented systems

A
  • Distributed computing allows the sharing of resources
  • distributed architecture allows applications to be divided into logical objects called components & each component can exist in different areas
  • examples would include
    - common object request broker architecture
    - Java remote method invocation
    - Sun’s Jakarta enterprise beans
    - Distributed common object model
44
Q

Common object request broker architecture (COBRA)

A
  • Standards that addresses the need for interoperability between hardware and software products residing on different machines across the network
  • allows us to communicate with one another regardless of where they may be stored
  • the ORB handles all the requests in the system but can only enforce security policies and rules
  • supports four specific types of policies
    - (A) access control
    - (A) auditing
    - (N) nonrepudiation
    - (D) data protection
    - AAND
  • Communications over random build applications
    - an example would be if my homie was using a Android I’m using an iPhone and my other friend is on the windows laptop but we’re all able to talk
45
Q

Buffer Overflow

A
  • Exist when the buffer is subjected to more data than it was designed to handle
  • Malformed input attacks - take advantage of design errors and software by providing inconsistent data inputs to induce the app to malfunction in some way
    - if someone is attempting to pull out $10,000 from the bank but only has $9000 in the bank the attempt to pull out 10,000 shouldn’t cause the app to crash
  • defensive programming - is the style of program design and coding that translates the business logic about acceptable and harmful input into code which allows processing of the acceptable with safe blocks attempts to input harmful inputs
46
Q

Covert channels

A
  • defined as communication pathways between two or more processes that transfer information in ways that violate policy or security requirements
  • created in two ways
    - wittingly by the cooperative with the design of the two processes to create use and manage the covert channel
    - unwittingly by the hostile process exploiting unrecognized bolgers of information resources or other characteristics by the system by facilitating this surreptitious passing of information
47
Q

Types of Covert Channels

A
  • Covert storage channels involved the direct or indirect use of storage locations by one process or a direct or indirect use of these same storage location by another process
  • Covert Timing Channels - operate by changing the timing of the behavior of a system resource or element in a way that can be used to pass information to an observing process
48
Q

Time of check versus time of use

A
  • common attack type that occurs when control information changed between the time the system security function checks the content and the time the variables are used during operations
  • an example would be if a user is deleted from a database but they haven’t logged off the account still has access to the system and as far as the system is concerned it still has privileges that the now unauthorized user could exploit
49
Q

Between-the-lines Attack

A
  • Known as race conditions
50
Q

Threats to Database and data warehouse architecture

A
  • aggregation and interference - the ability to combine nonsensitive data from separate sources to create sensitive information
  • bypass attacks
  • compromising database views for access control
  • exploits against alternative but not quite equivalent access routes
  • data contamination
  • deadlocking
  • Dos
  • improper modification of information
  • interception of data
  • query attacks
  • physical or direct logical access to the server
  • time check time of use attacks
51
Q

Database management architecture

A
  • DBMS engine provides the interface to the host operating systems for all system services and provides the client facing command interface
52
Q

database model

A
  • database models describe the relationship between the data entity when did the database and provides a framework for organizing the data
  • at a minimum
    - transaction persistence
    - fault tolerance and recovery
    - sharing by multiple users
    - security controls
53
Q

Hierarchical Database management model

A
  • Oldest of the database models and dates to the information management system
  • storage data in a series of records that have field values attached
54
Q

network database management model

A
  • represents data in the form of a network of records and sets that are related to each other forming a network of linkages
  • Also known as CODASYL
  • Allow business functions to run more efficiently than relational database management systems
  • improvement over the hierarchical database model but not as flexible as a relational model
55
Q

Relational database management model

A
  • allows data to be structured in a series of tables that have columns representing variables in rows that contain specific instances of data
56
Q

object oriented database model

A
  • objects are a collection of public and private data elements and the set of operations can be executed on the data elements
  • does not necessarily require high level language such as SQL since these functions can be performed on a given type of data element
57
Q

Structured query language

A
  • Three main language concepts reflecting its roots in relational database model
    - data definition language (DDL) - use by admins to create database tables views and keys specifying the links between tables
    - data manipulation language (DML) - use to query and extract data insert new records delete all records update existing records
    - data control language (DCL) - used to establish and control access to data
58
Q

Open database connectivity (OBDC)

A
  • dominant means a standardized data access
  • developed by Microsoft
  • provides the connection between application and databases without using specific database commands and features
  • does not use HTTP and its limited set of verbs to establish Jews maintain and tear down the connection
  • can be linked between any DBMS with minimum code changes
  • security concerns are as follows
    - the username and password for the database is stored in plain text
    - the return date is set in cleartext
    - calling applications may attempt to combine data from multiple data sources
59
Q

Object linking and embedding database

A
  • Microsoft technology that allows objects like Microsoft Excel files to be embedded or linked inside of other objects like Microsoft Word
  • the component object model is the protocol that allows it to work properly
60
Q

Active X data objects

A
  • Microsoft high level interface for all kinds of data
  • simplify the development of OL DB by using ADO
  • concerned because there are no configurable restrictions on this access to underlying systems
61
Q

online analytical processing OLAP

A
  • gives you the ability to formulate queries and based on the outcome of the query defined further queries
  • for example a retail chain can have several locations that locally capture product information sales if management decided to review data on a specific promotional item without a data warehouse there would be no easy method for capturing sales however a data warehouse could effectively combine the data from each store into one central repository this central repository can be analyzed to provide all kinds of menu for data that should drive business decisions
62
Q

knowledge discovery and databases

A
  • mathematical statistical and virtualization method of identifying valid and useful patterns to data to derive meaningful information
63
Q

Different types of viruses

A
  • file infectors
  • boot sector infectors - attempt to replace the master boot record
  • companion virus - creates a copy with the different file extension in the same directory sometimes called the spawning virus
  • multipartite indicates the ability to infect a boot sector and the program file