Chapter 8 Flashcards
entity that makes a request to access a resource
subject
entity a subject wants access to
resource
concept that if A trusts B and B trusts C, then A can also trust C
transitive trust
system that is designed to work well with a narrow range of other systems; standards are often proprietary and not normally disclosed
closed system
systems that are designed using agreed-upon industry standards
open systems
defined set of interactions allowed between computing elements
API - Application Programming Interface
11 secure design principles
- secure defaults
- fail securely
- keep it simple
- zero trust
- privacy by design
- trust but verify
- threat modeling
- defense in depth
- least privilege
- separation of duties
- shared responsibility
should you assume that A. default settings are the most secure or B. default settings are for easy installation and need to be hardened?
B
process where programmer codes in mechanisms to anticipate and defend against errors in order to avoid the termination of execution
exception handling
the inclusion of code that will attempt to handle errors when they arise before they can cause harm or interrupt execution
error handling
logical block statement that is used to place code that could result in an error on the “try” branch
an example of an exception handling mechanism
try..catch
3 mechanisms for avoiding or preventing errors related to user input
input sanitation
input validation
input filtering
allow a system to continue to operate after a component fails
fail-soft
human protection prioritization; when a failure occurs the product will revert to a state that protects the health and safety of people
fail-safe or fail-open
a system that prioritizes the physical security of assets of the safety of people
fail-secure or fail-close
the more complex a system, the more difficult it is to secure
KISS - Keep it Simple
eliminating redundancy in software by not repeating the same code in multiple places
DRY - Don’t Repeat Yourself
code should use the least necessary resources possible
Computing Minimalism
use the least powerful programming language that is suitable
Rule of Least Power
software quality/security does not necessarily increase with an increase in capabilities and functions
New Jersey Style (Worse is Better)
don’t add capabilities until they are actually necessary
YAGNI - You Aren’t Gonna Need It
nothing inside the organization is automatically trusted; every access request should be authenticated, authorized, and encrypted
zero trust
dividing up an internal network into numerous subzones using firewalls, subnets, or VLANS
microsegmentation
guideline to integrate privacy protections into products during the early design phase
Privacy by Design (PbD)
7 principles of PbD
- Proactive not reactive, preventative not remedial
- Privacy as the default
- Privacy embedded into design
- Full functionality
- End-to-end security
- visibility and transparency
- respect for user privacy
depends on an initial authentication process to gain access to the internal secure environment
trust but verify
allowing a process to read from and write to only certain memory locations and resources
confinement/sandboxing