
Chrome OS Security Guide
Chrome OS Security Guide
An overview of Chrome OS security across the entire stack.
Join our Chrome OS Product Manager, David Karam for this in-depth discussion.
Content
2.98 -> hello everybody I am David Camm I'm the
5.899 -> product manager for chrome and Android
7.279 -> and the enterprise and I work very very
10.37 -> closely with our engineering team to
11.66 -> bring you all these features that you
13.25 -> know love about Chrome OS and Android
15.97 -> what I want to do today is talk to you
18.349 -> about security within Chrome OS
19.99 -> Chromebooks have a very strong
21.769 -> reputation in the market for being a
23.539 -> very very secure endpoint actually one
25.159 -> of the most secure endpoints on the on
26.659 -> the market and many people know that you
29.179 -> know and it's it's a reputation in the
30.65 -> market but do we know actually
32.359 -> concretely what makes Chrome OS more
34.19 -> secure than other platforms and what I
36.02 -> want to do today is actually take you
37.64 -> through a guide of all these features
39.079 -> and and and and improvements we've made
43.129 -> to the platform to actually make it as
44.629 -> secure as it is today and one
47.48 -> overarching message in that in that in
50.6 -> that tour is gonna be that across the
53.96 -> platform Security's actually built in we
56.719 -> don't it's not something we do in
58.85 -> parallel it's not like one feature which
60.53 -> is a super secret sauce of the platform
62.57 -> it's actually something we built built
64.759 -> into the platform and across the entire
66.5 -> stack so if you look around at the
68.21 -> device what constitutes a device right
70.1 -> it's the hardware the firmware the
71.75 -> operating system up to the management
73.369 -> layer and user sessions all the way up
75.95 -> to the Play Store in the browser and how
77.479 -> like the apps are delivered to the
78.829 -> platform and the thing to keep in mind
80.93 -> is actually big in security at every
82.7 -> single layer in that stack it's not one
85.009 -> or two is every single layer and every
87.11 -> time we add a feature in to the platform
90.17 -> we make a full security review and we
92.18 -> try to bake it 3d inside and this gives
94.79 -> us a really really good edge and as I'm
96.439 -> going to describe for Eve of each of
97.88 -> these features they all interact
101.09 -> together to produce an experience that
102.86 -> is really really secure and makes the
104.299 -> endpoint very very secure so I'm gonna
106.969 -> do now is take us through every single
108.5 -> layer and kind of describe a little bit
110.09 -> around the security stature and the
111.799 -> security features that exist in that
113.36 -> layer right so let's start on the
116.21 -> hardware layer what we know is that
118.159 -> every Chrome device on the market today
120.14 -> has a TPM a TPM is a trusted platform
122.539 -> module and a security chip that lives
124.549 -> within the Chrome device and this is
126.53 -> very very important to know right
127.939 -> because the trusted platform is in fact
129.53 -> it acts like is this a very secure chip
132.14 -> and it acts like a smart card on your
134.18 -> so which means every time you buy a
135.799 -> chrome device there's a built-in smart
137.299 -> and this is very very important to know
139.549 -> because as we will see later this
141.139 -> security chip is used in many many of
143.15 -> the features that that build the
145.249 -> security on the upper layers and what I
148.7 -> want to really only mention here is that
150.019 -> we don't sacrifice with that like every
152.75 -> single Chrome device has this trusted
154.76 -> platform that has this security chip and
156.889 -> even though it would you know enable us
158.75 -> to produce lower-cost Hardware by moving
161.329 -> this we actually do not do that we do
162.95 -> not sacrifice this on security in this
165.079 -> and this is very important on the
167.15 -> hardware level because it builds on a
168.62 -> lot of things that go on top of it we go
172.34 -> above the hard way now we look at the
174.169 -> frame where we have something called
175.549 -> verified boot which is one of those main
178.01 -> pillars of security for the platform I'm
180.439 -> going to try and describe it very
181.609 -> briefly here what you see in these
182.959 -> diagrams on the left and on the right is
185.03 -> that on Chrome OS the boot process
187.909 -> starts from the firmware and on the
189.949 -> farmer there's this very this is a
191.48 -> read-only partition this means it's a
193.31 -> piece of code that no one can change not
195.68 -> an attacker
196.909 -> not Google with this one update the
198.56 -> infrastructure no one can change that
200 -> it's truly read-only what happens in the
202.34 -> boot process is we start with this week
204.079 -> only with this only portion of the code
207.259 -> and start executing other pieces of code
209.93 -> that built on top of that and while we
212.389 -> execute that code we check for the
213.769 -> signature and all these signatures
215.389 -> chained back to this read-only partition
217.069 -> that cannot be changed this allows us to
219.049 -> ensure that all all the code that is
221.329 -> being executed is code that we know
222.919 -> about encode that we can verify the
224.689 -> integrity of and this is demonstrated on
228.59 -> the by the diagram on the right hand
230.78 -> side because if we if an attacker
232.609 -> actually manages to inject malware and
234.62 -> change this code execution routine to
236.989 -> have persistent malware on the system
239.139 -> the Chrome device will not boot right so
241.939 -> it was started from rain and then try to
243.769 -> execute those cold pieces and check
245.359 -> their signatures but then it will hit
246.979 -> the malware and we'll think oh well this
248.93 -> is code I have never seen before
250.34 -> so this was not what I know to be a
253.28 -> proper Chrome OS image and we'll stop
255.379 -> the boot process and then reboot back to
257.239 -> something that is clean and this really
259.969 -> raises the bar for persistent attacks
261.59 -> right because you cannot bring a piece
263.659 -> of code and have it execute within the
265.37 -> boot process or just afterwards
267.439 -> without triggering these these these
270.96 -> protections within the Chrome device
272.49 -> which you know causes it to boot back
274.889 -> into a clean image right above the
279.15 -> firmware and once now we're past the
280.889 -> verified boot layer well we have the
282.9 -> operating system and on the operating
285.03 -> system this is a very massive surface
286.65 -> right on operating system you have
288.509 -> services like the networking layer yes
290.43 -> services like that which deal with the
292.65 -> GPU they deal with you know bringing up
294.659 -> the user sessions all these services
297.169 -> have a very vast attack service and what
299.969 -> we need to make sure here is that if any
302.099 -> of these services is compromised
303.87 -> they cannot infect other services right
306.12 -> and this is what we talk about like with
308.37 -> process sandboxing all these services
310.53 -> interact with each other through very
312.24 -> well-defined interfaces so that if one
314.039 -> of them is compromised it cannot
315.27 -> compromise other services and with
317.58 -> privilege separation is a very very
319.229 -> close concept as well a lot of these
321.69 -> services do not need wide privileges so
324.93 -> if you look at something like the metric
326.159 -> layer it doesn't need access to things
328.08 -> like the camera or the GPU right so
330.599 -> Chrome OS really locks down and says
332.069 -> while you're the networking piece so you
333.75 -> will not give you access to the GPU or
335.46 -> to the camera so that if there's an
337.259 -> exploit that happens in that work piece
338.669 -> then that exploit cannot spread or it
342.15 -> cannot give this this attacker too much
344.69 -> privileges right so I'm again like this
347.819 -> is not a feature that's on its own will
350.699 -> protect the system but this feature in
352.529 -> combination with many other features
353.759 -> significantly raises the bar for any
355.8 -> attacker - and I do strange things on
358.77 -> the platform and resist attacks that go
360.69 -> beyond that another feature is full disk
363.9 -> encryption and this is something that is
366.419 -> not something that needs to be turned on
368.94 -> right on many other platforms you have
370.589 -> your hard disk and then you know it's a
372.36 -> feature where you can enable it and now
374.039 -> it protects your it encrypts your hard
375.93 -> drive uncompressed this is that this is
377.729 -> just the default all data that is stored
380.099 -> whether it's user session data or system
381.99 -> data is encrypted on the device at rest
384.96 -> so when the combat is turned off it's
386.879 -> actually not accessible the data on the
390.029 -> device is not accessible to attack this
391.65 -> from the outside and the first point
394.05 -> that we want to talk about is automatic
395.759 -> and seamless updates and this is really
397.709 -> a cornerstone of security because
400.29 -> once an exploit is actually found and
402.96 -> you know no system is prone to exploit
405.6 -> is every system is prone to exploit and
410.03 -> what we really want to make sure that if
412.38 -> an exploit is actually found then we can
414.75 -> actually issue a patch and update
416.04 -> devices in the field and this is very
418.35 -> very important right because we can
420.6 -> patch them we can issue a patch and we
422.52 -> can send the to all devices in the field
424.26 -> in a very very short time to be clean
426 -> the order of 24 and 48 hours and this is
428.58 -> something that does not exist on other
429.87 -> platforms the ability to issue patches
431.97 -> and update devices in the field in such
434.22 -> a quick and easy manner and this
436.11 -> protects the system against volume of
438.48 -> these that have been found but have been
440.01 -> patched and allows all the users to say
441.9 -> up to date and all the devices to stay
443.73 -> up to date and another feature of this
445.86 -> is that this is really seamless right so
447.96 -> this is not a device that you know oh I
449.46 -> got an updates in our - you know restart
451.41 -> the computer and wait three seconds for
453.51 -> it to apply the update there are three
454.71 -> minutes to apply the update I'll come as
457.32 -> this is super very very seamless so you
459.57 -> have the update it's downloaded and
461.01 -> placed next to the other system image
462.9 -> and then on boot
464.22 -> we still boot up in six seconds that's
466.02 -> the only thing we do is we swap to the
467.61 -> new image alright so the user doesn't
469.62 -> have to feel of that it so update stops
472.14 -> being a pain it's automatic and then all
474.51 -> users just get it and apply it without
476.64 -> having to wait or become out-of-date on
482.25 -> top of operating systems we have user
484.05 -> sessions and you know I'm Chrome OS it's
486.69 -> a device where multiple users can can
488.85 -> share the device and this has been very
490.62 -> very successful in many many different
492.03 -> use cases one of West's most prominent
495 -> of them is actually the education use
496.68 -> case right where you have a card that
498.06 -> comes into the school into the classroom
500.7 -> and then students just take any device
502.62 -> and just login and they have all the
504.18 -> apps and data but it's actually very
506.37 -> hard to protect users against each other
508.02 -> right because now you have multiple
509.13 -> users and you have multiple user data so
511.26 -> here comes our first feature which is
513.09 -> per user encryption every single user
515.25 -> has their data within within their own
516.93 -> partition and that protein is actually
518.79 -> encrypted with a hash of their password
520.44 -> so that if you have another user that
523.41 -> actually is compromised it will not
525.54 -> infect other users on the system so he
527.94 -> again we raise the bar significantly so
530.25 -> that a compromise that happens in one
531.96 -> place cannot spread to another
533.43 -> place and in this case it's compromised
535.47 -> for user a does not spread to user B
537.81 -> because users B user B's data is
540.57 -> actually encrypted with user base
541.86 -> password and even even compromise within
544.5 -> user a can not reach into that into that
547.17 -> data so we significantly raise the bar
550.32 -> there another one within user session is
552.87 -> again process sandboxing and
554.64 -> defense-in-depth the things we mentioned
556.2 -> on the operating system level but we
557.76 -> also take it to the user sessions
559.11 -> because we know within user sessions you
560.7 -> have a lot of apps that's one so take an
562.5 -> example like the Chrome browser which
564 -> has a vendor that displays the their the
567.06 -> page of web pages for the user so now
568.86 -> suppose an attacker actually finds an
570.959 -> exploit and wants to exploit the
572.79 -> renderer to get to that user data
574.52 -> actually chrome is treated as an
576.63 -> untrusted application within Chrome OS
579.33 -> and an exploit within chrome cannot leak
583.41 -> into chrome OS right so if you exploit
585.33 -> the browser you will not be able to leak
587.07 -> that exploit into for example the
588.99 -> network layer because these are sandbox
591.24 -> and they again they they they talk to
593.459 -> each other within very defined
595.16 -> interfaces another feature is cross
599.07 -> device policy compliance and this is
601.32 -> important to note because what
603.9 -> enterprises and it schools generally
605.64 -> want to do is that policies actually
607.41 -> follow users around so I'm a user and I
609.779 -> log into Chromebook a versus Chromebook
612.15 -> be it's very important from from an
615.69 -> administration perspective from a
617.19 -> security perspective that my policies
618.51 -> actually follow me around and this is
620.43 -> something that we have implemented in
621.75 -> Chrome OS so that you as a user whether
623.91 -> you're logged into one device or the
625.56 -> other it doesn't matter your policies
626.94 -> follow you around so if if I've set a
630.18 -> certain set of policies for user a if
632.61 -> that user logs into one Chromebook or
635.13 -> the other to their personal Chromebook
637.2 -> or into the enterprise and welcome book
639.06 -> it doesn't matter they will get a
640.68 -> managed session and this is very
642.48 -> important from a security perspective
643.77 -> because many times those manage policies
646.47 -> imply things like you know I want to
648.72 -> enable your lock screen or I want to
650.82 -> monitor the network traffic that is
652.89 -> happening and this follows the user
654.69 -> around as they go from device to device
656.839 -> there are also other features that we
659.1 -> inherit from Chrome browser such as Safe
661.2 -> Browsing which is this chrome knows that
664.079 -> there's a lot of malicious websites out
666.029 -> there and we
666.73 -> do a lot of analysis on our servers of
670.209 -> websites that we know to host malware or
672.43 -> websites that we know that will exploit
674.139 -> the users so we generally block users
676.209 -> from going to those websites right and
677.949 -> admins can enable that feature for their
679.6 -> users so that they know they can browse
681.31 -> safely on the Internet
682.48 -> and they won't be taken through
683.74 -> clickbait and through other measures
685.24 -> into websites that will eventually
687.279 -> install malware on their system
689.01 -> certificate enrollment again is one of
691.51 -> those things where you can use the TPM
694.42 -> on the device the security chip to
696.519 -> actually generate keys that let you
698.199 -> allow you to know for a certificate with
699.73 -> the packet and this is very important
701.68 -> because every as we mentioned every
703.81 -> Chrome device has a TPM so you have a
705.639 -> guarantee when you're on Chrome device
707.019 -> that you can have your entire fleet and
709.449 -> you know all your users using Hardware
711.04 -> Baxter certificates which are my have
712.93 -> much stronger security stature than
715.41 -> software back certificates that can be
718.959 -> copied around and taken from user to
720.82 -> user and from machine to machine if we
725.26 -> go even on a how I'll ever like you look
727.18 -> at like policy and management right so
729.19 -> when what we have on Chrome OS is and
731.62 -> something is also a big focus for us how
734.41 -> do you I can actually achieve security
735.76 -> when you're looking at that layer and we
737.86 -> have many many actually complete
739.06 -> features that we added over time one of
740.769 -> them is permission controls an admin
743.139 -> might say well I I would like actually
745.3 -> to have a strong leader security posture
747.97 -> when it comes to audio and video where I
749.649 -> do not want my users to be allowed to
752.44 -> use video all right and you can actually
754.87 -> enforce that on a Chrome device so that
756.61 -> you can block the users from from from
758.23 -> from accessing apps that actually use
760.389 -> their video okay some malware and now
762.55 -> decides to spy on users so that it's
764.47 -> through their cameras if you look at
766.449 -> another networking player we also have
767.98 -> policies there that allow you for
770.199 -> example to restrict the chrome device
771.91 -> from connecting to any network that is
773.589 -> not a managed network right so when you
775.72 -> come to work you can actually connect
777.04 -> your network to them your Chromebook to
778.69 -> the Internet but if you take your
780.01 -> Chromebook and try to go to a Starbucks
782.38 -> cafe then or two it like a regular
784.75 -> Internet cafeteria then you will not be
787.36 -> able to connect to the internet proxies
789.399 -> is another one of those policies where
790.99 -> you can force the user and a device into
793.269 -> a certain proxy so that you can monitor
795.43 -> all the traffic that is going through
797.319 -> the session and of course we have many
799.39 -> other policies that
800.59 -> can be enabled signing restrictions
802.09 -> where you can define which users can use
805.029 -> a device and things like sign policy
809.17 -> delivery where every or any policy that
811.12 -> actually comes unto the device is signed
813.16 -> by the Google servers so that you know
814.96 -> that attacks like for example injecting
817.12 -> policy via men via men in the middle
820.36 -> attack is not possible because we were
822.19 -> always very far the signature before
823.72 -> applying the policy and that makes the
825.58 -> policy completely unspookable right
829.98 -> let's take it even a level further so
832.96 -> once you are on the device here booted
834.52 -> your operating system you are within a
836.02 -> user session and it is a managed user
838.54 -> session and as we mentioned we have all
840.279 -> these mitigations in place to actually
841.81 -> make sure that this is a secure endpoint
843.61 -> and we take it to the next level which
845.98 -> is app delivery so I go to something
847.63 -> like the Play Store how can I verify
849.64 -> that the abs I'm getting from the place
851.23 -> were actually good apps that you know
852.7 -> this is not malware how can we actually
854.95 -> protect the user in these situations and
858.07 -> this is where we also have a lot of
859.42 -> protections in place so for the Play
861.19 -> Store for example we have massive
862.93 -> infrastructure that actually checks each
864.91 -> and every app that is uploaded for any
866.95 -> signs of malware right we have this as
869.62 -> you know all based on Google's machine
871 -> learning algorithms and it's how it's
873.46 -> becoming better and better and better
874.99 -> with time and this is a way where you
878.29 -> know yeah
878.92 -> Mary the technologies who Mary
880.54 -> client-side and server-side technologies
882.19 -> to protect the users so that even when
884.29 -> the users are not actively on their
885.7 -> machines we're still doing a lot of
886.93 -> stuff on the back end that ends up
889.15 -> increasing the level of protection for
891.73 -> users on their devices another thing
893.98 -> that is possible is to remotely
895.15 -> uninstall apps from user systems so if
898.72 -> we you know after users have installed
900.67 -> apps that have been and then they have
902.71 -> been detected by Google to be malware
904.39 -> can issue an uninstall command and these
906.94 -> can be move all these apps from users
909.37 -> machines and this is again this is very
911.709 -> unique to the to the place where into
914.26 -> Google's platforms rights and it is it
917.05 -> is one of those security features that
919.29 -> differentiate it from other platforms
921.55 -> for administrators there's also many
924.07 -> different ways to block users from using
926.08 -> certain apps right so you can actually
928.15 -> configure a chrome device and the place
931.36 -> where on the chrome device to not allow
933.04 -> the installation of any
934.3 -> except those within a certain whitelist
936.31 -> and this is a poster that many
938.17 -> enterprises like right because they can
939.94 -> control exactly what users can install
941.5 -> so in a way they limit the ability of
943.72 -> users and the flexibility to use the
945.67 -> platform but again it increases their
947.8 -> security support because they know they
951.37 -> have certainty around which apps can be
953.41 -> installed and because we don't let allow
955.75 -> side-loaded
956.41 -> apps on Chrome devices now they have a
959.14 -> very good certainty that they decide to
961.57 -> be in the whitelist
962.56 -> is actually what is being installed one
967.3 -> last thing we want to describe and and
968.92 -> this is a feature that has been added
971.32 -> recently and where a lot of you heard
973.45 -> about it and wanted to hear more about
974.83 -> this is verified access referent access
977.59 -> is actually very interesting and it goes
979.33 -> beyond a lot of things we it builds on
982.96 -> top of it a lot of things we are doing
984.7 -> and I'll try to describe it here what
988.93 -> basically gives you is a legal time
991.66 -> check on the integrity of your system
993.61 -> right so in real time you can tell
996.55 -> whether chromebook is actually a
998.02 -> chromebook that's has been booted into
1000.06 -> verified mode and is enterprise enroll
1002.04 -> and this is a very very strong check
1003.99 -> because it's a cryptographic check based
1005.61 -> on the TPM there are many different
1007.65 -> platforms you can make similar checks
1009.51 -> but they're all heuristics based so
1011.55 -> they're trying to figure from the client
1013.05 -> whether it's compromised or not but we
1015.12 -> know that this is not enough because a
1016.59 -> compromised client can always proof
1018.24 -> these signals so if you have a virus on
1019.89 -> the system and your system Hey are you
1021.96 -> in a good state well the virus has
1023.97 -> already compromised the assistant and it
1025.56 -> can spoof that signals like yes I am in
1027.21 -> a good state carry on right give me your
1029.52 -> valuable resources download your email
1031.76 -> give me access to your network and this
1035.88 -> is something we want to avoid so what
1037.95 -> happens today on a chrome device is the
1040.98 -> following you can actually set up a
1042.72 -> network service so that it can know
1044.64 -> whether it's talking to a genuine and
1046.56 -> Chromebook with that's been booted and
1048.93 -> verified mode and the way it does is
1051.21 -> first of all you want the Chromebook
1054.6 -> comp device goes to the google verified
1056.82 -> access server and it asks for a
1058.8 -> challenge it gives it back that
1060.48 -> challenge and what it does on the device
1062.43 -> it uses the TPM to go in and produce a
1065.43 -> response for that challenge and that
1067.2 -> response
1068.16 -> for the challenge its bottom to that
1069.6 -> challenge and it verifies that this
1072.39 -> device has is actually in verified mode
1075.21 -> now it sense this challenge response to
1077.19 -> the network service network service
1079.14 -> jolly is responsible for protecting the
1081.48 -> certain resource so for example imagine
1084.09 -> network service that gives you access to
1086.04 -> a certificate so you're trying to mint a
1087.96 -> certificate for your device now before
1090.24 -> you give that certificate back to the
1092.01 -> device you take that challenge response
1094.23 -> and verify with a Google server API
1096.03 -> again well here's the challenge response
1097.89 -> I received from a Chrome device is this
1099.96 -> a valid Chrome device and this is a
1102.06 -> real-time integrity check because the
1103.95 -> Google service can now actually tell the
1106.68 -> network service that's trying to give a
1108.24 -> certificate or trying to give you an e a
1110.04 -> bunch of emails then tell you yes this
1112.26 -> is actually a Chromebook that has booted
1115.02 -> in verified mode and is enterprise
1116.52 -> enrolled so you have this reached and
1118.32 -> check out the NPO Tegrity and then you
1120.72 -> know then a free service can decide well
1122.1 -> now that I can trust this endpoint I'm
1123.99 -> gonna give it a certificate I'm gonna
1125.79 -> give it its emails and this is very very
1129.14 -> secure and very cryptographic and it's
1131.79 -> really a very strong check regarding the
1135.09 -> integrity of the endpoint so this
1139.14 -> concludes our our tour of all the
1143.01 -> different layers and as we have seen you
1145.14 -> know this security is not one thing or
1147.57 -> one feature on a certain layer it's
1149.49 -> actually something that we spread across
1151.08 -> many many different layers in the
1152.85 -> operating system and this goes all the
1154.83 -> way from the free hardware to the
1156.15 -> framerate to the operating system to use
1157.98 -> their sessions through policy and
1160.02 -> management at delivery we have a Play
1162.09 -> Store and verified access which is the
1164.31 -> feature we mentioned last now the would
1169.89 -> love to hear your comments on this and
1171.78 -> of course if you have any questions
1173.4 -> please send us send us these questions
1176.04 -> and we'll try to answer them as well as
1179.28 -> possible I really hope you have enjoyed
1181.38 -> this tour and looking forward to all
1183.9 -> your questions many many thanks
1195.63 -> you
Source: https://www.youtube.com/watch?v=maCSmdy3an4