140 likes | 269 Views
Host and Application Security. Lesson 7: The Protection of Objects. OS: How we deal with Access. Let’s look at the security-relevant parts of the OS… which are…?. Least Privilege.
E N D
Host and Application Security Lesson 7: The Protection of Objects
OS: How we deal with Access • Let’s look at the security-relevant parts of the OS… which are…?
Least Privilege • “Least privilege: Every program and every user of the system should operate using the least set of privileges necessary to complete the job. Primarily, this principle limits the damage that can result from an accident or error. It also reduces the number of potential interactions among privileged programs to the minimum for correct operation, so that unintentional, unwanted, or improper uses of privilege are less likely to occur. Thus, if a question arises related to misuse of a privilege, the number of programs that must be audited is minimized.” Saltzer/Schroeder
Access Control • Which users can access the system • What they can do once they are in it • What things (files, memory…) they can access • Provides for accountability • However, it’s not just about users…
DAC: Discretionary Access Control • Controls placed on data by the owner of that data • Very widely used, in Windows and Unix • This requires user labeling of data • Example: r, w, x, for user, group, world (Unix), files have an owner and a group • Is this enough?
MAC: Mandatory Access Control • The system decides who can see what – the user may have input, but cannot override the system • Think about a system that attempts to keep unclassified and Top Secret data on the same machine… what do the rules need to be?
Access Control Lists • Higher granularity • Can get a little more complex than the Unix model • ACLs in a router is a good example… • permit/deny in an ACL, how to do it? • What does this remind you of?
RBAC • Role Based Access Control • One of the drawbacks with ACLs is they are quite hard to manage • In RBAC, we assign users roles. Privileges are assigned to a role, not a user; the user’s access rights depend on the role(s) they are assigned
Vulnerabilities • So this is the part of the class that you’re probably waiting for… • Let’s look at some of the ways access control can be violated
Web Configuration • First, very simply • We often find misconfigured web servers on the internet • In this case, everything is working as designed, but our design isn’t very good • For example, there’s the whole field of “google hacking” where we search for things we shouldn’t be able to see
Another example • In Windows, processes have different levels of privilege too • However, until Windows Vista, they shared the same messaging interface – that is a low privilege window can send a message to a high privilege window • Worse, these messages can include a callback to code in the process space of the more privileged process
Read • Find and read “The Protection of Information in Computer Systems” by Saltzer/Schroeder • This paper is SO important to understanding security in general