Ir al contenido

Usuario:Neel.arunabh/Taller

De Wikipedia, la enciclopedia libre

Term Definition What is a path? A path is a sequence of directories used to reference a file. They can be relative or absolute.


Why do we need file systems? 1. Locate free storage space 2. Store information in a persistent way (survives process termination) 3. Allow more than one process to access the information store concurrently 4. Find information by human-accessible identifiers 5. Protect data from unauthorized use 6. Identifying types of data stored and programs that can read the data



AD

How are directories implemented? Directories can be implemented in-line or via reference -> Variable attribute/name size


Why do we mount filesystems? We mount a file system to make it accessible to programs through the operating system.


Challenges with mounting filesystem? Where will the root of the file system appear to the user?

How should different devices be presented to the user?


When accessing a file system on a device, we need to know? boot block, Filesystem type/organization (super block), and where the root directory is


What is in the filesystem superblock? The file system superblock holds information about its type, format, and organization


What happens when you make a mounting call in Unix Copies the Superblock from the disk being mounted to the superblock table in main memory.

Sets pointers in the directory inode to FS mounted


What are the approaches to file allocation? 1. Contiguous allocation (all-in-a-row) 2. Linked list allocation (block) 3. Chained table allocation (FAT) 4. Indexed allocation (index nodes) 5. Chained indexed allocation (index + linked list) 6. Multi-level indexed allocation (tree structure)


Hardware is an abstraction that provides two main operations 1. Read block at index "k" 2. Write block at index "k" 3. Allocate and Deallocate


Contiguous allocation DEFINITION: A file's contents are stored purely in order on the drive CONS: suffers from external fragmentation, because it is a contiguous approach to system memory


Linked List Allocation DEFINITION: Each block holds a pointer to the next. Requires iteration through drive blocks (drive accesses) for random access CONS: Problematic in large files; App has to iterate through each node.



AD

Chained Table Allocation DEFINITION: Chain store the linked list as a table in memory to minimize disk access. It is called a File Allocation Table (FAT)


Indexed Allocation DEFINITION: Indexed allocation stores locations of each block in an index block referenced by the file control block CONS: A pure index system limits file size


Multi-level Indexed Allocation Use direct and indirect blocks to increase maximum file size


Chained Indexed Allocation Direct blocks with an additional indirect pointer


What are Inodes? 1. Index Nodes 2. Store file block information, along with some block pointers - but are usually smaller (128B or 256B


(T/F) Does a bigger block size have a better data rate? True


(T/F) Does a bigger block size have a good disk space utilization? False


What happens with a worse disk space utilization? Internal Fragmentation


(T/F) Does a smaller block size have a better data rate? False, lower data rate


(T/F) Does a smaller block size have a good disk space utilization? True



AD

MS-DOS File System 1. Maximum partition size for different block sizes. 2. The empty boxes represent forbidden combinations.


How do you keep track of a free block? (a) Storing the free list on a linked list (b) A bitmap


What is the file control block (FCB)? Where the attributes and location information of a file are stored. It is often distributed across the file system, meaning that they are within directories or reachable from them


Common file attributes in an FCB Owner, group, permissions, length, file type, read-lock, write-lock, date created, date modified, data accessed


True or False: In the process of creating a file, a link to the directory is created True


True of False: a deletion involves the unlinking of a file to a directory True


What is a file's link count? A counter that tracks the number of links to that file


A file's link count is __________ when a file is opened to prevent deletion mid-operation. incremented


True or False: In Linux, a file can be added to (shared by) exactly one directory via a file system link False: It can be added to more than one directory


Hard link vs soft link A hard link holds the reference to the inode of the target file (only within same file system). A soft link holds the path of the target file (may span file systems, but can suffer from link rot, which is when a file is moved and the soft link becomes invalid).



AD

What are the two types of links? Regular (hard) and symbolic (soft)


When can linking/unlinking fail? Sometimes linking/unlinking can fail due to permissions, existence, and other issues (space)


When is a file considered deleted? When its link count reaches 0


What is a file directory? A directory/folder is a special file type that holds (part of) the File Control Block about other files. A directory file is usually marked as such via an attribute in the FCB for the file


Layouts of directories Single shared directory, one directory per user, freeform/nested


What is random access? Data can be accessed in any order, and the data cursor can be moved via seek operation. Examples include HDD, SSD, Floppy)


