2

What kind of safety does software isolation (e.g. in operating systems) offer (e.g. between OS and browser)?

Particularly, what kind of safety mechanisms are there and how secure are they?

By software isolation I mean process isolation and related things (e.g. fault isolation). That different softwares (running on an OS) and the OS itself are isolated so that they may not access each other, or at least not access all features. This is believed to give security since that way a hacker may not easily be able to access another, potentially more critical part of software, through something else that his able to access.

5
  • "Does it really offer safety?" It offers safety, yes, that's the whole point. But are you really asking if it is perfectly secure?
    – schroeder
    Commented Jul 25, 2018 at 20:21
  • In your other question, you linked to wiki.c2.com/?ProcessIsolation which answers your question. So, I'm not sure what you are really asking.
    – schroeder
    Commented Jul 25, 2018 at 20:23
  • @scroeder Yea, by "offer safety" I mean "offer 100% safety". I also find that the c2 site doesn't give info about particular pitfalls, holes in the security of isolation. E.g. if I'm trying to understand how secure a browser is from the perspective of the whole OS. Can the browser be used to hack the whole OS, and how?
    – mavavilj
    Commented Jul 25, 2018 at 20:30
  • 1
    Then that is, by far, the better question to ask! How does a vulnerability in a program (e.g. browser) enable an attacker to affect the OS? How are the existing OS security mechanisms not enough to prevent such expansion of effect?
    – schroeder
    Commented Jul 25, 2018 at 20:45
  • Are you basically just looking for a list of sandboxing techniques used by various browsers (e.g. namespace isolation, seccomp, token restriction), in addition to the regular protection provided to all processes in their own thread group?
    – forest
    Commented Sep 24, 2018 at 2:38

2 Answers 2

2

TL;DR

It's the most basic form of an anti-malware, long before a traditional antimalware works.


Consider that an OS is a software ecosystem where multiple applications developed by multiple parties interact. Exactly like a big bazar where multiple merchants offer services and goods to the same customer. They must share the common space. And some may be evil under any extent.

Sharing of resources

Isolation between kernel mode and userland mode allows OS to prevent an application from stealing too many resources, making it safely crash when it comes to requesting too much memory or disk space. In this scope, OS also prevents an application to take control of disk by overwriting data related to another application.

Memory isolation

Applications may contain sensitive data. Your OS stores your user password, or at least its encrypted form, in memory. If OS did not isolate its own memory from the app memory, any app can tinker with your user password.

Not to mention with your Bitcoin wallet...

Fault tolerance

Do you really want an application crashing to reset your entire device? Think for a second: you are on a Skype work meeting and your favourite messenger application crashes because of a bug. OS makes the IM crash, and notifies the event, but your computer/tablet will not reboot so you won't have to explain your boss why your video was interrupted.

This third case covers unintentional faults.

0

Pretty much all software isolation are rooted in an isolation feature in the hardware.

Paging and memory segmentation uses virtual memory manager and no-execute bit (NX-bit), process uses context switching, privilege downgrade and escalation uses security ring and privileged bytecodes with gating through escalation interrupts and control of memory permission bits, instruction set virtualisation uses VT-X or AMD-V.

offer 100% safety

There is no such thing as 100% safety, you will have to define what is do you mean by "safe" first. Process isolation achieves a lot of the security goals that most people wanted, and when any security issue arises, it's usually arises from ignorance; from people not really knowing what they wanted to do or how to do what they wanted to do correctly, rather than because of problems in the isolation itself.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .