Isolation and compartmentalization is one of the most powerful
security controls available to you,
and if used effectively, can mitigate most security threats.
Isolation and compartmentalization is used to implement security domains,
creating separate levels of usability, security
and supporting different identities or aliases for privacy and anonymity.
If an adversary exploits a vulnerability,
isolation and compartmentalization
mitigates the impact to the isolated security domain.
Let me give you a simple but very effective example
of isolation and compartmentalization
using a virtual machine guest to browse the web.
If the virtual machine guest browser is compromised,
because of the isolation and compartmentalization,
the host system is protected from compromise.
The impact is reduced or possibly completely mitigated.
With isolation and compartmentalization you get to control the attack.
In this section, I'm going to go through a number of best methods
to implement security domains through isolation and compartmentalization.
And multiple methods can be used in combination,
like a virtual machine with a sandbox with encrypted partitions, etc.
You need to consider what sort of security domains you might need.
This will be based on your personal risk, consequences,
and your adversary and threat model.
You want to isolate and compartmentalize your assets.
The things you care about and those applications
that interact with untrusted sources like the internet.
Your browser and email client, for example.
We won't go through all methods of isolation and compartmentalization,
as there are so many, but I will run through the best,
and also cover more general methods
so you can design your own methods of isolation
and compartmentalization when needed.
You will see that many of the controls in the course will use the principle
of isolation and compartmentalization.