Penetration Test Report (NCCGroup): NCC Group Public Report VPN by Google One v1.0

VPN by Google One: Technical Security &
Privacy Assessment
Google
April 4, 2021 – Version 1.0
Preparedby
EricSchorn
JohnMcGuiness
TylerColgan
PaulBottinelli
YujingQiao
TapanSingh
©2021–NCCGroup
PreparedbyNCCGroupSecurityServices,Inc. forGoogle. Portionsofthisdocumentandthetemplates
usedinitsproductionarethepropertyofNCCGroupandcannotbecopied(infullorinpart)without
NCCGroup’spermission.
Whileprecautionshavebeentakeninthepreparationofthisdocument,NCCGroupthepublisher,and
theauthor(s)assumenoresponsibilityforerrors,omissions,orfordamagesresultingfromtheuseof
the information contained herein. Use of NCC Group’s services does not guarantee the security of a
system,orthatcomputerintrusionswillnotoccur.
Table of Contents
1 TableofContents............................................................................ 2
2 ExecutiveSummary ......................................................................... 3
Synopsis ............................................................................................. 3
ProjectLogistics ...................................................................................... 3
AssessmentMethodology ............................................................................. 3
ProjectLimitations.................................................................................... 4
KeyFindings ......................................................................................... 4
3 SystemArchitectureReview ................................................................ 5
Introduction.......................................................................................... 5
SystemDesignDiagram............................................................................... 7
CryptographicPrinciples .............................................................................. 7
Observations......................................................................................... 8
SystemArchitectureSummary ......................................................................... 10
4 TechnicalComponentAnalysis ............................................................. 11
Introduction.......................................................................................... 11
GoogleOneAndroidApplication ....................................................................... 11
Client-sideVPNLibrary................................................................................ 13
Server-sideAuthentication ............................................................................ 14
ExternalNetworkAssessmentOnExitNode ............................................................ 14
TechnicalComponentSummary ....................................................................... 15
5 Conclusions .................................................................................. 16
Security.............................................................................................. 16
Privacy............................................................................................... 16
6 FindingFieldDefinitions .................................................................... 17
7 TableofFindings ............................................................................ 19
2 | GoogleOneVPNTechnicalSecurity&PrivacyAssessment NCCGroup
Executive Summary
Synopsis
Duringthefourthcalendarquarterof2020andthefirstcalendarquarterof2021,NCCGroupconductedanin-depth
review of the VPN by Google One virtual private network system. The focus of the engagement was to assess the
product’stechnicalsecuritypropertiesandreviewitsassociatedprivacyclaims.
Theproduct’ssecurityandprivacygoals,asstatedintheproduct’swhitepaper,are:
• “Wefocusonthreecoreprinciples: keepingourusers’informationsecure,treatingitresponsibly,and
puttingourusersincontrol.”
• “WithVPNbyGoogleOne,wewillneverusetheVPNconnectiontotrack,log,orsellyouronlineactivity.”
• “AGoogle-gradeVPNthatprovidesadditionalsecurityandprivacytoonlineconnectivitywithoutundue
performancesacrifices.”
Thetechnicalreviewinitiallyidentifiedfourteenfindings. Bytheconclusionoftheassessmentandremediationperiod
ten findings were fully fixed, one partially fixed, and the remainder were considered acceptable risks by Google.
NCC Group found the resulting system to have a robust implementation and a strong technical security posture.
The consulting team determined that diligent coding and development practices, integration with Android’s VPN
applicationprogramminginterface(API),useofstandardizedVPNprofilesandwell-studiedcryptographicprotocols
enableGoogletoprovideaVPNwhichbenefitsitsuserswithsecurityenhancementsfortheirnetworktraffic.
Todeliveronitsprivacyclaims,theproductintroducessupplementalcryptographicmeasurestodisassociateGoogle
user identities from tunneled VPN traffic. While these measures do not categorically eliminate the opportunity for
Googletocircumventitsprivacyclaims,theydoprovideastructuralframeworkwithinwhichtheapplicationcanprovide
authenticationandauthorizationforuserswithoutsendingidentifyinginformationtotheVPNexitnodes.
ProjectLogistics
The engagement occurred in multiple phases across three months and involved six specialist consultants. Open-
source client-side code was made available via public GitHub repositories, while selected private server-side code
components were transferred via the NCC Group Secure File Exchange server. For each component in scope, NCC
GroupprovisionedastaffcryptographyspecialisttoreviewGoogle’suseofcryptographyasafoundationalcomponent
oftheproduct’ssecurityanduserprivacy.
Thescopeoftheassessmentincludedthefollowingprimarycomponents:
• Architecturereviewoftheproduct’sdesignfromaholisticperspective
• Sourcecodereviewofselectedproductcomponents
– Publicclient-sideVPNlibrarycodefromGoogle’srepositoryonGitHub
– Useridentity-awareserver-sideGoogleOneauthentication&authorizationcode,referredtoas“Zinc”
– Useridentity-blindedserver-sideVPNcode,referredtoas“Brass”and“Copper”
• MobileapplicationsecurityandprivacyassessmentoftheGoogleOneAndroidapplication
• NetworkpenetrationtestoftheexternalVPNdata-pathinfrastructure
AssessmentMethodology
Theengagementprocessinvolvedassessingthecomponentslistedabovetovaryinglevelsofassurance.Thefollowing
methodologieswereused:
• Manualandtool-assistedsourcecodereview • Penetrationtesting
• Dynamictesting • Engineeringteaminterviews
• Designdocumentreview
The general strategy for analyzing the technical security of a particular component involved prioritizing the most
sensitivefunctionalitywiththemostproductivemethodofassurance,partiallyconstrainedbythesensitivityofGoogle’s
proprietaryinternalinfrastructure. Asanexample,NCCGroupperformedsource-codeanalysisoftheVPNlibraryand
3 | GoogleOneVPNTechnicalSecurity&PrivacyAssessment NCCGroup
associatedserver-sidecode,ratherthaninstrumentingandfuzz-testingtheunderlyingcommunications.
For the purposes of the privacy claim assessment, the approach to each component’s analysis was based on how
significant its derived conclusions were to the overall goals as informed by a threat modeling exercise within the
architectural review. As an example, NCC Group performed interviews regarding operational processes instead of
serverbuildauditsontheVPNdata-pathhostsbecausethelackofcontinuousthird-partybuildvalidationtheoretically
allowsGoogletomodifyitsfuturedeploymentbuilds.
ProjectLimitations
This engagement represents a point-in-time evaluation of the VPN by Google One product. Security threats and
attackertechniquesevolverapidly,andtheresultsofthisassessmentarenotintendedtorepresentanendorsement
oftheadequacyofcurrentsecuritymeasuresagainstfuturethreats. Furthermore,statementsmadebyNCCGroup
refertothesystemaspresentedduringtheassessmentwindow,andprovidenoassurancewithregardstoanyfuture
chosenorcompelledtechnicalchangesordeviationsinpolicy.
Asnotedabove,asubsetofcomponentswereassessedbasedontheattestationofGooglestaffandproductdesign
documentstakenatfacevalue. WhileGooglesuppliedsuitablesuppo