Sind Repository-Listen sicher? Gibt es eine HTTPS-Version?

24

Sind Repository-Updates sicher?

Als ein kleiner Hirnbär von der Entwicklerseite kann ich nicht verstehen, warum die Repository-Liste http://security.ubuntu.comund die anderen http(ungesicherten) Sites in aufgeführt sind /etc/apt/sources.list. Ohne Übereinstimmung mit einer Zertifikatskette wird dies angezeigt als "Bitten Sie einen Antwortenden um eine Liste der zu aktualisierenden Pakete" anstelle von "Fragen Sie die ubuntu.com-Site ...".

Kann sich ein Netzwerk dafür entscheiden, die Update-Sites zu fälschen? Ist es üblich, eine lokal zwischengespeicherte und überprüfte Kopie bereitzustellen?

Charles Merriam
quelle

Antworten:

30

Kurz gesagt: Ja, sie sind sicher, da zum Signieren der Dateien Kryptografie mit öffentlichen Schlüsseln verwendet wird.

Alle von APT heruntergeladenen Dateien haben eine Signatur, mit der überprüft werden kann, ob die heruntergeladene Datei mit den auf Ihrem Computer gespeicherten öffentlichen Schlüsseln von Ubuntu und nur von Ubuntu signiert ist. Dies stellt sicher, dass die Datei, die Sie erhalten, irgendwann von Ubuntu autorisiert wurde und seitdem nicht mehr geändert oder manipuliert wurde.

Eine technische Erklärung, wie dies funktioniert, ist von Ubuntu (und von Debian , das dasselbe System verwendet) erhältlich.

Aufgrund der Verwendung von HTTP anstelle von HTTPS können Lauschangestellte zwar sehen, welche Dateien Sie herunterladen, aber die Privatsphäre ist in diesem Fall wahrscheinlich nicht von Belang. Ein Man-in-the-Middle-Versuch, die Pakete so zu ändern, dass schädlicher Code eingefügt wird, schlägt immer noch fehl, da der Signaturmechanismus dadurch unterbrochen wird.

Ein möglicher Fehler bei diesem Signaturmechanismus ist, dass er nicht garantiert, dass Sie die aktuellste Version des Pakets erhalten (in der Tat ist das Aktualisieren von Spiegeln manchmal langsam). Um dieses Problem zu beheben, enthält die signierte Release-Datei ein "Gültig bis" -Datum, nach dem alle Dateien, auf die verwiesen wird, als veraltet betrachtet werden sollten. Es wäre plausibel, wenn ein Mann in der Mitte ein Archiv innerhalb dieses Gültigkeitsdatums durch eine unveränderte frühere Version des Archivs ersetzen würde und Ihre APT davon ausgehen würde, dass es keine Aktualisierungen gibt. Sie können jedoch keine willkürlichen Änderungen an Paketen vornehmen und können auch nicht über einen bestimmten Zeitpunkt hinaus in die Vergangenheit reisen.

Die Signaturmechanismen bieten in einer solchen verteilten Umgebung, in der die Dateien über viele Server gespiegelt werden, die nicht von Ubuntu gesteuert werden, eine viel bessere Sicherheit als HTTPS. Im Wesentlichen müssen Sie nur Ubuntu vertrauen, nicht dem Spiegel. Sie müssen also nachweisen, dass die Dateien ursprünglich aus Ubuntu stammten und seitdem nicht geändert wurden - die Identität des Spiegels muss nicht überprüft werden.

Beachten Sie, dass Sie Dateien erhalten, die nicht von Ubuntu signiert sind, wenn Sie Ihrer Quellenliste ein nicht offizielles Repository hinzufügen, z. B. ein PPA. APT sollte Sie davor warnen, da sie nicht von einem Zertifikat signiert wurden, das mit einem der öffentlichen Schlüssel übereinstimmt, die auf Ihrem Computer installiert sind und von Ubuntu autorisiert wurden.

