OS Security

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Slasher

OS Security

Post by Slasher »

hello,
been reading books on Operating Systems for a while now, but can not seem to get my HEAD around the issue of SECURITY in OS :'(. Can anyone state what they understand about SECURITY and how you are incorperating it into your OS.
thanks
DarylD

Re:OS Security

Post by DarylD »

My understanding is security in an OS encompasses two things:

1 - Limiting access to resource to non-root style users
2 - Ensuring the interfaces to system calls and functions are robust and don't allow incorrect values.

Well, that in my belief should provide a good level of security.

Of course, I am not an expert!!
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:OS Security

Post by Pype.Clicker »

basically, a secure OS should not allow the user to do what he should not be able to do. This means that if the OS states that only the owner of a file can remove it, then it must enforce this rule.

This also means that there should be no way for a user to get more priviledge than what the one he has...
jrfritz

Re:OS Security

Post by jrfritz »

It would be good if the OS stops the app/virus from over writing Sysfiles...but that'd be bad if the app was helping something...

So you'd probly need to make the OS ask the user what to do...

So...i'd be good if the OS was smart and didn't have to ask the user all sorts of things like: it creates a log of what the app does or ever did...and if it changes alot of files like a virus does...it watches that app cautiously and asks the user then to repaire the files it messed up/changed ( if the OS has RO backups ) or askes to stop the program for good, stop the program this time...or stop it from changing sysfiles...

basicly for that idea you'd need some smart OS that watches what goes on like a superviser...

...
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:OS Security

Post by Pype.Clicker »

there are a lot of tricks to explore in order to make OS more secure. One that i envision (and plan to implement) is to restrict writing of files to a sub-class of programs. For instance, when you install a new text editor, the (super)user will decide whether it gives it the writing access to .DOC files. This reduces the risk of seeing an E-MAIL application deleting your .DOCs -- or .MP3 or whatever.

In a similar way, you could also prevent a given application from creating a socket to the Internet if there is no reason it does so...
Slasher

Re:OS Security

Post by Slasher »

okay i get the idea. But here is one problem,
how do you provide a robust SYSTEM programming environment that is SECURE? I mean, system programming entails giving programs access to parts of the kernel and hardware that is NORMALLY protected by the kernel! how can we ensure that the program does what it's supposed to do without messing up something else?
Tim

Re:OS Security

Post by Tim »

By making it go through the kernel to access any shared resource. Here, shared resources mean things like memory, CPU time, files, network connections, hardware, etc. The kernel has ultimate control over these things, and only the kernel is in a position to control access to them.
K.J.

Re:OS Security

Post by K.J. »

But how is the kernel to decide if what the program wants to do is okay?

K.J.
Slasher

Re:OS Security

Post by Slasher »

Exactly what I MEAN!!!
You can provide an interface to the system that Server/system programs use, but who know what a FAKE server/system program wants to do with the info/access provided though that interface? :-\
Curufir

Re:OS Security

Post by Curufir »

Code Slasher wrote: Exactly what I MEAN!!!
You can provide an interface to the system that Server/system programs use, but who know what a FAKE server/system program wants to do with the info/access provided though that interface? :-\
Ask your users to install a crystal ball? Firewire connection of course :)
Tim

Re:OS Security

Post by Tim »

K.J. wrote:But how is the kernel to decide if what the program wants to do is okay?
For every process, you keep a list of privileges, rights, and/or quotas. You could maintain that list on a per-user basis, and have every process associated with a logged-on user.

When a process wanted to allocate memory, you'd check the "virtual memory" quota and fail the request if the process had too much. When a process wanted to open a file, you'd check whether that process's user appeared in the list of users allowed access to that file. This list of privileges is called an Access Control List (ACL). The Unix rwxrwxrwx system is similar, except that it only allows three types of user (object's owner, object's owner's group, and everyone else) and three actions (read, write and execute).

Tanenbaum goes into security using ACLs and more in great detail in his book.
Post Reply