Muss ich jedes Mal ein neues Snap-Paket erstellen, wenn eine Abhängigkeit ein Sicherheitsupdate erhält?

9

Wenn ich ein Snap- Paket mit beispielsweise 5 Abhängigkeiten erstelle . Muss ich jedes Mal eine neue Paketversion erstellen, wenn eine Abhängigkeit ein (Sicherheits-) Update erhält?

Ich meine, der Vorteil von .deb- Paketen ist, dass ich zum Beispiel in Ubuntu / Debian eine Bibliothek verwenden kann und sobald diese Bibliothek ein Update erhält, bedeutet dies auch ein Update für einen Teil meiner Software. Und da sie nur Sicherheitsupdates senden, kann ich (zu 99%) sicher sein, dass das Bibliotheksupdate die API nicht beschädigt, sodass meine Software beschädigt werden kann.

Felix Haller
quelle

Antworten:

7

Die kurze Antwort lautet "Ja". Sie müssen Ihren Snap neu erstellen, wenn Sie eine Abhängigkeit aktualisieren müssen. Allerdings gibt es auch hier eine längere Antwort.

Angenommen, Sie haben eine Anwendung, die SSL verwendet (möglicherweise eine eingebettete Software oder eine vollständige Website mit Apache). Sie recherchieren und verwenden spezifische Schlüsselaustausch- und symmetrische Algorithmen. Angenommen, in SSL wurde eine Sicherheitslücke entdeckt und eine neue Version veröffentlicht. Nur weil es sich um eine Sicherheitsversion handelt, bedeutet dies nicht, dass die gepatchte Sicherheitsanfälligkeit in einem der von Ihnen verwendeten Algorithmen enthalten war. Was wäre, wenn es nicht so wäre? Was wäre, wenn Sie durch Patchen dieser Sicherheitsanfälligkeit in einem Algorithmus, den Sie nicht verwendet haben, etwas getan hätten ?Verwendung war kaputt oder kompromittiert (ist mir kürzlich mit PHP passiert)? Wenn Sie es bündeln, können Sie anrufen, ob Sie ein Upgrade auf Use-by-Use-Basis benötigen oder nicht. Sie können es auch ausführlich testen, bevor Sie es für alle Benutzer bereitstellen. Es besteht auch die Möglichkeit, dass die Distribution, auf die Sie abzielen, eine andere Version von SSL enthält, die mit Ihrer Software nicht funktioniert, wobei die Bündelung im Snap eine plattformübergreifende gemeinsame Erfahrung bietet.

Es gibt definitiv einen Kompromiss zwischen den Vorteilen des Teilens von Abhängigkeiten und den Vorteilen des Bündelns von Abhängigkeiten.

Kyle
quelle
1
Sie haben kürzlich einige wichtige Fragen mit einem gewissen Maß an Autorität beantwortet. Bist du ein Entwickler? Wenn nicht, können Sie auf glaubwürdige Quellen verlinken? Wenn ja, können Sie glaubwürdige Quellen erstellen?
Muru
1
(Abgesehen davon: Wenn ich dem Urteil und dem Verständnis jedes Entwicklers von OpenSSL-Code vertrauen muss, anstatt beispielsweise dem Canonical-Sicherheitsteam oder dem von Debian-Betreuern, die OpenSSL seit Jahren verwalten, ist die Rede von Snap-Sicherheit eine Menge Unsinn. )
Muru
2
Wenn Sie Software von einem Entwickler installieren, vertrauen Sie diesem Entwickler. Die Frage, wie sie mit SSL umgehen, ist ein gutes Beispiel - nur eine gepatchte Version einer Bibliothek zu haben, hilft Ihnen nicht, wenn der App-Entwickler die Bibliothek nicht mit Bedacht einsetzt. Es gibt viele Beispiele für Apps, die aufgrund der schlechten Auswahl an Algorithmen oder der Schlüsselverwaltung oder der Signaturprüfung eine schlechte Sicherheit aufweisen - nichts mit der Version von OpenSSL zu tun, mit der sie verknüpft sind. Es ist ratsam, dies zu verstehen - Sie erhalten keine magische Sicherheit, wenn Sie eine neuere Bibliothek auf Ihrem System installieren.
Mark Shuttleworth
2
Wenn dagegen eine App kompromittiert wird, lässt ein Deb den Angreifer normalerweise über das gesamte System laufen, während ein Snap dies nicht tut. Kein System ist perfekt, aber es ist vernünftig zu sagen, dass Schnappschüsse in einigen Fällen eine nützliche Verbesserung darstellen.
Mark Shuttleworth
1
@MarkShuttleworth Ich vertraue möglicherweise darauf, dass dev X eine anständige App in Sprache Y bereitstellt, aber ich vertraue möglicherweise nicht darauf, dass sie verstehen, ob ein bestimmter Patch für OpenSSL Probleme für sie verursachen kann, und es scheint mir, dass Snaps dies von ihnen verlangen. Das ist eine Ebene technischer Details, mit der die meisten Anwendungsentwickler meiner Meinung nach nicht wirklich vertraut sind. Deshalb verlassen sie (und Benutzer) Bibliotheken wie OpenSSL und Distributionen wie Ubuntu. Natürlich bin ich ein Niemand, also zählt meine Meinung nicht. (Auch können Schnappschüsse beschränkt sein, das heißt nicht, dass sie nicht mit Benutzerdaten umgehen,…
muru