thomasrutter
quelle
1
Groß! Die Kurzversion lautet also "Die Transportschicht ist nicht sicher, aber jedes Paket ist signiert. Es gibt keine sichere Liste verfügbarer Updates und Patches für bestehende Sicherheitsprobleme, deren Auslieferung nicht garantiert ist."
Charles Merriam
2
Nicht sicher, was Sie mit "Es gibt keine sichere Liste verfügbarer Updates" meinen, aber die Versionsdatei und die Paketlisten sind signiert. Es ist nur so, dass nicht überprüft wird, ob Ihr Spiegel aktuell ist.
Thomasrutter
3
Wenn es nicht möglich ist, die Aktualität eines Spiegels oder der Hauptwebsite zu überprüfen, kann nicht festgestellt werden, ob Updates, Sicherheitsupdates oder andere Updates verfügbar sind. Das heißt, es gibt keine sichere Liste der verfügbaren Updates.
Charles Merriam
4
Alice führt Ubuntu aus. Bob kontrolliert Alice 'Internetverbindung. Bob kann in Alices Installation kein fehlerhaftes Paket einfügen, da jedes Paket signiert ist. Es gibt einige große Sicherheitslücken in Ubuntu. Alice versucht, das aktualisierte Paket zu finden, aber Bob entfernt alle Erwähnungen des Pakets aus Alices Update-Check. Alice schlägt einen Sysadmin und ruft dann den Update-Check über HTTPS von ubuntu.com ab, um zu überprüfen, ob sie über einen sicheren Link mit der realen Website verbunden ist. Jetzt sieht Alice das Sicherheitsupdate und Bob kann es nicht verbergen.
Charles Merriam
3
Das ist natürlich die richtige Antwort. Aber was ich merkwürdig finde, ist, dass sich niemand Sorgen darüber zu machen scheint, dass ein Lauscher eine Liste aller Pakete erstellt, die Sie installiert haben, einschließlich derjenigen, die Sie aktualisiert haben und derjenigen, die Sie nicht installiert haben, um ihren Angriff auf bekannte zu zielen Sicherheitslücken in diesen Paketen.
Teekin
8

Die bestbewertete Antwort hier ist eindeutig veraltet. Seitdem wurden in apt zwei schwerwiegende Exploits für die Remotecodeausführung gefunden, die auf fehlerhafte Paketüberprüfung zurückzuführen sind. Security Bulletins hier und hier .

Dies ist viel schlimmer als die Bedenken in Bezug auf Datenschutz / Informationslecks und veraltete Paketversionen. Dies ermöglicht die Ausführung von willkürlichem Code als Root, vollständiger Sicherheitsfehler. Und die Sache ist: Diese Angriffe wären verhindert worden, wenn https anstelle von http verwendet worden wäre.

Dies beweist, dass das Prinzip der Tiefenverteidigung hier genauso gilt wie anderswo. Die zahlreichen Behauptungen, dass https im Kontext von apt keinen oder nur einen minimalen Sicherheitsvorteil bietet, sind schlichtweg falsch, wie diese Exploits gezeigt haben.

Die Frage ist dann, ob der Sicherheitsvorteil von https die Kosten in Bezug auf Caching, erhöhten Overhead usw. wert ist. Ich kann das nicht beantworten, aber zumindest denke ich, dass Ubuntu / Canonical / Launchpad optionale https-Endpunkte für ihre Repositories bereitstellen sollte .

Niklas Holm
quelle
1
Sicherheit hat auch mit Datenschutz zu tun, und HTTPS bedeutet, dass es zumindest viel schwerer sein wird, herauszufinden, welche Pakete und Versionen Sie ausführen.
21.
Ich sage allerdings, dass http in Ordnung ist, solange Apt selbst keine Probleme damit hat. Https erstellt jedoch ein Backup für den Fall, dass die GPG-Sicherheit (oder wie sie genauer verwendet wird) durcheinander kommt.
RoundDuckMan
2

Wichtige Ergänzung: Da Upgrades und Erstinstallationen online heruntergeladen werden, ist viel Datenverkehr erforderlich, und die Quelle dieses Datenverkehrs, d. H. Binär- und Textcode-Streams, ist reproduzierbar. Daher gibt es im Internet eine große Anzahl von Gateways und Cache-Geräten. Eine beträchtliche Anzahl von Internetdienstanbietern hat einen auf dem http-Protokoll basierenden Cache eingerichtet, um die Exportbandbreite zu sparen, und das https-Protokoll kann nicht als transparenter Cache vorhanden sein.

Ein weiterer Grund ist, dass das http-basierte Spiegelungsprogramm viel einfacher ist, das tls-ssl-Zertifikat nicht überprüft werden muss und auch keine Probleme mit der Ungültigkeit des Zertifikats oder der Konfiguration des Webservers auftreten müssen.

Vor nicht allzu langer Zeit, vor ungefähr 20 Jahren, zu Beginn des Internets, waren https und Internet-Verkehr immer noch sehr teure Gameplays. Aus diesem Grund enthielt http auch das FTP-Protokoll, das nahezu veraltet ist, als Hauptmethode für die Bereitstellung von Installation und Aktualisierung für die Online-Verteilung von Softwarepaketen.

Ebenso werden Microsoft Windows und Office über http aktualisiert. Sie können feststellen, dass es sich in der Regel nicht um das Installationspaket handelt, das vom Microsoft-Server heruntergeladen wurde, sondern um den selbst erstellten Cache-Server Ihres ISP.

JZ
quelle