This material was developed with funding from the
National Science Foundation under Grant # DUE 1601612
		Cybersecurity Principles
		
		Restart
		Next
		Back
		Usability
		Minimization
Principles
		Authorization
Principles
		Open
Design
		Good Design
Principles
		Trust
Relationships
		Introduction
		Bob is a software developer. His ultimate goal is to create a design that does the task intended, is efficient, effective and usable. Bob uses security design principles to help him achieve the main tenets of information security—confidentiality, integrity, and availability of the system, sub-system, and system data.
		Open Design
		Least Astonishment
(Psychological Acceptability)
		Minimization Principles
		Quiz
		Usability
		Minimize Trust Surface
(Reluctance to Trust)
		Good Design Principles
		Trust Relationships
		Authorization Principles
		Bob will subdivide a system into smaller parts or modules that can be independently created and then used in several systems. The development of security functions as separate, protected modules.
		Modularity
		Trust Boundaries
		Simplicity of Design
		Layering
		Simplicity of Design
(Economy of Mechanism)
		When Bob designs a security measure, it should be as simple and small as possible.
		Data
		Perimeter
		Bob will use multiple, overlapping protection approaches to address the people, technology, and operational aspects of information systems. Defense in depth protects with a series of security mechanisms so that if one fails, others will be in place.
		Network
		Policies,
Procedures & Awareness
		Physical
		Host
		App
		Layering
(Defense in Depth)
		Separation
		Users in a child domain cannot see or manage records in a parent domain.
		Domain B: Database Chicago
		Bob
		Domain C: Database Houston
		Carol
		Bob uses a practice in which multiple privilege attributes are required to achieve access to a restricted resource. Data and/or systems are separated into logically-defined domains, and communication between domains must be authorized.
		David
		Earl
		Alice
		Domain D: Database Dallas
		Users in Domain A, the parent domain can
see and manage records in Domain B, C, and D (the child domains)
		Least Privilege
		Fail Safe Defaults/Fail Secure
		Complete Mediation
		Access
Allowed
		Bob must check every access against the access control setting to ensure that access is allowed.
		Accounting
Role
		Directory
		General Employee Role
		Sales Role
		Email
		UNIX
		IT Role
		Salesforce
		Mainframe
		Bob will ensure that every process and every user of the system should operate using the least set of privileges necessary to perform the task.
		Corporate
Network
		Payroll
		Customer
Database
		Password
		So the username is correct!
		Bob will make access decisions based on permission rather than exclusion. If a hacker enters the wrong information, the system should reject the attempt with a message stating that the login failed and not state that just the password was incorrect.
		Fail Safe Defaults/
Fail Secure
		Username
		Encapsulation
		Isolation
		Methods
		Class
		Variables
		Bob can use a specific form of isolation based on object-oriented functionality. Encapsulation hides the values or state of a structured data object inside a class (a domain of its own), preventing any direct access by unauthorized parties.
		Encapsulation
		Bob wants to make sure that his users can easily use and quickly learn a tool, device, or software.
		Alice’s
Public Key
		Alice’s
Private Key
		Original Plaintext
		Bob knows that the design of a security mechanism should be open and not depend on the secrecy of the design details or implementation. 
For example, RSA is an asymmetric encryption algorithm based on the principle that it is easy to multiply large numbers, but factoring large numbers is difficult. The public key consists of two numbers. One number is the result of multiplying two large prime numbers. The private key is derived from the same two prime numbers. The difficulty in factoring large numbers is what keeps the key pair secure.
		Open Design
		RSA Decipher
		Ciphertext
		RSA Encipher
		Bob realizes that a program or user interface should always respond in the way that is least likely to astonish the user. When Microsoft removed the Start button from its operating system, Microsoft released an updated version adding the Start button back.
		No start button
		Least Astonishment
(Psychological Acceptability)
		Database Server
		Trust Boundary
		Email Server
		Bob must maintain a Trust Boundary. The issues in establishing trust include the following:Authenticating the other endpoint to prevent masqueradingEnsuring the security of the communication to maintain the confidentiality of the dataPreventing data tampering to maintain the integrity of the data
		Trust Relationships
		Web Server
		Application Server
		Trust must be created, not assumed. There should be clear distinctions between privilege levels when Bob accesses resources. If Bob logs in and is authenticated, he must also have authorization to access a resource.
		Access Granted
		The design does not depend on the secrecy of the design details
		The user interface responds as expected
		Quiz 1 of 10
		
		Software that users learn quickly and is easy to use
		Element
with Audio
HTML
		Least Astonishment
		Minimize Trust Surface
		Great Job!
		Boundaries exist to prevent masquerading and to maintain confidentiality and integrity
		Drag each term to its appropriate description.
		Clear distinctions between privilege levels exist (i.e., authentication AND authorization)
		LAN
		DMZ
		Isolation
		Bob knows that public access systems should be isolated from critical resources (data, processes, etc.) to prevent disclosure or tampering.
Operating systems use various hardware and software technologies to enforce process isolation.  For example, the processes and files of individual users should be isolated from one another except where it is explicitly desired.
		multiple privilege attributes are required to achieve access to a restricted resource
		Fail Safe Defaults
		Protection is provided by having a collection of procedures in a domain of its own
		access decisions based on permission rather than exclusion
		every access is checked against the access control setting to ensure that access is allowed
		Quiz 2 of 10
		privileges granted to perform the required task
		Quiz 3 of 10
		What design principle is illustrated?
		Simplicity of design
		That’s correct!
A system should be subdivided into smaller parts that can be independently created and then used in several systems.
		Close 
		That’s correct!
		Quiz 4 of 10
		Least privilege
		Psychological Acceptability
		Bob works at a small company. When he enters the building, he has access to all rooms. Which principles of security is the company violating with this practice?
Select all possible answers.
		Complete mediation
		Fail Secure
		Quiz 5 of 10
		What design principle does the lock pictured above violate?
		Quiz 6 of 10
		Bob designed an administrative interface that grants access to production management networks, checks for administrative user authorization, and logs all access. Which of the following best describe the security principle that Bob has employed?
		Defense in depth
		“The security of a mechanism should not depend on the secrecy of its design or implementation” describes which of the following principles?
		Quiz 7 of 10
		This security principle maintains confidentiality, integrity and availability by defaulting to a secure state and unless a user is given explicit access to an object, that user is denied access to that object.
		Quiz 8 of 10
		Quiz 9 of 10
		Bob is verifying that all pages and resources by default in his web application require authentication except those specifically intended to be public. What design principle does this describe?
		Drag the cybersecurity principle into its proper category.
		Quiz 10 of 10
		Trust
Boundaries