Auto Update: Ist das sicher?

Dot Net Auto Update

Ich hatte das Gefühl, dass .net keine einfache sichere Bibliothek für automatische Updates hat, also habe ich etwas implementiert und eingerichtetHier. Bevor jemand in Betracht zieht, die Bibliothek zu nutzen, war ich daran interessiert, dass der Update-Prozess ein bisschen Peer-Review bekommt.

Hier sind die Schritte:Die Client-Software wird mit einem öffentlichen Schlüssel und einem abzufragenden URI gefüllt.Der Client fragt einen URI nach einer Manifestdatei ab.Das Manifest wird heruntergeladen und die Signatur (in einer separaten ".signature") wird verwendet, um zu überprüfen, ob das Manifest gültig ist.Eine Liste der ausstehenden Aktualisierungen wird aus dem Manifest analysiert (um sie dem Benutzer anzuzeigen).Die Installationsdatei wird heruntergeladen und erneut mit einer entsprechenden ".signature" -Datei überprüft. (Die heruntergeladene Datei wird mit ACLs geschützt)Das Installationsprogramm wird ausgeführt.Abgemilderte Bedrohungen:Die Signatur des Manifests sollte böswillige Downloads verhindern ("Bombardierung von Teppichen")Die Signatur des Installationsprogramms sollte verhindern, dass MITM-Angriffe böswillige Installationsprogramme sendenDas Schützen des heruntergeladenen Installationsprogramms mit ACLs sollte lokale Eskalationsangriffe verhindern.Uneingeschränkte Bedrohungen:A MITM Angriff, bei dem der Angreifer immer "keine Updates verfügbar" meldet. (Könnte einen Client in einer anfälligen Version belassen)Verweise:Sichere Software-Updates: Enttäuschungen und neue HerausforderungenBlack Ops 2008: Es ist das Ende des Cache, wie wir ihn kennenEvilgrade wird uns alle zerstören


Was habe ich vermisst?


Antworten auf die Frage(7)

Ihre Antwort auf die Frage