What is sequential access? Bytes must be accessed in linear order. Some, but not all, media can rewind. Examples include tapes and pipes.


What are the two ways files can be accessed? Sequentially and random access


Methods for determining file type Extension, magic numbers (file signature), file attributes (metadata), look at file contents


What is a file? Storage that is logically named and persistent



AD

Main types of file directories FAT, VFAT, UNIX, ISO9660


What are the main categories of I/O Devices? 1) Block Devices (entire blocks; addressable (e.g. SSD)) 2) Character Devices (individual bytes; not addressable; can be one-way)


What are the types of I/O Handling Strategies? 1) Memory Mapped Input Output (MMIO) 2) Port Mapped (PMIO) 3) Direct Memory Access (DMA) 4) Dedicated Channels


Programmed I/O requires action on the part of the ___ to store and fetch from devices CPU


Human interfaces began life as _________________ Terminals


T/F: each key on a keyboard has two scan codes True


What is the difference between ASCII and Unicode? ASCII represents lower/uppercase letters, digits 0-9, and special characters. Unicode covers a larger range of characters (Greek symbols, Arabic characters, etc.)


What information is sent as mouse input Events (buttons, movement, overflow), X movement, Y movement


Types of touchscreen input 1) Resistive - measures resistance via plastic (bendable) surface 2) Capacitive - measures capacitance across glass (rigid) surface


What are the type of programmed IO? 1. Polling 2. Interrupts



AD

What is polling? Determines when a device is ready to read/write


How is a DMA (Co-processor IO) efficient? We don't need to directly handle IO, the controller does it


RAID 5 Block level striping with a distributed parity. Requires at least 3 disks. Pros: Read transactions are fast, disk failure tolerance Cons: Write transactions are improved but still low


RAID 6 Block level striping with two parity blocks allows two disk failures before any data is lost. AKA block level striping with two parity disks distributed across all member disks

Summary: Pros: High fault tolerance, storage efficiency, fast reads. Cons: Slow rebuild time (up to 24 hours)


Steps to remove a file in UNIX 1. Remove file entry from its directory entry (FCB) 2. Release the inode to the pool of free inodes 3. Return all disk blocks to free disk blocks


Journaling File Systems Write all metadata changes to a transaction log before sending any changes to disk. For any operations, the log entry is first written with the intentions, then the operations are done, and then the entry is removed. In the case of a crash, the log entry is read.


Qualities of Transmission Control Protocol (TCP) Connection oriented, lost data is re-transmitted, data is delivered in order, data is delivered as a stream, CONTROLS DATA FLOW TO MAXIMIZE EFFICIENCY


True or False: In TCP, each peer tells its counterpart how many bytes it's willing to accept (advertised window). True


True or False: In TCP, the advertised window is usually the amount of room currently available in the send buffer. False; the advertised window is usually the amount of room currently available in the RECEIVE buffer. This keeps the sender from overwhelming the receiver.


True or False: In TCP, the advertised window is constant. False; the window changes size dynamically. As data is received from the sender, the window size decreases, and as the receiver reads data from the buffer, the window size increases.


True or False: In TCP the send window is the same size as the receive window of the receiver. True


What are the two basic sections of the TCP send window? 1. Bytes that have been sent but not acknowledged 2. Bytes that can be sent (are ready or empty)


True or False: The received window moves when bytes are acknowledged (TCP) True


True or false: In TCP, when a new send window size is received from the counterpart, the send window is resized to the new window to prevent overwhelming the receiver True


What are the three steps of handling receives in TCP streams? 1. Receive the packet header 2. Receive the message's data element 3. Parse the message


RAID 4 Block-level striping with dedicated parity. Provides good performance of random reads. Random writes is low due to need to write all parity data to a single disk. AKA block level stripping with parity disk

