In the previous sections, we learned how to use a number of programs and a number of services that
help us improve our anonymity and privacy.
We also learned how to access hidden services or online services or what's known as the Darknet.
And we learned how to use some of these services and some of these websites and all of these sections.
We used an operating system called Tails, and as mentioned, this is a live and amnesic operating system
that is based on a fully patched and hardened Linux distro.
It routes all traffic through the Tor network, so it's relatively secure and it's relatively private.
We installed it on a USB stick, so we use the USB stick to boot into it from any computer.
And then as soon as we shut down that computer or pull the USB stick out, everything will be wiped
from that computer and it will remove all traces.
So all in all, it's a pretty nice package.
It's very portable, very convenient, and that's why I chose to use it in all of the previous sections,
because it provides relative security and good privacy and anonymity.
As long as you don't make any opsec mistakes such as logging into an account that is tied to your identity
or interacting with other accounts that can be linked to your real identity.
Now this is all great, but note that I said relative security.
I said that because we can do better.
See, the problem with tails and most operating systems is the fact that everything is running under
one domain.
So if a hacker manages to hack into this computer, whether it's running Thales or any other operating
system, they'll get access to this whole domain.
And first of all, they'll be able to bypass whatever anonymity measures you're using, and they'll
be able to easily de anonymize you.
And they'll also have access to all of your files and be able to control the computer and do anything
that you can do as a user.
So even if you're using the greatest anonymity methods and you're using different proxies and Tor and
VPNs and all of that, if somebody hacks into your computer, it's game over.
All of that can be bypassed easily.
That's why security is very, very important, and that's why it's linked to privacy.
You can't be private or anonymous if you are not secure.
A good solution to this problem that can improve our security is to use different computers for different
tasks.
For example, use one computer for work related tasks.
Use one computer for your personal related stuff.
Use another one for the untrusted stuff whenever you're just browsing through websites and opening attachments
and so on.
Use one computer that is not connected to the Internet to store your passwords and keys.
This way, if somebody manages to hack into one of these computers, they'll only get access to one
computer.
And it will be very difficult for them to move from this computer and compromise the other computers.
Not only that, but the fact that you have an untrusted computer that you don't do any personal or work
stuff on means that this will be the computer that will probably be hacked, not the other ones.
So all of your important stuff in work and personal will not be hacked and the hackers will not be able
to gain access to them.
Also, if you're using a separate identity on this untrusted computer, then your real identity or the
identities that you use on work and personal again will not be compromised.
So this is a really, really good solution.
The only problem is it's not cheap.
You need a number of computers and it's also not easy to achieve.
So imagine having to use a different computer every time you want to do a different task.
You can make this slightly easier and use one computer, but use multiple tails, USB sticks and again,
use each one of them for a separate domain one for work, one for personal work, one for untrusted.
But again, this is not very usable because let's say, for example, you are using the work USB stick
and you open your work email, you're reading an email and there is an attachment and you really want
to open that attachment, but you can't really trust that attachment because it could be anyone.
It could be a hacker pretending to be a friend, or it could be someone who gained access to your friend's
account.
So if you want to follow this model and if you want to be secure, you need to boot into the untrusted
distro or the untrusted USB stick and open the attachment there.
Then once you open it and read it, if it's fine, you need to turn this off, boot back into your work
USB, stick your work domain and then reply to the email.
So you can see that if you're doing this every day, it's not very practical and it's going to become
very, very annoying.
This is where the idea of cubes came from.
Cubes is an operating system that is designed to improve security by compartmentalization.
So as soon as you boot into this operating system, it boots into Xen, which is a hypervisor and then
once the operating system starts, everything inside this operating system is separated into different
domains.
You'll have a domain for work, a domain for personal and untrusted domain and so on.
And each one of these domains is a completely separate virtual machine.
So you can think of these virtual machines like completely separate computers and hence the name Virtual
Machine.
So each one of these virtual machines has its own RAM, its own CPU, its own file system and so on,
and is completely unaware of the other virtual machines.
So just like running different computers, if your untrusted virtual machine or the untrusted domain
gets compromised or hacked, it is very difficult for a hacker to move from there to your work or to
your personal virtual machine.
Not only that, but Cuba's also separate other system components into virtual machines.
So you have your networking, your file system, your USB controller and your firewall all running inside
their own virtual machines.
So if a hacker manages to exploit a vulnerability in any of these components, then only get access
to this isolated virtual machine that is not even aware of the existence of your work and your personal
domains and so on.
And with this you won't need to have multiple computers and you won't need to keep restarting and booting
into different USB sticks.
You'll always be using the same operating system, and the different virtual machines will be running
inside this one single operating system.
Now these nice features come at a price.
Cubes is very resource hungry and has specific requirements.
I'm going to include these requirements in the resources of this lecture, so please go through them
before attempting to install it.
Now, before moving into the next lectures, what?
I'm going to show you how to install cubes and use it.
I know right now you're thinking, do I really need to install cubes?
And the answer really depends on you and your threat model.
With cubes, we're not going to be using any other magical methods to become more anonymous.
So you'll still be using TOR.
You can still use a VPN and multiple proxies.
Nothing that you can't do entails.
The only difference is the added security that cubes allows by compartmentalization.
Therefore, if if someone targets you specifically trying to de anonymize you, they're less likely
to be able to hack into your computer or to gain access to it and therefore d anonymize you.
So Cubes is only more anonymous and more private because it is more secure.
It makes it more difficult to hack into your computer and therefore more difficult to de anonymize you.
So whether you should use cubes or tails really depends on your threat model.
If you think there are people that will actively try to hack into your computer in order to anonymize
you, then obviously cubes is a better solution because it's a more secure operating system.
Other than that, tails is good enough as long as you don't make any opsec mistakes such as communicating
with accounts linked to your identity.
And as long as you use it within one domain so you don't need to use Thales for work personal and for
browsing, you're only using it to access the darknet for research or for other reasons.
Then in that case, Thales can be good enough.
So just like anything else in this course, go through the cube section, understand how it works and
why it's useful.
And at the end, based on your threat model and based on what you want to do, make a decision on what's
best in your case.