Now in this lecture, I want to show you how to use cubes to carry out two important tasks that you're
used to use on other operating systems.
And as I do this again, the idea of the separation and the different domains and virtual machines will
become even clearer.
So right now I have an instance of a file manager in my personal domain.
And on the left here I have an instance of the file manager in my work domain, in my work virtual machine.
Again, as you can see, it's in blue and it says work at the start.
So as I showed you in the previous lecture, when we download something in my personal virtual machine
here, the image, it doesn't exist in my downloads directory in here because like we said, these are
two separate virtual machines using two separate file systems.
Therefore they're completely separate and they do not share anything.
Now what I want to show you is copy pasting.
So let's say I wanted to copy this file, I can right click copy or you can do control, see just like
any other operating system.
And then because this is a picture, we can go to my pictures in here and just do control V or right
click paste and we will have the picture.
So this is perfectly fine, it's perfectly normal.
But if I do this again, so let's do right click copy and let's say I want to put it in my downloads,
in my work file system, in my work domain.
If I do right click in here, you'll see that the paste is grayed out.
I cannot paste and if I do control V, you'll see that nothing will happen.
And the reason for this is, again, it goes back to the whole idea of the separation of the different
domains, which are completely separate virtual machines.
So you can think of them as if they are two different computers.
Therefore, what we did right now, it's as if you go to a computer, you right click and a copy image,
and then you go to a completely different computer to another laptop, and then you're trying to paste
that image in that laptop.
Obviously that's not going to work because these are two separate computers.
They use two different storage devices.
Therefore, the the second computer is not even aware that you actually copied something.
Now because these two computers or to these two domains are running within cubes within one hypervisor,
we can actually copy and paste between them.
It's just slightly different.
So if you want to copy something within the same virtual machine or within the same domain, it's fine.
You can right click and copy, but if you want it to copy between two different domains or virtual machines,
you'll have to right click this.
And instead of clicking on copy, we're going to click to copy to other AB VM.
Clicking on this will show us a window that will ask us which VM or which domain we want to copy this
file to.
Now we want to copy this to our work VM to our work domain.
So I'm going to type work and I'm going to click on OCH now you'll see that this will not appear in
here.
But if we go to the home directory, you'll see we have a new directory in here called Cubes in Common.
And this is where you will see all the files that you copy from other domains or other virtual machines.
So if we double click this, you'll see we have a directory called personal.
If you copied stuff from another domain, for example, if you copied it from the untrusted, you'll
have a directory called untrusted.
So inside the personal directory you'll see we have the image that we wanted.
If we double click it, you'll see that the image is fine.
This is the actual image.
It did not get corrupted and you can now right click it and copy it and paste it to anywhere you want
within this operating system, within the work domain.
So this is how to copy files within a domain or between two different domains.
Now, what about copying text?
So let's just type something simple.
I'm just going to click on the search in here, just so that I have a text box that I can type in and
I'm just going to type.
This is some text to copy.
Now, if you want to copy this text within the same operating system, again, it's exactly the same
as any other operating system.
You select all the text that you want to copy.
You can do right click copy or control C from your keyboard.
And then if we remove this and then open the search bar again and do control v, this will paste it
in here for me.
So identical behavior to any other operating system that you're used to.
Again, the tricky part is trying to copy this text from one domain, from one virtual machine to another
domain, because this domain right here is a completely separate computer.
It doesn't even know that you copied this text.
So to get around this, you'll have to first select the whole text.
You'll have to do control C or right click copy to copy it.
And then we're going to do Control Shift C doing this.
We'll copy the text into the global clipboard.
So right now the text that I just copied is available for all operating systems, for all domains to
capture.
And if you go here to our clipboard, you can see that we have 25 bytes of data are copied from the
personal domain.
Now, if we want to paste this in here in my work domain before we can do control V, which is the shortcut
for pasting, you have to first of all, get the global clipboard, get the text that we copied to the
global clipboard.
To do that you have to do control shift V first and as you can see now is telling us that the global
clipboard has been wiped and it's in my work domain clipboard now, so now I can paste it exactly the
same way that I paste anything else I can just do control.
V And as you can see, we have the text pasted in here.
So this should show you how separated these virtual machines are.
And this is what makes cubes so cool because they are so separated, but they can also communicate with
each other if the user wants to.
But if a hacker gains access to one of these machines, he doesn't have access to the global domain
and therefore they can't move from one domain to the other.
So if one machine gets hacked, it's very difficult for a hacker to go and compromise the other machines.
Now, another task that you will probably be performing a lot is connecting a USB device to your computer,
whether it's a mouse, a camera or a storage device.
When you connect a USB device to cubes, it doesn't get connected to any domain or to any virtual machine,
which is great because it is very hard to trust USB devices.
I actually cover this in my conference in Orlando.
You can weaponize pretty much any USB device, even a USB lamp or a mouse to execute commands on the
computer that it gets connected to.
And this way it will allow a hacker to gain full control over that computer.
I will include a link to that talk if you're interested, but the cool thing here in cubes, when you
connect a USB device, it will not allow that device to register itself as a keyboard first and it won't
connected to a virtual machine.
It will detect the device, but it will wait for you, for the user to select which domain or which
virtual machine you want to connect this to.
And then even if that code get executed, it will only hack into the machine that you connect it to.
And it will be very difficult to move from that machine and compromise the other machines.
You can even connect it to a disposable virtual machine to do untrusted tasks.
And we'll talk about untrusted virtual machines in the next lecture.
So stay tuned for that.
Now, first of all, before I connect my USB device, if you go in here to the top right, you will
see all of the devices connected to the Cube's operating system right now.
And a lot of these right now are built in devices.
In my computer, I haven't really connected much via USB.
So we're going to remember what's in here.
Now, I'm going to close this window and I'm going to connect my storage device.
And as you can see, we get a notification that the device is ready to be used.
But if we look in any of these machines, you'll see that we don't have access to this device.
To connect this device to a virtual machine or to a domain.
We're going to go to the devices in here again and you'll see we have the device in here.
This is the name of the device that came up in the notifications.
It's also the extra device that didn't exist before when we opened the list.
And if we hover over it, you'll see that it's going to list all of the running domains, all of the
running virtual machines that we can connect the device to.
So right now, we only have the personal and the work running the ones that we can actually use.
And let's say I want to connect this to my work virtual machine or to my work domain.
All you have to do is literally just click on this and you'll get a notification telling you that it's
going to connect it to the work domain and give it just a little bit of time.
And then we're going to go to our other locations.
And as you can see, we have it right here, my eight gigabyte volume, we can double click it to access
it and then interact with its files exactly the same way that you would in most other operating systems.
Again, double click to open, right click to get the options, copy and paste like I showed you and
so on.
So that's it for this lecture.
I just wanted to show you some of the tasks that you're going to be using a lot.
And through that, I also wanted to help you understand how these domains are completely separated from
each other and how this separation can make the whole operating system more secure or help us improve
our security.