Midterm Flashcards

1
Q

Access Control Policies

A
  • Discretionary Access Control
  • Mandatory Access Control
  • Role based (RBAC)
  • Attribute based (ABAC)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Example of DAC

A

Unix file mode (read, write, execute)

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

Subject

A

an entity capable of accessing objects

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

Object

A

a resource to which access is controlled

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

MAC

A

Access is granted based on comparing subject security clearances to security labels on objects

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

DAC

A

Allows user to access a resource as well as by own volition enable another entity to access the same resource

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

Access Control Matrix

A

Objects vs Subjects (each box contains permissions like own, read, write, etc…)

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

RBAC

A

Access is granted based on what roles users have inside the system and what permissions those roles carry

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

ABAC

A

Controls access based on user attributes, resource to be accessed, and environmental conditions

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

Permitted Set

A

Limiting superset of a thread’s effective capabilities (capabilities a thread MAY assume)

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

Inheritable Set

A

Set of capabilities preserved across an execve

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

Effective Set

A

This is the set of capabilities used by the kernel to perform permission checks for the thread.

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

Weird machine

A

Computational artifact where additional code execution can happen outside the specification of the program

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

Three malware propagation techniques

A
  1. Infection of an existing executable or interpreted content by viruses
  2. exploit of software vulnerabilities either locally or over a network by worms or drive-by-downloads
  3. social engineering attacks that convince users to bypass security mechanisms to install trojans or respond to phishing attacks.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Virus

A

Malware that tries to replicate itself into other executable code

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

Worms

A

Independent program that propagates itself onto hosts through a network

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

Trojan Horse

A

A program that appears to have a useful function, but has a hidden malicious function

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

Bots

A

malware that subverts the computational and network resources of the infected system for the use of the attacker

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

Spyware

A

General monitoring of a system to gain useful knowledge

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

Rootkits

A

Set of programs installed on a system to maintain covert access to system with root privileges, while hiding evidence of its presence

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

Non executable memory

A

Marks memory regions as non-executable

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

Return to LibC Attack

A

Inserting an existing binary’s address into the return address (don’t need to inject own code)

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

Reverse engineering

A

Reverse engineering is the process of extracting the knowledge or design blueprints
from anything man-made

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

White box analysis

A

Looking at source code for vulnerability or algorithm details

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Grey box analysis
Looking at low-level implementation with inferred abstractions
26
Black box analysis
Using only input and output relations, make conclusion about how system behaves
27
Static analysis
Looking at the code without executing program
28
Dynamic analysis
Looking at what code does by stepping through its execution
29
Static analysis example
Sign analysis to check for division by zero (among others)
30
Dynamic analysis example
Assertions to check for conditions that halt execution if not met
31
Economy of Mechanism
Security mechanisms should be as simple as possible
32
Fail-safe defaults
Base access decisions based on permission rather than exclusion
33
Complete mediation
Every access to every object must be checked for authority
34
Open Design
The design should not be a secret
35
Separation of Privilege
Divide a program into parts that are given necessary privileges only when needed
36
Least privilege
Give user least privileges necessary to do the job
37
Least Common Mechanism
Minimize the amount of mechanism common to more than one user and depended on by all users
38
Psychological Acceptability
It is essential that the human interface be designed for ease of use, so that users routinely and automatically apply the protection mechanisms correctly.
39
Least Astonishment
Users should not be astonished at the way a feature behaves
40
Security Implementation Strategy
1. Identify 2. Prevent 3. Detect 4. Respond 5. Recover
41
Why were setuid and setgid deemed necessary?
To allow users to execute files with temporarily elevated rights.
42
How to find set-uid programs
$ find /usr/bin /usr/lib -perm /4000 -user root
43
How is Malware classified?
1) Propagation method | 2) Payload type
44
Why was Slammer's propagation so fast?
It used UDP (no handshakes)
45
Anomaly-based Intrusion Detection
Detects both network and computer intrusions and misuse by monitoring system activity and classifying it as either normal or anomalous
46
Signature-based Intrusion Detection
Scans files for known malware "signatures" (most anti-virus today)
47
Advantages of Anomaly-based Intrusion Detection
Good for unknown attacks
48
Advantages of Signature-Based Intrusion Detection
- Few false positives | - Model construction
49
Disadvantages of Anomaly-based Intrusion Detection
- Higher false positives | - Model construction
50
Disadvantages of Signature-Based Intrusion Detection
- Hard to defend against unknown attacks | - Polymorphic attacks
51
Intrusion Detection Approaches
- Host-based - Network-based - Hybrid
52
Host-based IDS
- OS Audits - Program execution monitoring - Memory evaluation
53
Network-based IDS
- Deploy strategic network sensors - Inspect network traffic - Monitor user activities
54
Confidentiality
Preserving authorized restrictions on information access and disclosure
55
Integrity
Guard against improper data modification
56
Availability
Ensuring timely, reliable access to information
57
Bug
A flaw in code
58
Vulnerability
Exploitable bug
59
Exposure
Bug that reveals info that can then be used to penetrate system
60
Threat
Potential security harm
61
Exploit
A threat that uses a vulnerability/exposure to violate system security
62
Security Implementation: Identify
Develop institutional understanding to manage cybersecurity risk to systems, assets, data, etc...
63
What data is stored in the iNode?
All data about a file except name and and actual data (owner, permissions, size, date, etc...)
64
Common characteristic of memory corruption exploits
Inserting crafted address into EIP
65
Main bug allowing memory corruption exploits
No range checking on inputs
66
Stack Guard
Inserts canaries to verify integrity
67
Data Execution Prevention (DEP)
Kernel enforces that no data can be executed as code
68
ASLR stands for
Address Space Layout Randomization
69
What does ASLR do?
Randomly re-arranges address space positions of key process data regions
70
ASLR Entropy
19 bits
71
How to execute a return-to-libc
1. Overwrite return addr to "system()" 2. Overwrite next 4-bytes with "exit()" 3. Overwrite next 4-bytes with "/bin/sh"
72
4 authentication methods:
Something a user: 1) Knows 2) Has 3) Is 4) Does
73
2-Step Verification is an example of
Have
74
In Linux, user account data is stored in
/etc/passwd
75
In Linux, hashed passwords are stored in
/etc/shadow
76
2^10
1024
77
2^20
1M
78
2^30
1B
79
Rainbow Table
Precomputes H(Dictionary) to speed up comparisons
80
How to defeat rainbow table attack
Use a salt
81
What's in the shadow file
UserID :: Password(alg, salt, hash) :: other shit