¿Qué datos se transmiten a Canonical para livepatch?

10

Acabo de actualizar a 18.04 y quería probar livepatch. Después de leer la página web de Términos de servicio de Livepatch ( https://www.ubuntu.com/legal/terms-and-policies/livepatch-terms-of-service ) me pregunté un poco sobre estos dos párrafos en la sección de datos personales:

También podemos recopilar cierta información de identificación no personal, que se encuentra en su computadora. La información recopilada puede incluir estadísticas relacionadas con la frecuencia con que se transfieren los datos y métricas de rendimiento en relación con el software y la configuración. Usted acepta que esta información puede ser retenida y utilizada por Canonical.

Canonical puede divulgar cualquiera o todos los datos personales y el contenido que ha enviado, publicado o publicado si es necesario para cumplir con la ley aplicable o la orden o requerimiento de un tribunal, agencia administrativa u otro organismo gubernamental. Cualquier otro uso de sus datos personales está sujeto a la Política de privacidad.

Entiendo que, para hacer los parches en vivo, Canonical necesita saber algunas cosas sobre mi sistema, como la versión del kernel. Además, a través de mi cuenta de SSO y el token, conocen mi dirección de correo electrónico y mi nombre.

Hasta ahora tan bueno. Pero me pregunto qué más debe saber Canonical sobre mi sistema. El texto anterior es vago sobre esto. Las "estadísticas" y las "métricas de rendimiento" no parecen necesarias para el servicio de parches en vivo per se. Además, si esos datos son realmente "no identificables personalmente", ¿por qué Canonical solicita un párrafo más tarde para aceptar que pueden divulgarlos a agencias administrativas u organismos gubernamentales a pedido?

¿Cuáles son los datos transmitidos a Canonical, una vez y regularmente? ¿Cómo puedo investigar lo que se transmite? ¿Cómo puedo estar seguro de que no cambiará repentinamente para transmitir más de lo que quiero?

Esta es una pregunta técnica. Yo no quiero hablar de TOS o jurídicas cuestiones de Canonical. Realmente quiero una forma técnica de encontrar lo que se transmite antes de registrarme.

Sebastian Stark
fuente
Creo que livepatch funciona a través de snapd, y esta es la misma Política de privacidad / ToS que Canonical tiene para todos los SSO, Launchpad, Snap store, etc. Creo que snapd transmite algunas cosas como información de hardware o algo así.
Dobey
Supongo que la única forma de saberlo con certeza es poner un monitor en sus cargas de Internet, ejecutar la aplicación y luego verificar los registros del monitor. Por supuesto, si están encriptando sus datos que cargan, solo verá binaria garbaly-gook.
WinEunuuchs2Unix

Respuestas:

11

Dado que el cliente livepatch es propietario, no tengo una respuesta completa.

Dicho esto, el cliente ( /snap/canonical-livepatch/*/canonical-livepatchd) está escrito en Go. Depuración con Delve , aquí hay información para comenzar:

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

Los campos en la statusvariable son:

  • Versión del cliente
  • ID de máquina (el valor de /etc/machine-id)
  • Token de máquina (¿token de Ubuntu One?)
  • Modelo de CPU y arquitectura (¿SO?)
  • Última hora de verificación
  • Tiempo de arranque (¿tiempo de arranque?)
  • Aplicar tiempo (?? - posiblemente, ¿cuándo se aplicó la última actualización?)
  • Tiempo de actividad
  • Lista de granos

El tiempo de arranque y el tiempo de actividad podrían considerarse incluidos en las estadísticas y las métricas de rendimiento.

De nuevo, este es un punto de partida. Haz lo que quieras y, con suerte, alguien más puede proporcionar información más precisa.

¿Cómo puedo estar seguro de que no cambiará repentinamente para transmitir más de lo que quiero?

No puedes El código fuente no está disponible y las instantáneas se actualizan automáticamente, IIRC.

muru
fuente
Es interesante que diga en su enlace "Esta identificación identifica de forma exclusiva al host. Debe considerarse" confidencial "y no debe exponerse en entornos no confiables, en particular en la red". Me pregunto si livepatch seguiría funcionando si cambio la identificación de la máquina regularmente.
Sebastian Stark
@SebastianStark ya que livepatch es gratuito para hasta tres sistemas para la comunidad, supongo que debería funcionar al menos para tres cambios. No estoy seguro de lo que sucederá después de eso.
Muru
Creo que nunca lo sabré, no creo que mi empleador me permita firmar este acuerdo de todos modos.
Sebastian Stark
Probablemente no deberías haber otorgado la recompensa tan pronto. Probablemente a alguien más le habría ido mejor cavando a través de las partes internas.
muru
Probablemente tengas razón. Aunque espero que la gente aquí no solo haga esto por la (pequeña) recompensa. Creo que esta pregunta es bastante importante.
Sebastian Stark
2

Le pregunté al equipo de ventas de Canonical qué datos transmite el servicio de parches en vivo. Me respondieron con esto:

Esta es la información que enviamos sobre el cliente:

  • ID de máquina de / etc / machine-id
  • Token de máquina del servidor livepatch
  • Arquitectura de la máquina
  • Modelo de CPU de la máquina
  • Cuándo fue la última actualización del cliente
  • ¿Cuándo se inició el sistema?
  • ¿Cuándo se aplicó por última vez livepatch?
  • Tiempo de actividad del sistema actual
  • Versión del núcleo

También mencionaron que también transmiten algunas estadísticas instantáneas, que pueden cambiar con los requisitos de GDPR.

cristiano
fuente