Summary: Pros: good performance of random reads + parity. Cons: Random writes is low


RAID 3 Byte-level striping with dedicated parity. Rarely used. Generally CANNOT service multiple requests simultaneously (any single block of data is spread across all members of the set). Suitable for applications that demand the highest transfer rates in long sequential reads and writes. AKA byte level stripping with parity disk

Summary: Pros: Parity provides safety. Cons: Not practical


RAID 2 Stripes data at the bit (rather than block) level. The magnetic disks are synchronized by the controller to spin at the same angular orientation. Very HIGH TRANSFER RATES. Rarely used in practice. AKA bit stripping

Summary: Pros: High transfer rates. Cons: Not practical


Raid 0 Splits your files into blocks and scatters them across your physical storage units. It increases the overall performance (read and write speeds) due to a higher cumulative THROUGHPUT of all the storage units. Offers NO DATA REDUNDANCY and thus has no effect on data security. AKA data striping

Summary: Pros: high performance. Cons: No extra data security


RAID 1 Mirrors data between two drives withing the RAID. When data is written to one drive, it is automatically replicated in the other drive. Primary function is to provide DATA REDUNDANCY. AKA data mirroring

Summary: Pros: disk failure tolerance. Cons: Higher storage costs


What does the OS provide? 1. Buffering 2. Error reporting 3. Allocating devices 4. Uniform driver target


Why do we need a buffer in the kernel space? Having a buffer is a protection mechanism


What are the OSI Layers in order? (Bottom is on the top) 1. Physical Layer 2. Data Link Layer 3. Network Layer 4. Transport Layer 5. Session Layer 6. Presentation Layer 7. Application Layer


What does the Application Layer of OSI do? Provides the user interface


What does the Presentation Layer of OSI do? Format data (compression, encryption)


What does the Session Layer of OSI do? Opens/closes sessions between applications


What does the Transport Layer of OSI do? Transfers data reliably or unreliably. Reliable transfers involves a connection


What does the Network Layer of OSI do? Addresses packets and routes them to provide end-to-end communication [PACKET]


What does the Data Link Layer of OSI do? Packet framing. Hardware addressing (MAC) [FRAME]


What is MAC? Media Access Control address (uniquely identifies a device)


What are the layers of IP in order? (Bottom is on the top) 1. Access Layer 2. Network Layer 3. Transport Layer 4. Application Layer


What is involved in the Application Layer of IP? Application protocols


What are some examples of IP application protocols? FTP, TFTP, HTTP, SMTP, POP, Game protocols


What is involved in the transport layer of IP? TCP (Transmission Control Protocol), UDP (User Datagram Protocol)


What is is involved in the network layer of IP? IPv4, IPv6


What is the access IP layer? Ethernet and electrical connections to transmission medium


What IP layer is assisted by the OS? Application layer


What IP layers are completely handled by the OS? Access, Network, and Transport layer


What is a socket? Is one endpoint of a two-way communication link between two programs running on the network


Why are sockets important? Provides a means of inter-process communication (IPC) by establishing named contact points between which the communication takes place


What makes up a network system in IP? 1. Network interface 2. Network driver 3. Protocol stack TCP/IP


(T/F) Is IP a packet switching network protocol? True


(Y/N) Is the data sent to the network more than just your data? Yes


What are the 2 number formats that processors use? Big-Endian and Little Endian


What is Network byte order? How bytes are sent to a network (Big-Endian)


(T/F) Most processors use little-endian? True


(T/F) Can IPv6 store more addresses than IPv4? True


What is the bit-number of IPv4? 32


What is the bit-number of IPv6? 128


What are the 3 types of delivery mechanism for IP? 1. Unicast - single destination 2. Multicast - group destination 3. Broadcast - all network hosts


Why is IP better than OSI? 1. More flexible 2. Less complicated 3. Easier to implement 4. Worked from the beginning


What does the Physical Layer of OSI do? Provides electrical connections to a transmission medium [BITS]


