Now that we had a basic overview on Cubes as an operating system and this lecture, we're going to dive
deeper.
We're going to learn about the structure of the operating system and how to launch different applications
and use them in a secure manner.
So in the previous lecture I said we can access all the applications from the top left menu in here.
And other than the tools, like I said, each entry in here is actually a virtual machine.
And then each one of these virtual machines contain different applications that you might want to use.
Now, like we said before, basically a virtual machine is another completely separate operating system
that runs within our current operating system within this computer right here.
So each one of these entries in here is another operating system and hence the name Virtual Machine.
It is as if it's a completely different computer.
It has its own storage, it has its own RAM, its own CPU, its own resources.
And therefore, this implementation is very, very secure because none of these virtual machines can
communicate with each other.
So if one of them gets hacked or an application that is stored in one of these virtual machines gets
hacked, it will not be able to compromise the other virtual machines.
Now, you'll notice there are different types of virtual machines in here.
We have disposable virtual machines, domain service and template.
The disposable virtual machines are amnesiac virtual machines.
So these machines are designed to be used to run untrusted files or files that you think might be malware
or viruses.
Because once you run these files and then even if these machines get hacked, the virus or the backdoor
cannot move or the hacker cannot move and compromise other machines because like we said, everything
is a completely separate machine.
Not only that, once you turn off this disposable machine, everything that was stored on it, including
the virus or the backdoor, will be removed.
So when you start it again, it will start a completely brand new machine.
Next, we have the domain virtual machines and you can see these have different colors.
And the idea of these machines are normal computers or normal virtual machines that can be used for
normal usage.
So you have one that's called personal.
You should use this for whatever personal use you use a computer for, for listening to music, watching
YouTube, watching my videos, whatever you usually do on a personal computer, you have an untrusted
domain.
This is a virtual machine that is designed for you to do untrusted things.
For example, doing the normal web browsing.
If you are searching for something and you're not sure if you're going to land in an untrusted website,
then you can use this untrusted machine.
Don't open your email or any accounts on this because it's untrusted.
You're going to be doing untrusted tasks and open untrusted websites.
Therefore, even if this machine gets hacked, your personal data on your personal computer will not
be compromised because they are two completely separate virtual machines.
We have a wall domain, and this domain is a virtual machine that is not connected to the Internet.
And the whole idea of this is you store your most important and most secretive files or data so you
can store your secret keys, you can store your passwords, you can store documents that are very important
and you can't risk them being leaked.
And again, the whole idea is this is not even connected to the Internet.
And it's a completely separate computer, completely separate virtual machine.
Therefore, it is very, very, very difficult or next to impossible to hack into.
Finally, we have a work domain.
Again, this is just another virtual machine that is designed for you to use for your work tasks so
you can open your work email, you can do you can log in to your work if your work needs you to log
in to a certain platform.
And again, this is a completely separate virtual machine.
So if any of the other machines get compromised, your work, whatever you have in this virtual machine
will not be compromised because it is a completely separate virtual machine, a completely separate
computer.
Now, this whole idea of separation between domains and between virtual machines is what cubes is made
of, is what cubes is designed to do.
And even if you think this is a little bit vague, don't worry about it.
I'm going to give you examples in the next lecture where I'm going to have different virtual machines,
and the whole idea will become very, very clear.
Other than the domain virtual machines.
We have a number of service virtual machines.
Now, these are virtual machines designed to carry out system services.
So even though these are virtual machines, you don't usually use them to carry out different tasks.
So we don't use them to access the Internet or we don't use them to store files.
The idea of these virtual machines is to provide services for the operating system.
For example, this firewall right here is literally the operating system firewall.
But to improve the security of the operating system, the whole firewall is stored in a completely separate
virtual machine.
Same goes for the CIS net.
This net is basically a virtual machine that is designed to encapsulate your networking, the networking
of this computer.
So for any reason, if someone manages to exploit your networking, it will be very difficult for them
to escalate their privileges and gain access to the other virtual machines.
We also have another network in Virtual Machine, which is the CIS annex.
This is the Unix gateway, which basically forces all traffic to go through the Tor network and we'll
see how we can configure virtual machines to use this gateway.
And basically we'll have an operating system very similar to Thales.
And finally, we have a number of templates, virtual machines.
These are machines that the other virtual machines, such as the domain virtual machines right here
are based off.
So, for example, the work virtual machine and the personal virtual machine are both templates of the
Fedora 30 virtual machine.
So if you update the Fedora 30 virtual machine right here or installed pidgeon on it automatically personal
at work because they are based on this template on the fedora.
They will automatically get updated and they will automatically get pigeon.
And we'll talk about that in more details later on.
Now I know I spoke about a lot of different types of virtual machines and domains.
Don't get confused.
And don't worry, we will be using them a lot in the next lectures and as we use them, the difference
will become clearer and you'll find it very, very easy to understand.
The main idea to keep in mind is the only virtual machines that you will actually be using for your
day to day use are the domain virtual machines, the ones that are colored in here, and start with
the word domain.
Everything else is either a service virtual machine, so it's run a system service or a template virtual
machine.
So it's a virtual machine, which the domains are based of.