Midterm Flashcards
Threat
Potential dangers to a system’s security
Exploit
Method of attack to cause harm to a system
Vulnerability
Weakness in a system that can be exploited
Controls
Measures implemented to mitigate risks
Motives
Why they do it, money, power, control, fame, etc.
Arms Races
Constant battle between attackers and defenders in the cybersecurity realm. Attackers develop new methods to breach security, defenders respond with countermeasures.
Chicken/Egg
Which should come first; implementing security measures or responding to security threats.
You can’t trust software because its pretty hard to make every single component yourself.
Existence of Absolutes
In computer security nothing is absolute. Vulnerabilities can exist even in the most secure systems, and attackers continuously find new ways to exploit them.
Confidentiality
Ensures that data is only accessible to to authorized users
Integrity
Ensures that data is accurate and unaltered
Availability
Ensures that data is accessible any time when needed
The Three Goals of Cybersecurity
Confidentiality, integrity, and availability
Confidentiality Examples
Encryption, authentication(passwords, biometrics), NDA policy
Integrity Examples
Offline backups, blockchain, digital signatures, hashing
Availability Examples
load balancing, backups, hot sites
SetUid Model
Allows users to execute a program with the permissions of the program’s owner. Useful for programs/tasks that change password or file accesses, without needing to grant them full administrative access.
Purpose of Bounds Checking
Ensures that data stays within the boundaries of allocated memory
Arrays
More efficient but have fixed sizes. This makes them vulnerable to buffer overflows, off by ones, etc. Lack of runtime bounds checking in some languages. So they can be exploited to read data outside the array’s memory.
Dynamic Memory
Some bounds checking done as part of the allocation process. Pointers unlikely to point at anything ripe to change.
Inheritance
Can propagate vulnerabilities from parent classes to child classes if not properly managed.
Security Through Obscurity
Security by means of hiding implementation details. Flawed way of thinking. Bad actors always have the time and drive.