CS 111

Scribe Notes for 5/31/12

By Emily Kim

Media Faults

When disk, SSD, etc. fails, we want reliable crashes

1.       Hard disk – lose the performance benefits of SSD

2.       Backup battery – have to deal with maintaining the battery and switching it out when it dies

 

RAID: Redundant Array of Independent Disks

Types of RAID

¡¤         RAID 0

o   Concatenation – connects several small disks to create a large disk

o   Striping – splitting a block of data between disks to increase throughput

                   

                    

http://www.cs.ucla.edu/classes/spring10/cs111/scribe/16a/RAID0.PNG

 

¡¤         RAID 1

o   Mirroring – copy of the same data on two different disks

¡×  Slower writes, but faster reads

 

http://www.cs.ucla.edu/classes/spring10/cs111/scribe/16a/RAID1.PNG

 

¡¤         RAID 4

o   Easy to add disk (All 0's for new disk; no need to recalculate parity drive)

o   Data blocks in parity disks are calculated by using exclusive or on the data blocks from the data disks

¡×  F=A^B^C^D^E

¡×  If block B is lost, B=A^C^D^E^(F)

 

http://www.cs.ucla.edu/classes/spring10/cs111/scribe/16a/RAID4.PNG

¡¤         RAID 5

o   Identical to RAID 4 except uses striping for the parity disk

¡×  Prevents the parity disk from becoming a hotspot

o   More difficult to add more disks

 

What's the disk failure rate?

http://www.cs.ucla.edu/classes/spring10/cs111/scribe/16a/disk_failure_rate.PNG

 

            http://www.cs.ucla.edu/classes/spring10/cs111/scribe/16a/afrraid4.PNG

 

MTTR on RAID 4 (mean Time to Repair)

1.       Notification

2.       Replacement

3.       Copying data over to replaced disk (SLOW!!)

 

NFS Security

What can go wrong?

¡¤         Mimics Linux behaviors

o   Process 1: fd = open(¡°/tmp/foo¡±, O_RDONLY)

Process 2: chmod(¡°/tmp/foo¡±, 0000)

o   Process 2 wants to make the file ¡°foo¡± inaccessible, but since Process 1 already has the file open, it will still be able to read from that file

¡¤         Since the NFS server is stateless, the client kernel is trusted to do permission checking

o   Allows bad kernels to masquerade as good users

 

How do we defend against these security problems?

¡¤         Physical protection

¡¤         Virtual Private Networks (VPNs)

¡¤         Individual Authentication

 

Security

Main Form of Attacks

¡¤         Privacy – unauthorized data release

¡¤         Integrity – Tampering with data

¡¤         Service – Denial of service

 

You want a system that:

1.       Disallows unauthorized access

2.       Allows authorized access

 

Threat Modeling

¡¤         Insiders – attack by getting inside the system

¡¤         Social Engineering – attack by pretending to be an insider

¡¤         Network Attacks – e.g. denial of service, viruses, drive by downloads, phishing

¡¤         Device attacks – e.g. USB viruses

 

General Functions Used for Defense

¡¤         Authentication (e.g. passwords, RSA keys)

¡¤         Integrity (e.g. timestamps, checksums)

¡¤         Authorization (e.g. access control lists)

¡¤         Auditing (e.g. logs)

¡¤         Efficiency

¡¤         Correctness

¡¤         Monitoring/Maintenance (for all of the above)