web-dev-qa-db-ja.com

ライブパッチのためにCanonicalに送信されるデータは何ですか?

18.04にアップグレードしたばかりで、ライブパッチを試してみたいと思いました。 Livepatch利用規約のウェブページを読んだ後( https://www.ubuntu.com/legal/terms-and-policies/livepatch-terms-of-service )これら2つについて少し疑問に思いました個人データセクションの段落:

また、コンピューター上にある特定の非個人情報を収集する場合があります。収集される情報には、データの転送頻度に関する統計、およびソフトウェアと構成に関するパフォーマンスメトリックが含まれます。この情報はCanonicalが保持および使用できることに同意するものとします。

Canonicalは、適用法または裁判所、行政機関、その他の政府機関の命令または要件に準拠する必要がある場合、送信、投稿、または公開した個人データおよびコンテンツの一部またはすべてを開示する場合があります。個人データのその他すべての使用には、プライバシーポリシーが適用されます。

ライブパッチを適用するには、Canonicalがカーネルバージョンなど、システムに関するいくつかのことを知る必要があることを理解しています。また、SSOアカウントとトークンを通じて、彼らは私のメールアドレスと名前を知っています。

ここまでは順調ですね。しかし、Canonicalは私のシステムについて他に何を知る必要があるのだろうか。上記のテキストはこれについてあいまいです。 「統計」と「パフォーマンスメトリック」は、ライブパッチサービス自体に必要であるとは思えません。また、これらのデータが本当に「個人を特定できない」場合、Canonicalは、要求に応じて行政機関や政府機関に開示することに同意するように、後で1つの段落を求めています。

Canonicalに一度、定期的に送信されるデータは何ですか?送信されたものを調査するにはどうすればよいですか?必要以上に送信しても突然変化しないことをどのように確認できますか?

これは技術的な質問です。 CanonicalのTOSまたは法的問題を議論したいnotサインアップする前に送信されたものを見つけるための技術的な方法が本当に欲しいです。

10
Sebastian Stark

Livepatchクライアントがプロプライエタリであることを考えると、完全な答えはありません。

つまり、クライアント(/snap/canonical-livepatch/*/canonical-livepatchd)はGoで記述されています。 Delve を使用したデバッグ、ここから始めます。

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

status変数のフィールドは次のとおりです。

  • クライアントバージョン
  • マシンID( /etc/machine-id の値)
  • マシントークン(Ubuntu Oneトークン?)
  • CPUモデルと(OS?)アーキテクチャ
  • 最終チェック時間
  • 起動時間(起動にかかった時間?)
  • 適用時間(??-おそらく、最後の更新が適用されたとき?)
  • 稼働時間
  • カーネルのリスト

ブート時間とアップタイムは、統計とパフォーマンスメトリックに含まれると考えることができます。

繰り返しますが、これは出発点です。それをあなたがするものにし、できれば他の誰かがより明確な情報を提供できるようにしてください。

必要以上に送信しても突然変化しないことをどのように確認できますか?

できません。ソースコードは利用できず、スナップは自動的に更新されます(IIRC)。

11
muru

Canonicalの営業チームに、ライブパッチサービスが送信するデータを尋ねました。彼らはこれで私に戻ってきました:

これは、クライアントについて送信する情報です。

  • / etc/machine-idのマシンID
  • Livepatchサーバーからのマシントークン
  • 機械のアーキテクチャ
  • マシンのCPUモデル
  • クライアントが最後に更新されたのはいつですか
  • システムはいつ起動しましたか
  • ライブパッチが最後に適用されたのはいつですか?
  • 現在のシステム稼働時間
  • カーネルバージョン

また、彼らはGDPRの要件によって変わるかもしれないいくつかのスナップ統計も送信すると述べました。

2
Christian