Benefits/Drawbacks of UDP Benefits: need only one socket, faster data transmission, sends data as a whole Drawbacks: does not ensure data is sent and received in the same order, does not establish connections before sending data, no receipt of data given, guarantee that data was sent, will not retransmit/find lost data, no mechanism to handle congestion


What are some characteristics of IP? 1. Created for ARPAnet (military research) 2. Incremental implementation and model 3. Based on loosely layered model


What are some characteristics of OSI? 1. ISO Standard 2. Model before implementation 3. Based on strictly controlled layers


Why does TCP implement flow control? It prevents network congestion (can arise from sender sending data too fast for network or receiver to keep up)


T/F: The completion of a send means the data was successfully delivered False


Components of a socket address include: transport protocol, IP Address, Port Number


A port identifies the ___________ we wish to communicate with process


How does TCP handle send and receives? - send call puts information in OS buffer and sends it - receiver side will read buffer - one receive call does not correspond to one send call


What are the two types of communication protocols? 1. Open Systems Interconnection (OSI) - Good Child

2. Internet Protocol (IP) - Bad child


(T/F) Are CLOCK_REALTIME_COARSE and CLOCK_MONOTIC_COARSE faster? True


(T/F) CLOCK_REALTIME_COARSE and CLOCK_MONOTIC_COARSE are more accurate variants of CLOCK_REALTIME and CLOCK_MONOTIC? False


What is CLOCK_MONOTIC_RAW clock? 1. Gives the same as CLOCK_MONOTIC

2. Not affected by NTP adjustments


When does a counter decrement? Each pulse


What is CLOCK_MONOTONIC clock? 1. Gives the time since a fixed starting point - usually since you booted the system

2. Affected by NTP , but can't jump backward


UDP User Datagram Protocol - Connectionless method of data transfer - data arrives out of order - best effort delivery


TCP Transmission Control Protocol - Connection-Oriented Protocol, Data is delivered in-order, lost data is retransmitted


What is CLOCK_REALTIME clock? 1. Gives the time pass passed since January 1, 1970

2. Affected by NTP adjustments


What are NTP Clocks? Network Time Protocol (NTP)

Is an internet protocol used to synchronize with computer clock time sources in a network


What are the 5 types of NTP clocks? 1. CLOCK_REALTIME 2. CLOCK_MONOTONIC 3. CLOCK_MONOTONIC_RAW 4. CLOCL_REALTIME_COARSE 5. CLOCK_MONOTONIC_COARSE


What tasks need system clocks? 1. Maintaining the time of the day 2. Preventing processes from running longer than allowed 3. Accounting for CPU usage 4. Handling alarm system call from user processes 5. Providing watchdog timers for system itself 6. Profiling, monitoring, statistics


What is RAID? Redundant arrays of independent disks; creating groups of disks that are failsafe


5 Benefits of RAID 1. Provides performance gains through parallel hardware access 2. Provide reliability through redundant storage 3. Fast recovery 4. Hot swap is possible (Hot swapping is the replacement or addition of components to a computer system without stopping, shutting down, or rebooting the system; hot plugging describes the addition of components only.) 5. Can be software or hardware based


What are interrupts? Allows the device to alert the CPU that is it ready


What is failover? Failure is a backup operational mode that automatically switches to a standby database, server or network if the primary system fails


How does mirrored storage work? Every write is duplicated (write to disk 0 and disk 1). Reads are to whichever system is least loaded. Automatic failover when disk, ES, or network fails


Some display controllers support Hardware Scrolling via _____________ ______________ Pointer Adjustment


Three main types of redundancy Backups, Hardware Redundancy (mirroring, raid), Journaling (more advanced, rare)


What are the steps of Holt graph detection? 1. Eliminate "allocation only" nodes (Remove the leaf nodes) 2. As nodes eliminated, reallocate resources 3. Detect cycles from nodes via algorithm 4. Cycles are deadlock sets


What search algorithm can detect cycles? Depth First Traversal


(T/F) Do nodes appear more than once if there are cycles? True


What are the ways we can handle deadlock after we've identified it? 1. Preemption (not often possible) 2. Rollback (yuck) 3. Killing processes (ugh)


