Dies stellt sich als ziemlich schwieriges Problem heraus, wenn Sie sich auf das einzelne System beschränken, das Sie validieren möchten.
Glücklicherweise leben wir in der realen Welt, in der es mehr als einen Computer gibt!
Einige Möglichkeiten zur Überprüfung der Binärdatei sind:
Verwenden Sie ein anderes Referenzsystem, auf dem dieselbe Paketversion von RPM installiert ist, und nehmen Sie einen Hash der Binärdatei und vergleichen Sie ihn auf jedem System.
Installieren Sie das signierte Paket aus Sicherheitsgründen erneut aus den Repositorys auf dem Referenzsystem, bevor Sie den Vergleich durchführen.
Verwenden Sie ein hostbasiertes Intrusion Detection-System wie OSSEC oder Tripwire, um unerwartete Änderungen an Ihrem Dateisystem zu erkennen. Dies garantiert natürlich nicht, dass Ihre Binärdateien unverändert sind, aber wenn es richtig gemacht wird, können Sie gewarnt werden, dass ein Angriff ausgeführt wird.
Beachten Sie, dass beide fehlschlagen, wenn die Vorverknüpfung verwendet wird. Dies ist ein Grund, warum sie auf neueren Systemen im Allgemeinen nicht mehr standardmäßig aktiviert ist.
Ich habe auch vermutet, dass der allgemeine Ansatz darin besteht, die Prüfsumme (lokal oder remote) zu verteilen. Dies macht es für Angreifer sehr schwierig, sie an allen Standorten konsistent zu ändern. Der einzelne Offline-Host ist ein echtes Problem. Wenn Kopien der Binärdatei oder ihrer Prüfsumme im Dateisystem versteckt sind, werden in regelmäßigen Software-Aktualisierungssitzungen möglicherweise nur Änderungen angezeigt. Jede Möglichkeit, die Authentizität von Paketen für proprietäre Software zu erzwingen, wird jedoch sofort als Angriff entlarvt. Alle zusätzlichen Offline-Methoden (möglicherweise etwas Sicherheit durch Dunkelheit) werden nicht lange dauern.
Uvsmtid
2
# rpm -K rpm-2.3-1.i386.rpm
rpm-2.3-1.i386.rpm: size pgp md5 OK
Woher wissen Sie, dass ich rpm nicht durch eine Binärdatei ersetzt habe, die vorgibt, alles zu validieren?
Michael Hampton
Hmm, dann ein Problem, das die Kette übertrifft. Sie müssen dies in einer vertrauenswürdigen Umgebung tun, bevor der Host manipuliert wird, und die Ergebnisse aufzeichnen, die ich vermute.
dmourati
2
Diese Anforderung wurde in der ursprünglichen Frage angegeben.
Von http://www.rpm.org/max-rpm/s1-rpm-checksig-using-rpm-k.html
quelle