Questions tagged [operating-systems]

The operating system is the software component that provides abstraction of physical hardware, and provides a generalized model for application software to execute without the need for specific hardware knowledge. Questions on the topic of operating system security should use this tag; you may also like to use one of the [windows], [linux] or [macos] tags.

Operating systems are critical to security because they provide the fundamental mechanisms for control of processes, separation of data, control of access to data, and control of access to system resources.

Questions you may have / recommended reading

Operating system architecture

Operating systems are built according, simply speaking, to two pure philosophies:

  • Monolithic Kernels - these are huge binary blobs containing the entire compiled code of the operating system (hence "monolithic"). Such code bases benefit from being able to directly alter (with locks) variables belonging to other kernel threads and using locks as concurrency guards; as such these types of kernels are often very quick.
  • Microkernels, by contrast, often contain a small core and push the majority of operating system features out into "servers" i.e. processes which send messages back to the core component and to other components to get work done. Due to the need for message queues and message processing, these kernels often perform more slowly.

A simple comparison is available which roughly explains the difference. The security implications of the design of each kernel lie in the use of the CPU's security features; microkernels are able to run much more of the operating system as unprivileged processes.

In reality, modern operating systems borrow features from both types of kernel design.

Access Control

A number of access control systems are in use / considered in operating systems:

  • Discretionary Access Control, a method of access control that allows child processes to inherit the privileges of the context (i.e. user or parent process) from which they were launched.
  • Mandatory Access Control - a method of access control through which each subject (process, user) is given explicit permissions on an object (resource) regardless of the parent's rights.
    • Role-based Access Control is a third and increasingly more prevalent method of access control through which more complicated organisational structures are used to determine privilege.

Currently, there are also a number of research-area access control methods including:

  • multi-level/multi-category security. These types of access control are often implemented on top of MAC and add labels and/or category requirements to further isolate data.
  • capability-based security is an entirely different concept to the use of access control lists (ACLs) and requires processes pass/inherit/ask for capabilities and possessing these capabilities gives them the right to perform actions. Capability-based security is strongly associated with microkernel-based design.

Process/Memory Isolation

Most operating systems provide some form of process isolation capability and utilise hardware to do so. By far the most common commodity chip is the x86 and descendant families of processor, which provide several abilities:

  • CPU "rings" or privilege levels. Labelled 0, 1, 2 and 3, these determine what an executing process can do to the system.
  • Memory segmentation is common in older x86 systems and was a method of dividing up the address space.
  • Memory paging - the ability to swap memory to and from disk as required, to keep virtual memory free.
  • Virtual memory - using the concept that memory can be paged out to increase free space, most operating systems take advantage of the ability to swap out entire processes when not in use and thus provide memory isolation (in addition to the protections provided by privilege levels). In addition, it is possible to design the operating system such that the OS and userland do not even share an address space.
  • No Execute bits, W^X etc implement software/hardware concepts of the idea that writeable memory for user processes should not also be executable, to prevent stack-based vulnerabilities.

Virtualization

Virtualization is the process of making an operating system run on emulated hardware, or co-exist on common hardware such that it is unaware it does not have complete control of the system. For more information, have a look at the closely-related tag.

Resources

430 questions
53
votes
7 answers

Can you hide your OS from programs? Can you trick a program into thinking you are on a different OS?

Is there a way or program to make another program think I am using a different system? For example, let's say currently I am on Windows 7 32-bit and I want the program to detect Windows 10 64-bit or perhaps Windows XP. Can I do something similar…
Wolwo
  • 599
  • 1
  • 4
  • 5
18
votes
4 answers

What is the frequency of open security bugs in an operating system with increasing age?

I am having a discussion with friends and my point is that the older a feature-frozen operating system is, the fewer security bugs are left unpatched and therefore the cost for the company to fix them decreases with age. My assumption is: there are…
FarO
  • 323
  • 2
  • 9