(T/F) Deadlocks can occur whenever we wait on an event? True

1. Processes may depend on one another


(T/F) We cannot run into resource deadlock in networks? False


What is Livelock? A situation in which two or more processes continuously change their states in response to changes in the other process(es) without doing any useful work.


What can cause Livelock? Start over on failure to lock (2-phase lock)


What conditions are required for livelock? Synchronization (Bad timing)

  • View lecture for livelock example


What is the kernel role in IO? The user must pass data to (or request from) the kernel


What is starvation? When low-priority jobs never get run because there are always higher priority jobs running.


What are the conditions for starvation to occur? 1. Policy that makes starvation possible (some process always gets precedence over others) 2. Bad timing

  • Example of starvating in lecture


What is resource contention? Refers to a conflict over a shared resource between several components

CONS: Resource contention often negatively affects the performance of components competing for the resource


What is preemptible resource? Space can be open - free resource - on RAM and restore that restore without consequences


How can deadlock be modeled? Using a Holt Graph (Watch lecture to understand this better)


What is non-preemptible resource? Cannot be release miduse. Not easy to restore. May cause resource retention


What are some common strategies to handle deadlock? 1. Ignore the problem (Yes this is true lol) 2. Detect that a deadlock has happened and recover 3. Dynamic avoidance (in realtime), (expensive) 4. Structural prevention (build without allowing deadlocks)


What are the 4 REQUIRED conditions for deadlock to occur? 1. Mutual exclusion in resource use 2. Processes may hold and wait 3. There is no resource preemption 4. There is a circular wait condition


What is the strategy to prevent deadlocks in the case of mutual exclusion? Use spooling


What are some strategies to prevent deadlocks in the case of hold and wait? 1. Denying processes holding a lock from making a request 2. Requiring all requests for locks to be simultaneous 3. Use a form of multi-resource locks 4. Use a lock server (a computer program or system that provides a central, shared mechanism for managing access to resources. It allows multiple processes or threads to request and be granted exclusive access to a resource, using mechanisms such as locks or semaphores.)


What is the strategy to prevent deadlocks in the case of no preemption? Use two-phase locking, which facilitates rollback by preventing work until all locks have been acquired

First phase (growth): Get all required locks (on checkpoints: release locks upon failure to acquire)

Second phase (shrinking): If all acquired, do work; release locks as no longer needed (or all at the end)


What is the strategy to prevent deadlocks in the case of circular wait? Use careful resource organization; order all resources and require requests to be made in order (ex: a process must acquire the resource with the lower number before the one with the higher number)


True or false: in Symmetric (Secret Key) cryptology, the decryption key is the same as (or can be easily computed from) the encryption key True


True or false: In Symmetric (Secret Key) cryptology, anyone with the key can send/store/retrieve/receive encrypted data True


What are the two main cryptographic algorithms? Symmetric (Secret Key) and Asymmetric (Public Key)


True or false: In Asymmetric cryptography, the decryption key is the same as the encryption key False; they are different, and one key cannot be easily determined from the other key


In which cryptography technique, symmetric or asymmetric, can the encryption key be announced publicly? Asymmetric


What are the three classical symmetric cryptosystems? 1. Caesar cipher: shift alphabet 2. Rail fence cipher (zig-zag): Location of letters on a text that form a sentence 3. Hill cipher: matrix multiplication, inverses, etc.)


What are the two main types of modern symmetric cryptosystems? 1. DES (digital encryption system): short key length of 56 bits makes it too insecure for modern applications 2. AES (advanced encryption system): Three different key lengths: 128 bits, 192 bits, 256 bits


True or False: asymmetric cryptography allows for the anonymity of the sender True


What is signing in cryptography? Cryptographic digital signatures use public key algorithms to provide data integrity. When you sign data with a digital signature, someone else can verify the signature, and can prove that the data originated from you and was not altered after you signed it. It is often used with a cryptographic hash/


What is the difference between authentication and identification? Identification is determining who someone is, whereas authentication is verifying a claimed identity.


