A sandbox is a security control, 2
and it is an excellent isolation tool to prevent, detect, 3
and mitigate threats, which I recommend you use when you can. 4
Sandbox is an isolated environment 5
for running applications or code. 6
It’s a virtual container 7
to keep the contents confined to that container. 8
A sandbox should be used for high risk applications, 9
such as those that interact directly with untrusted sources like the internet, 10
such as browsers and email clients. 11
And you're already using built in sandboxes already 12
and you may not know it. 13
For example, Chromium, which Chrome is based on, 14
uses sandboxes and actually provides an excellent implementation 15
that stood up to quite a bit of scrutiny. 16
So that’s Chrome and Chromium sandboxes. 17
Firefox also implements sandboxing. 18
The core of the Window’s Firefox sandbox 19
is actually the Chromium sandbox. 20
Content loaded in browser plug-ins 21
and extensions is sandboxed, like Flash, 22
Silverlight, Java, etcetera. 23
Not very well in some cases, unfortunately, though. 24
Adobe reader now runs PDF files in a sandbox, 25
attempting to prevent malicious code from escaping the PDF viewer 26
and affecting the rest of the computer. 27
There’s been a nasty history of that. 28
Microsoft also has a sandbox mode to prevent 29
unsafe macros from harming your system. 30
There are many examples of built-in sandboxes, 31
but we still get hacked. 32
Unfortunately, not all sandboxes are made the same, 33
and sandbox breakouts happen. 34
Any vulnerability in any of the software we’ve just mentioned above 35
that was able to get access to the operating system 36
has effectively bypassed that sandbox, 37
and unfortunately, there have been many cases 38
where these applications, the sandboxes, 39
have been broken out and the operating system has been got at. 40
But we can use additional application sandboxes 41
to provide defense in depth 42
on top of the built-in ones. 43
And a number of options exist for all operating systems 44
to add additional sandboxes 45
allowing you to effectively sandbox your sandboxes 46
making it less likely that an attacker will succeed. 47
Attackers expect to deal with built-in sandboxes, 48
like the Java sandbox or the browser sandboxes, 49
as they design their exploits around them, around what they expect, 50
around what is normally there. 51
But when you add an additional sandbox, 52
the exploit is less likely to be designed 53
to cope with it or be able to bypass it. 54
All sandboxes work slightly different 55
but are based on the core principle of not allowing the contents 56
of the sandbox to spill out of the container, 57
hence the name sandbox.