17
votes
1 answer

Why is Linux considered more secure than Windows?

Why is Linux considered more secure than Windows? Is there some sort of recent security report that proves it? I have come to believe that Linux has been safer so far, but now as we have Windows 10, is Linux still better in security?
Omaja7
  • 199
  • 1
  • 1
  • 5
14
votes
4 answers

Stop software updates after the system is "stable"?

Yesterday morning I had an OS class and we just started the part about OS security. When the professor was explaining what is a patch manager, he told us that a computer company he knows which deals in securing servers, after the certification (I…
dierre
  • 315
  • 1
  • 8
14
votes
2 answers

What are the criteria to choose a secure operating system?

Let's say I have a new and empty desktop or laptop computer and I want to decide which operating system to use. I plan to use this computer in a small home LAN with internet access. There are other devices in this network, but nothing too fancy - so…
Tom K.
  • 7,976
  • 3
  • 32
  • 53
11
votes
3 answers

Where can I download vulnerable Windows OS images to practice penetration testing?

My objective is to learn and practice all the vulnerabilities and their exploitation on vulnerable OS.
Pawan Kumar
  • 111
  • 1
  • 1
  • 3
10
votes
1 answer

Where and how do operating systems save passwords for user accounts?

Where do operating systems (e.g. Windows) save their passwords? Do they store them in plain text? Do they use hardware modules such as TPM? Are these methods generally considered secure?
Help user
  • 103
  • 1
  • 1
  • 4
5
votes
2 answers

OSes that are mathematically proven to be 100% (or 99%) secure?

Are there any? What are their names? Are they publicly available/downloadable/installable?
LanceBaynes
  • 6,279
  • 12
  • 63
  • 92
5
votes
2 answers

Secure OS deployment

I want to deploy operating system images on quite a lot of clients. I know that the images must contain the latest security patches, as well as hotfixes (assuming they are tested and approved for the target environment). They also have to be…
Sadeq Dousti
  • 1,514
  • 1
  • 17
  • 24
4
votes
2 answers

Is a monolithic kernel more secure than a microkernel for a small OS?

Upon building a kernel for a small CLI system what option is the best one? I don't know much about what microkernels can do so bear with me if I'm being ignorant: In one instance, there are monolithic kernels which allow the user control over…
Kolt Penny
  • 43
  • 1
  • 3
4
votes
1 answer

iPad as a secure access terminal

I administer a number of linux servers (hosted on EC2 and linode) which provide VPN termination for thirty-odd users. I'm considering ditching my Macbook running OSX / Ubuntu in favour of setting up a server on one of the public clouds and using an…
2
votes
2 answers

Is it fundamentally possible to develop a (provenly) transparent computing system?

I recently asked a question regarding security obstacles of online voting via a web service, and one of the primary obstacles to doing this is the difficulty of proving that the program processing incoming vote data is the actual open source code…
J.Todd
  • 1,310
  • 1
  • 11
  • 20
1
vote
1 answer

What's the difference between Systems security and Information Security?

I'm trying to differentiate between the the three. What is Systems Security? What is Information Security? What's the difference between Systems Security and Information Security? I'm trying to understand the difference between these three security…
Tim
  • 13
  • 3
1
vote
2 answers

Can a detached hard disk reveal the system information of machine from which the hard disk is detached?

Can an internal hard disk (on which Ubuntu or any other OS is installed) that I detached from the PC or laptop (Keeping the OS as it is) and connected to some other PC or machine reveal the info of the PC from which the hard disk was detached? Is…
kernal42
  • 119
  • 2
1
vote
2 answers

Trust a possibly compromised system for iso downloads

My only operational computer has shown some wierd signs like disapearing logs, rotated logs gone random files getting updated and so on. Tho this is my only operational computer and I have decided to nuke it. My question is can I trust this system…
user36976
  • 3,243
  • 4
  • 16
  • 22
1
2