Welche Daten werden für Livepatch an Canonical übertragen?

10

Ich habe gerade ein Upgrade auf 18.04 durchgeführt und wollte Livepatch ausprobieren. Nachdem ich die Webseite mit den Livepatch-Nutzungsbedingungen ( https://www.ubuntu.com/legal/terms-and-policies/livepatch-terms-of-service ) gelesen hatte, fragte ich mich ein wenig über diese beiden Absätze im Abschnitt über personenbezogene Daten:

Möglicherweise erfassen wir auch bestimmte nicht persönlich identifizierbare Informationen, die sich auf Ihrem Computer befinden. Die gesammelten Informationen können Statistiken darüber enthalten, wie oft Daten übertragen werden, und Leistungsmetriken in Bezug auf Software und Konfiguration. Sie stimmen zu, dass diese Informationen von Canonical gespeichert und verwendet werden dürfen.

Canonical kann einige oder alle von Ihnen gesendeten, veröffentlichten oder veröffentlichten personenbezogenen Daten und Inhalte offenlegen, wenn dies zur Einhaltung des geltenden Rechts oder der Anordnung oder Anforderung eines Gerichts, einer Verwaltungsbehörde oder einer anderen Regierungsbehörde erforderlich ist. Jede andere Verwendung Ihrer persönlichen Daten unterliegt den Datenschutzbestimmungen.

Ich verstehe, dass Canonical für das Live-Patching einige Dinge über mein System wissen muss, wie zum Beispiel die Kernel-Version. Außerdem kennen sie über mein SSO-Konto und das Token meine E-Mail-Adresse und meinen Namen.

So weit, ist es gut. Aber ich frage mich, was Canonical sonst noch über mein System wissen muss. Der obige Text ist diesbezüglich vage. "Statistiken" und "Leistungsmetriken" klingen nicht so, als wären sie für den Live-Patch-Dienst an sich erforderlich. Wenn diese Daten wirklich "nicht persönlich identifizierbar" sind, warum bittet Canonical einen Absatz später, zuzustimmen, dass sie auf Anfrage an Verwaltungsbehörden oder Regierungsstellen weitergegeben werden dürfen?

Welche Daten werden einmal und regelmäßig an Canonical übermittelt? Wie kann ich untersuchen, was übertragen wird? Wie kann ich sicher sein, dass es sich nicht plötzlich ändert, mehr zu senden, als ich möchte?

Dies ist eine technische Frage. Ich möchte nicht auf die Nutzungsbedingungen von Canonical oder auf rechtliche Fragen eingehen. Ich möchte wirklich einen technischen Weg finden, um zu finden, was übertragen wird, bevor ich mich anmelde.

Sebastian Stark
quelle
Ich denke, Livepatch funktioniert über Snapd, und dies ist die gleiche ToS / Datenschutzrichtlinie wie Canonical für SSO, Launchpad, Snap Store usw. Ich denke, Snapd überträgt einige Dinge wie Hardware-Informationen oder ähnliches.
Dobey
Ich denke, die einzige Möglichkeit, dies sicher zu wissen, besteht darin, einen Monitor in Ihre Internet-Uploads zu integrieren, die App auszuführen und dann die Monitorprotokolle zu überprüfen. Wenn sie Ihre hochgeladenen Daten verschlüsseln, sehen Sie natürlich nur binären Garbaly-Gook.
WinEunuuchs2Unix

Antworten:

11

Da der Livepatch-Client proprietär ist, habe ich keine vollständige Antwort.

Das heißt, der client ( /snap/canonical-livepatch/*/canonical-livepatchd) ist in Go geschrieben. Beim Debuggen mit Delve finden Sie zunächst einige Informationen:

(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),
    ],}

Die Felder in der statusVariablen sind:

  • Client-Version
  • Maschinen-ID (der Wert von /etc/machine-id)
  • Maschinen-Token (Ubuntu One-Token?)
  • CPU-Modell und (OS?) Architektur
  • Letzte Überprüfungszeit
  • Startzeit (Zeit zum Booten?)
  • Apply Time (?? - möglicherweise, als das letzte Update angewendet wurde?)
  • Betriebszeit
  • Liste der Kernel

Startzeit und Betriebszeit können als in Statistiken und Leistungsmetriken enthalten angesehen werden.

Auch dies ist ein Ausgangspunkt. Machen Sie daraus, was Sie wollen, und hoffentlich kann jemand anderes genauere Informationen liefern.

Wie kann ich sicher sein, dass es sich nicht plötzlich ändert, mehr zu senden, als ich möchte?

Das kannst du nicht. Der Quellcode ist nicht verfügbar und Snaps werden automatisch aktualisiert, IIRC.

muru
quelle
Interessant, dass in Ihrem Link steht: "Diese ID identifiziert den Host eindeutig. Sie sollte als" vertraulich "betrachtet werden und darf nicht in nicht vertrauenswürdigen Umgebungen, insbesondere im Netzwerk, offengelegt werden." Ich frage mich, ob Livepatch weiter funktionieren würde, wenn ich die Maschinen-ID regelmäßig ändere.
Sebastian Stark
@SebastianStark Da Livepatch für bis zu drei Systeme für die Community kostenlos ist, sollte es für mindestens drei Änderungen funktionieren. Ich bin mir nicht sicher, was danach passieren wird.
Muru
Ich glaube, ich werde es nie erfahren. Ich glaube nicht, dass mein Arbeitgeber mich jemals diese Vereinbarung unterzeichnen lassen würde.
Sebastian Stark
Sie hätten das Kopfgeld wahrscheinlich nicht so schnell vergeben sollen. Jemand anderes hätte es wahrscheinlich besser gemacht, die Einbauten zu durchsuchen.
Muru
Du hast wahrscheinlich Recht. Obwohl ich hoffe, dass die Leute hier dies nicht nur für die (kleine) Prämie tun würden. Ich denke, diese Frage ist ziemlich wichtig.
Sebastian Stark
2

Ich habe das Verkaufsteam von Canonical gefragt, welche Daten der Live-Patch-Service überträgt. Sie meldeten sich damit bei mir:

Dies sind die Informationen, die wir über den Kunden senden:

  • Maschinen-ID von / etc / machine-id
  • Maschinentoken vom Livepatch-Server
  • Architektur der Maschine
  • CPU-Modell der Maschine
  • Wann wurde der Client zuletzt aktualisiert?
  • Wann wurde das System gestartet?
  • Wann wurde Livepatch zuletzt angewendet?
  • Aktuelle Systemverfügbarkeit
  • Kernelversion

Sie erwähnten auch, dass sie auch einige Snap-Statistiken übertragen, die sich mit den GDPR-Anforderungen ändern könnten.

Christian
quelle