Quali dati vengono trasmessi a Canonical per livepatch?


11

Ho appena eseguito l'aggiornamento a 18.04 e volevo provare livepatch. Dopo aver letto la pagina Web dei Termini di servizio di Livepatch ( https://www.ubuntu.com/legal/terms-and-policies/livepatch-terms-of-service ) mi sono chiesto un po 'di questi due paragrafi nella sezione dei dati personali:

Potremmo anche raccogliere alcune informazioni non identificabili personalmente, che si trovano sul tuo computer. Le informazioni raccolte possono includere statistiche relative alla frequenza con cui i dati vengono trasferiti e metriche delle prestazioni in relazione al software e alla configurazione. Accetti che queste informazioni possano essere conservate e utilizzate da Canonical.

Canonical può divulgare alcuni o tutti i dati personali e i contenuti che hai inviato, pubblicato o pubblicato se richiesto per conformarsi alla legge applicabile o all'ordine o ai requisiti di un tribunale, agenzia amministrativa o altro ente governativo. Tutti gli altri usi dei dati personali sono soggetti all'Informativa sulla privacy.

Capisco che, al fine di eseguire il patching dal vivo, Canonical deve conoscere alcune cose sul mio sistema, come la versione del kernel. Inoltre, tramite il mio account SSO e il token conoscono il mio indirizzo e-mail e il mio nome.

Fin qui tutto bene. Ma mi chiedo cos'altro deve sapere Canonical sul mio sistema. Il testo sopra è vago al riguardo. Le "statistiche" e le "metriche delle prestazioni" non sembrano necessarie per il servizio di patch live di per sé. Inoltre, se tali dati sono realmente "non identificabili personalmente", perché Canonical chiede un paragrafo dopo di concordare che possono divulgarli ad agenzie amministrative o enti governativi su richiesta?

Quali sono i dati trasmessi a Canonical, una volta e regolarmente? Come posso indagare su ciò che viene trasmesso? Come posso essere sicuro che non cambierà improvvisamente per trasmettere più di quanto voglio?

Questa è una domanda tecnica. Io non voglio discutere di questioni TOS o giuridiche di Canonical. Voglio davvero un modo tecnico per trovare ciò che viene trasmesso prima di registrarmi.


Penso che livepatch funzioni tramite snapd, e questa è la stessa politica di ToS / Privacy di Canonical per tutti SSO, Launchpad, Snap store, ecc ... Penso che snapd trasmetta alcune cose come informazioni hardware o simili.
Dobey

Immagino che l'unico modo per saperlo con certezza sia mettere un monitor sui tuoi caricamenti su Internet, eseguire l'app, quindi controllare i registri del monitor. Ovviamente se stanno crittografando i tuoi dati caricati vedrai solo binary garbaly-gook.
WinEunuuchs2Unix

Risposte:


12

Dato che il client livepatch è proprietario, non ho una risposta completa.

