Einführender Hintergrund zu der folgenden Frage
(Die Frage ist also für mehr Benutzer besser verwendbar.)
In einem Ubuntu / debian-ähnlichen Paket (* .deb-Datei) befindet sich eine Datei mit dem Namen,
/DEBIAN/md5sums
die den folgenden Inhalt hat:
212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1 4131b66dc3913fcbf795159df912809f Pfad / zu / Datei2 8c21de23b7c25c9d1a093607fc27656a Pfad / zu / Datei3 c6d010a475366e0644f3bf77d7f922fd Pfad / zu / Ort / von / Datei4
Ich gehe davon aus, dass diese Datei verwendet wird, um zu überprüfen, ob die mit dem Paket gelieferten Dateien irgendwie nicht beschädigt wurden. Da die Datei `/ DEBIAN / md5sums" heißt, nehme ich die Hex-Nummer an, bevor der Pfad + Dateiname der MD5-Message-Digest-Algorithmus Hash der Paketdateien ist.
Jetzt weiß jeder Interessierte, dass der MD5-Hash schon längst kaputt ist. Daher ist es durchaus möglich, den Inhalt einer Datei im Paket zu ändern (z. B. in böswilliger Absicht) und die Datei trotzdem mit demselben MD5-Hash zu versehen (siehe z. B. Prove of Concept "Predicting the winner ...." ).
Frage
Unter Berücksichtigung der obigen Informationen möchte ich Folgendes wissen:
** Angenommen, ich installiere ein Paket in meinem Ubuntu-System. Ist dies das DEBIAN/md5sums
einzige Mittel, um sicherzustellen, dass die Daten nicht manipuliert wurden? **
Die Beantwortung der Frage könnte meiner Meinung nach helfen, Folgendes herauszufinden:
- Sind die Deb-Pakete als Ganzes auch gehasht (Hash-Werte sind dafür gemacht), so dass es eine andere Möglichkeit gibt, die Sicherheit zu gewährleisten, dass die empfangenen Dateien "sicher" / "unbefugt" sind?
- Wenn es andere Möglichkeiten gibt als die
DEBIAN/md5sums
Datei, um die Integrität zu gewährleisten, welche Datei ist dann überhaupt in den * .deb-Paketen enthalten? - Verwendet Ubuntu Hashes für Repository / Package-Systeme, die "weniger kaputt" sind als SHA-1 und MD5?
das weiß ich leider auch nicht.
Jede Antwort, die Aufschluss über die Frage (oder auch nur eine Unterfrage) gibt, ist sehr willkommen
aktualisieren
(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab scheint darauf hinzudeuten, dass (wie ich gehofft habe) ein öffentlicher / privater gpg-Schlüssel vorhanden ist (um die Repos und Paketsysteme zu schützen) vor Angriffen. Die Informationen am verlinkten Ort sind jedoch nicht sehr umfangreich. Es sagt fast nichts über den Sicherheitsaspekt des Package-Systems aus. Jedenfalls gehe ich davon aus, dass der Link bereits darauf hinweist, dass die Antwort auf die Frage "NEIN - zumindest die Deb-Pakete aus dem Repo - sind ebenfalls durch ... gesichert" lautet. Ich hoffe, jemand kann hier einige Erkenntnisse für eine Antwort nutzen.
(2) Diese Frage scheint sich auch mit dem Thema "Sicherheit" im Ubuntu-Paketsystem zu befassen. Also füge ich es einfach hier hinzu, damit es angezeigt wird, wenn jemand versucht, die Frage herauszufinden: Warum sind die vorgeschlagenen BADSIG-Fixes (auf apt-get update) sicher?
quelle
apt
die Prüfsummenrichtlinie lautet.Antworten:
Ubuntu veröffentlicht ein Manifest, das mit einem RSA-Schlüssel signiert ist. Das Manifest listet einzelne
Packages
Indexdateien mit MD5-, SHA-1- und SHA-256-Hashes auf. JedePackages
Datei listet einzelne.deb
Dateien mit MD5-, SHA-1- und SHA-256-Hashes auf.Zur Überprüfung verwendet apt den besten Hash, den es unterstützt, und wird von dem Archiv veröffentlicht, aus dem es herunterlädt. Im Falle des Ubuntu-Archivs ist dies SHA-256.
Die gesamte Kette der Paketinstallation auf Ihrem Ubuntu-System ist also durch RSA und SHA-256 geschützt.
Der in dpkg vorhandene MD5-Schutz ist nur für versehentliche Beschädigungen von Nutzen und zum Schutz des Installationspfads nicht erforderlich.
Möglicherweise interessiert Sie das
debsums
Paket, aber da es MD5s verwendet, ist es auch nur nützlich, um nach versehentlichen Beschädigungen zu suchen.Wenn Sie nach böswilligen Systemänderungen suchen möchten, sind diese Tools nicht für Sie geeignet. Sie müssen das System offline schalten und entweder einen vorherigen Datensatz, die Originalpaketdateien oder aus diesen generierte sichere Hashes überprüfen.
Beachten Sie, dass es möglicherweise nicht ausreicht, zu überprüfen, ob alle installierten Paketdateien mit ihren Originalen übereinstimmen, da eine erfolgreiche böswillige Änderung darin besteht, ein Paket einfach auf das Paket vor einem Sicherheitsupdate herunterzustufen.
quelle
Ich wollte, dass dies ein Kommentar ist, aber ich konnte ihn nicht in die Box einfügen, also platziere ich ihn hier.
Ja, md5 wurde kryptologisch beschädigt, aber das bedeutet nicht, dass es ein schlechter Allzweck-Hashing-Algorithmus ist. Eine Datei so zu ändern, dass sie denselben Hash hat, ist unglaublich schwierig, und es ist nahezu unmöglich, dies mit einer bestimmten böswilligen Änderung zu tun. Wenn Sie sich das Beispiel ansehen , auf das Sie verwiesen haben ( Predicting The Winner ), sehen Sie Folgendes:
Was getan wurde, war, die Dateien mit zufälligen Daten zu füllen , damit die Hashes übereinstimmen. Die Technologie ist bei weitem nicht in der Lage, einer Datei bestimmten Schadcode hinzuzufügen und die Hashes in einer Reihe anzuordnen, ohne sie zu beschädigen oder zu verdeutlichen, dass die Datei geändert wurde zusammen mit ihren Dateigrößen, um die Schwierigkeit einer nicht nachweisbaren Hash-Kollision zu erhöhen).
quelle
md5 war nicht "kaputt". Was sie fanden, war eine Möglichkeit, eine Originalnachricht und eine modifizierte Nachricht mit demselben Hash sorgfältig zu erstellen. Es ist nicht möglich, eine Originalnachricht, die nicht speziell für Manipulationszwecke erstellt wurde (die richtige Datei), so zu bearbeiten, dass die MD5-Summe erhalten bleibt.
quelle