Given N different characters in a password and the length of the password L, how many different passwords can there be? N^L


What is a dictionary attack? It is an attack when the perpetrator uses "more likely" passwords


What is a "Joe" account? When the password is the same as the username


What is a "finger" attack? Using knowledge of the user to guess a password or PIN


What is a loose-lipped system? When the log-in process provides information about the entered credentials. Examples include informing the user whether the username or password is invalid, rejecting a login after just the name is entered.


What is a logic bomb? A logic bomb is a string of malicious code inserted intentionally into a program to cause harm when certain conditions are met.


What are three examples of insider attacks? 1. Logic bombs 2. Back doors 3. Login spoofing


What is a back door? A usually hard coded condition that allows access to a program when certain authentication information is entered.


What is login spoofing? When a scammer copies/spoofs an existing platform to trick the user into thinking its the real thing and enter sensitive information. Ex: login page on www.amazonn.com


What is keylogging? The use of a program to record every keystroke made by a computer user in order to gain fraudulent access to passwords and other confidential information. May be used for legitimate monitoring such as biometric identification.


True or False: Auditing is not considered an important component of software defense False; it is especially important for deterring insider attacks


When does deadlock occur? 1. When a process is waiting for an event (such as release) 2. Only processes in the same set can trigger the events that another process in the set is waiting on


What is an unsafe state in dynamic avoidance? In an unsafe state, some possible futures could result in deadlock even with planning.


Three assumptions of dynamic avoidance No resources fail No process needs more than available resources Any process that gets resources it needs will complete


Four common deadlock conditions 1. Mutual Exclusion 2. Hold and wait 3. No preemption 4. Circular wait


What is a safe state in Bankers algorithm? When there is a non-deadlock sequence to process completion in the worst case. We can assess this by treating the maximum as the requested.


What are the two counts that dynamic avoidance processes have? 1. Current count for each resource type in needs 2. Maximum count for each resource type it may need


What is Bankers algorithm? The banker's algorithm is a resource allocation and deadlock avoidance algorithm. It tests for safety by SIMULATING THE ALLOCATION for predetermined MAXIMUM POSSIBLE AMOUNTS of all resources. Then it makes a "safe state" check to test for possible activities, before deciding whether allocation should be allowed to continue.


What is a safe state in dynamic avoidance? In a safe state, the resources can be allocated (to guarantee deadlock avoidance)


What are the two states possible with dynamic avoidance? Safe state an unsafe state. Dynamic avoidance attempts to avoid entering unsafe states.


What are the 3 steps in resource locking session? 1. Acquisition (Lock) 2. Utilization (Use) 3. Release (Unlock)


Why should we care about security? 1. Data loss 2. Financial loss 3. Loss of competitive edge


What does the term Dox refer to? Exposure of data

GOAL: Data confidentiality


What does the term Diddle refer to? Tampering with data

GOAL: Data Integrity


What does the term Identity theft refer to? False identification

GOAL: Authentication


What does the term unmasking refer to? Exposure identity

GOAL: Anonymity


What are some tactics and motivations that adversaries use? 1. Opportunistic prying 2. Hacktivism 3. Snooping/Espionage 4. Monetary crime 5. Direct sabotage 6. Spoofing (disguising an unknown source as being from a known trusted source)


Managing risk requires? 1. Identifying what to protect and why 2. Cost/impact of security failures and efforts 3. Security policy 4. Identifying vulnerabilities before hand 5. Mitigation measures 6. Develop and implement ad plan


What are the 3 places security can be implemented in? 1. Hardware 2. Software 3. "Wetware"


(T/F) Security does not revolve around controlling access to resources? False; it does


Give some examples of security implementation in hardware. 1. BIOS passwords 2. Encryption fobs 3. Fingerprint scanners


Give some examples of security implementation in software. 1. Bootloader 2. Operating systems 3. Applications


Give some examples of security implementation in "wetware". 1. Human beings (biometrics)

CONS: Runs the risk if failing


What is Discretionary access control? 1. Owner of object has discretion / sets access rights