Detto questo, il client ( /snap/canonical-livepatch/*/canonical-livepatchd) è scritto in Go. Debug con Delve , ecco alcune informazioni per iniziare:

(dlv) bt
0  0x00000000006ad140 in main.(*client).check
   at /home/c/Canonical/go/livepatch/src/github.com/CanonicalLtd/livepatch-client/parts/canonical-livepatch/build/daemon/client.go:212
1  0x00000000006acfeb in main.(*client).Check
   at /home/c/Canonical/go/livepatch/src/github.com/CanonicalLtd/livepatch-client/parts/canonical-livepatch/build/daemon/client.go:200
2  0x00000000006b8415 in main.refresh
   at /home/c/Canonical/go/livepatch/src/github.com/CanonicalLtd/livepatch-client/parts/canonical-livepatch/build/daemon/refresh.go:60
3  0x00000000006bf957 in main.newDaemon.func1
   at /home/c/Canonical/go/livepatch/src/github.com/CanonicalLtd/livepatch-client/parts/canonical-livepatch/build/daemon/daemon.go:76
4  0x00000000006b86a3 in main.(*refreshLoop).loop
   at /home/c/Canonical/go/livepatch/src/github.com/CanonicalLtd/livepatch-client/parts/canonical-livepatch/build/daemon/refresh.go:120
5  0x00000000006c0bfd in main.(*service).Start.func1
   at /home/c/Canonical/go/livepatch/src/github.com/CanonicalLtd/livepatch-client/parts/canonical-livepatch/build/daemon/service.go:151
6  0x0000000000457b31 in runtime.goexit
   at /home/c/.gobrew/versions/1.10/src/runtime/asm_amd64.s:2361
(dlv) locals
rendered.cap = 0
rendered.len = 0
rendered.ptr = *uint8 nil
status = main.ClientStatus {ClientVersion: "8.0.1", MachineId: "bfcf169468f641528ac653c41ff1797d", MachineToken: "",...+7 more}
(dlv) print status
main.ClientStatus {
    ClientVersion: "8.0.1",
    MachineId: "bfcf169468f641528ac653c41ff1797d",
    MachineToken: "",
    Architecture: "x86_64",
    CpuModel: "Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz",
    LastCheck: time.Time {
        wall: 0,
        ext: 0,
        loc: *time.Location nil,},
    BootTime: time.Time {
        wall: 0,
        ext: 63662149770,
        loc: *(*time.Location)(0x963f60),},
    ApplyTime: time.Time {
        wall: 0,
        ext: 0,
        loc: *time.Location nil,},
    Uptime: 3472,
    Kernels: []main.KernelStatus len: 1, cap: 1, [
        (*main.KernelStatus)(0xc4201883c0),
    ],}

I campi nella statusvariabile sono:

  • Versione client
  • ID macchina (il valore da /etc/machine-id)
  • Machine Token (Ubuntu One token?)
  • Modello di CPU e architettura (OS?)
  • Ora ultimo controllo
  • Tempo di avvio (tempo impiegato per l'avvio?)
  • Tempo di applicazione (?? - forse, quando è stato applicato l'ultimo aggiornamento?)
  • uptime
  • Elenco di kernel

Il tempo di avvio e l'Uptime potrebbero essere considerati inclusi nelle statistiche e nelle metriche delle prestazioni.

Ancora una volta, questo è un punto di partenza. Trasformalo in ciò che vuoi e, si spera, qualcun altro può fornire informazioni più precise.

Come posso essere sicuro che non cambierà improvvisamente per trasmettere più di quanto voglio?

Non puoi. Il codice sorgente non è disponibile e gli snap vengono aggiornati automaticamente, IIRC.


Interessante che nel tuo link sia indicato "Questo ID identifica in modo univoco l'host. Dovrebbe essere considerato" riservato "e non deve essere esposto in ambienti non attendibili, in particolare sulla rete." Mi chiedo se livepatch continuerebbe a funzionare se cambio regolarmente l'id della macchina.
Sebastian Stark,

@SebastianStark poiché livepatch è gratuito per un massimo di tre sistemi per la comunità, immagino che dovrebbe funzionare per almeno tre modifiche. Non sono sicuro di cosa accadrà dopo.
muru,

Penso che non lo saprò mai, non penso che il mio datore di lavoro mi lascerebbe mai firmare questo accordo comunque.
Sebastian Stark,

Probabilmente non avresti dovuto assegnare la taglia così presto. Qualcun altro avrebbe probabilmente fatto di meglio a scavare negli interni.
muru,

Probabilmente hai ragione. Anche se spero che la gente qui non lo farebbe solo per la (piccola) taglia. Penso che questa domanda sia abbastanza importante.
Sebastian Stark,

3

Ho chiesto al team di vendita Canonical quali dati trasmettono il servizio di patch live. Sono tornati da me con questo:

Queste sono le informazioni che inviamo sul cliente:

  • ID macchina da / etc / machine-id
  • Token macchina dal server livepatch
  • Architettura della macchina
  • Modello di CPU della macchina
  • Quando è stato aggiornato il client per ultimo
  • Quando è stato avviato il sistema
  • Quando è stato applicato l'ultimo livepatch?
  • Tempo di attività attuale del sistema
  • Versione del kernel

Hanno anche detto che trasmettono anche alcune statistiche istantanee, che potrebbero cambiare con i requisiti del GDPR.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.