Now that we cover the basics of cubes and we cover the basic structure and how all the applications
are isolated into different virtual machines and the meaning of each of these virtual machines.
And this lecture, I want to actually go ahead and start using applications so that it's easier for
you to understand what we mean by the different domains, how do they work and how to use them to carry
on your daily tasks.
This will also make the whole concept of isolation and the different security domains easier to understand.
So as usual, we're going to go to the top left menu to launch an application.
And like I said in the previous lecture, the actual virtual machines that you'll be using to carry
out normal day to day tasks are the colored ones, the ones that start with the word domain.
So let's go to the personal virtual machine or the personal domain, and let's launch one of the applications
in here.
So we have a file manager.
We can launch Firefox, we can launch the settings or a terminal.
So let's click on Firefox because we want to access the Internet and you'll notice here on the top right,
it's going to say that it is starting the personal virtual machine or the personal domain.
So the first time you launch an application within a domain, you'll notice that there will be a little
bit of a delay.
The reason for this is, like I said, each domain is its own virtual machine.
So the first time you launch an application within that domain, the first thing that cubes will do
is start a virtual machine, start a completely separate computer, and then launch the application
that you requested within this domain, within this new virtual machine.
Once done, as you can see, you'll get your application, which is Firefox in this case, and let's
see if it's connected.
So let's go to that security.
I'm perfect.
As you can see, we have a normal Internet access.
Everything is working as expected, and you can use this browser the same way that you use any other
web browser.
Now let's go ahead and go to the personal again.
And this time I'm going to launch my files and you'll notice that this will be almost instant because
the virtual machine is already running.
Therefore, I can open the file manager within that virtual machine, so there is no need to start the
virtual machine from scratch.
Now in here we have a normal file manager that you can use to navigate through your file system and
access your files.
We have our downloads in here.
Your music, your videos, and so on.
Double click to enter, right click to copy, paste, cut, get properties and so on.
So using this is very similar to using any other file manager.
Now let's put this here to the side.
And what I'm going to do is I'm going to go back to my applications, and this time we're going to go
to the work domain or to the work virtual machine.
And again, let's go ahead and launch a Firefox instance.
Now, again, this is the first time we launch Firefox from within the work domain.
Therefore, this will take a bit of time to boot the work virtual machine first and then open Firefox
and perfect.
As you can see, we have Firefox running in here and let's go to Google this time.
And as you can see, we have Internet access.
Now, keep in mind, this window right here, the Firefox window, the blue one, it is a completely
separate virtual machine.
Then the yellow window right here.
This is a work computer, a work virtual machine, a work domain that is completely separate from the
personal domain.
Therefore, if this personal domain gets hacked or if the work domain gets hacked, the hacker will
not be able to navigate to the other domain because these are two completely different and isolated
virtual machines.
They use their own resources, they use their own RAM, their own CPU, their own file system.
So it's as if you're running two different instances of Firefox on two completely different computers.
Now in order to make it easy for users to distinguish between the different domains and different virtual
machines.
Every time you launch an application within a domain, it will have a specific color.
So if we go back to the menu and here you'll see that the personal domain has this greenish kind of
yellow color.
You'll also notice that this is the same color in here in the window.
And you will notice that at the start of the title bar it says Personal.
This is the same for the personal file manager that I opened.
Again, it's this greenish yellow color and it also starts with the word personal.
If you look at the work domain, you'll see that it is blue.
If we look at the entry in here, in my applications, you'll see the lock is blue as well and you'll
see that it says work at the title bar before the name of the application.
So if I go ahead now and open my file manager in work, you will also see that the window is going to
be blue, as you can see in here.
And again, it starts with the word work.
Therefore, when you're using cubes, it will be very easy for you to know which security domain or
which virtual machine you're running in.
Now, if you've done any of my other courses or if you have any experience with using virtual machines,
you're used to the way that when you start a virtual machine, you will see a new desktop.
So if you're starting a Linux virtual machine, for example, you will see a new Linux desktop within
your current operating system.
This is not the case with Cubes because at any instance you could have four or five virtual machines
running at the same time.
Therefore, it would get very confusing and very hard to manage.
Instead, they use this coloring scheme and the titles that you see in here to help the user understand
which security domain or which virtual machine they're running in.
And this design is really nice, in my opinion, because it is seamless.
You don't actually see new desktop every time you launch an application, you only see the application
window and the color indicates what security domain or what virtual machine you're running in.
Now to make this virtual machine idea stronger and to help you understand it better, let me give you
an example.
So let's say I wanted to download this image right here in this page.
So I'm just going to right click the image save image as.
And we're going to save it in my download.
So I'm just going to click on Save.
Now, this is just an example of downloading a file regardless of what it is.
I'm just downloading an image as an example.
So the image is downloaded to my downloads directory and if I go to my file manager, the yellow file
manager, because remember we downloaded it from the personal web browser so it gets downloaded to the
personal file system.
So I'm in the personal file system and if I click on my downloads, I have the image right here.
So that's perfect.
Now if we go to the other file manager that we opened, the work file manager, which is in blue in
here, if I go to my downloads, you'll see that I don't have the image.
And the reason for this is, again, this is a completely separate virtual machine that has its own
resources, that has its own file system.
So whatever I do in here, whatever I do within the personal domain, even if I run any viruses, even
if it gets hacked, this is a completely separate computer.
Therefore, whatever happens in here cannot move and affect this machine and vice versa.
So even the history, for example, we access this security dot org in here.
So it should be in my Firefox history.
So if I do control H in here and look at today, you can see that we accessed that security.
Now if we go to the Firefox Web browser in here and we do control H to see our history, you will not
see that security because again, this is a web browser that is running in my work virtual machine and
this is a completely separate machine that does not know what happens outside of it.
And it is through this separation that Cubes excel and improves our security because like I said, the
idea is you use the separate domains to carry out separate tasks.
So you use the work domain to do your work stuff.
You use the personal domain to do your personal stuff, and you use the untrusted domain to do all of
the other stuff that does not involve logging into accounts and that you might be opening untrusted
websites and files.
And this way everything is separated.
And if any of these domains gets compromised, it does not affect the other domain.
Now, once you're done with using a certain domain, for example, let's say I'm done with my personal
tasks and I closed my browser and I closed my file manager as well, and I don't want to do anything
personal anymore.
If you want to free up some space, you can click on the cubes icon in here on the top.
Right.
This will list all of the virtual machines running at the moment.
So if you want to free up some space, we can see that the personal virtual machine is used in 842 megabytes
of my memory.
So if I wanted to free up some space, if I'm not going to use this virtual machine anymore, you can
just click on shutdown in here to shut it down.
So this is it for this lecture.
I just wanted to show you an example to help you understand the way Cube separates the different domains.
I wanted you to understand the different virtual machines and how they cannot interact with each other
and how that improves our security.
And in the next lecture, I'm going to show you how to carry out different tasks within this operating
system.
And the separation will become clearer, and you'll see how cubes can really improve our security.