2. If an agent can read it, they can share it at their discretion


What is Mandatory access control? 1. Organization sets object access rights

2. Agents do not have discretion to share - object rights are inherited (groups / labels)


What is the purpose of protection domains? Determines what access is allowed (by type of access and by object)


What is Access control matrix (ACM)? Holds information about who can access what


What happens when BIBA and Bell-Lapadula models are applied together? Single-level compartments are created


What is low-privelege? -Receiver

1. Reads system clock & compares to previous reading 2. Store 1 or 0 based on CPU usage, then yield CPU


What is high-privilege? -Sender

1. Full use of CPU quantum:1 2. Quickly yield CPU time:0


What is timing channel? -Communication via processor utilization

1. High-privilege process accesses confidential information 2. Uses CPU utilization to communicate covertly


What are some examples of Covert channel? 1. Timing channel 2. High-privilege 3. Low-privilege 4. File/Resource locking (Storage channel)


(T/F) the goals of confidentiality and integrity are often at odds? True


What is a side channel attack? Typically an attack on the physical implementation of encryption or security vs the algorithm itself. Can include collecting power consumption information, radiation, CPU sunds, and loads. Having highly resilient algorithms can help mitigate side-channel attacks.


What is a covert channel attack? A covert channel is a type of attack that creates a capability to transfer information objects between processes that are not supposed to be allowed to communicate by the computer security policy


(T/F) Agents cannot share/access information while avoiding scrutiny of system monitors? False


Rules of BIBA Model? 1. Agents at security level k can write only objects at level k or lower

2. Agents at security level k can read only objects at level k or higher


What is the BIBA Integrity model? Data integrity is the accuracy, completeness, and quality of data as it's maintained over time.


How can we address the challenges of an Access control matrix (ACM)? 1. Access Control Lists (ACLs) are by object and describe domains / access

2. Capability Lists (CLs) are by domain and describe objects / access


Rules of Bell-LaPadula Model? 1. Agents at security level k can read only objects at level k or lower

2. Agents at security level k can write only objects at level k or higher


What is the Bell-LaPadula confidentiality model? Confidentiality models are used to describe what actions must be taken to ensure the confidentiality of information. These models can specify how security tools are used to achieve the desired level of confidentiality.


What are the purpose of stack canaries? Early detection


Steps to insert to a stack canary? 1. Compiler inserts random value (canary) on stack below return address 2. When source executes return, compiler inserts code to check canary value before popping stack and jumping to return address 3. If value changed, then terminate process


What are some C/C++ limitations when it comes to security? 1. Integer overflow attacks 2. Pointer attacks 3. Buffer overflow attacks


What happens with integer overflow attacks? Can cause allocation error and denial of service


How does integer overflow occur? 1. CPU works with fixed-length numbers 2. Adding or multiplying may overflow representation 3. C programs do not catch overflow, just store and use incorrect value


How is integer overflow weaponized? 1. Feed valid but large number inputs causing overflow 2. Get process to use incorrect value for malloc


What happens with pointer attacks? Code or data is injected


What are dangling pointers? Failure to free memory that has been allocated


How can dangling pointers be weaponized? Can let others add content that is "valid" that should not actually be there


(T/F) Stack canaries are not intended to make it hard to overwrite return address on stack? False


What are some challenges of Acess control matrix (ACM)? Can get very large very quickly

1. Size is domains x objects 2. Domains include users and groups 3. Worst of all - a lot of the entries are empty!


What is Role-based access control? 1. Agents are assigned hierarchical roles (inheritable)

2. Multiple roles possible


What are the 3 approaches to access control? 1. Discretionary Access Control (DAC) 2. Mandatory Access Control (MAC) 3. Role-Based Access Control (RBAC)


(T/F) Buffer overflow attacks are a longstanding/current problem? True


What does the term DOS refer to? Denial of service

GOAL: System availability


How do buffer overflow attacks happen? If attackers know the memory layout of a program, they can intentionally feed input that the buffer cannot store, and overwrite areas that hold executable code, replacing it with their own code