So überprüfen Sie die digitale Signatur für eine Visual C ++ Redistributable-Installation

22932
user1258361

Ich habe vor kurzem ein digital signiertes Programm installiert, und das Installationsprogramm startete ein halbinstalliertes Installationsprogramm für Microsoft Visual C ++.

Ich habe das Programm gescannt und seine digitale Signatur geprüft, bevor es ausgeführt und ihm Administratorrechte erteilt wurde (Standardverfahren auf meinen Computern - alle Programme und Installationsprogramme prüfen, Administratorrechte erfordern eine gültige digitale Signatur von einer seriösen Quelle).

Hauptproblem: Die digitale Signatur war für den Installer, es gibt keine spezifische Überprüfung von internen Paketen. Ich habe die weitervertreibbaren Pakete in der Systemsteuerung -> Programme und Funktionen überprüft. Die Optionen für den Rechtsklick sind Deinstallieren und Ändern.

Wenn Sie auf Ändern klicken, wird ein Fenster mit den Schaltflächen Reparieren / Deinstallieren / Schließen angezeigt.

Gibt es eine praktische Möglichkeit, die digitale Signatur der umverteilbaren Visual C ++ - Installation zu überprüfen? (insbesondere überprüfen, ob das weitervertreibbare Paket authentisch ist und nicht manipuliert wurde?)

Der Installer hat nur eine digitale Signatur für seinen Herausgeber.

4
Vertrauen Sie dem ursprünglichen Paketanbieter? Wenn das zusätzliche Installationsprogramm als interner Bestandteil des ursprünglichen Installationsprogramms verpackt wurde, kann durch die Überprüfung des ursprünglichen Pakets nicht auch überprüft werden, ob es sich bei diesem Paket um den ursprünglichen Autor handelt? heavyd vor 7 Jahren 0
Laden Sie die C ++ Redistributable von Microsoft herunter und überspringen Sie die Installation durch das andere Installationsprogramm, wenn Sie ihm nicht vertrauen. Wenn Sie dem Installationsprogramm jedoch vertrauen, sollten Sie der erforderlichen Software ebenfalls vertrauen. Ramhound vor 7 Jahren 0
Das Vertrauen in den ursprünglichen Paketanbieter hat in der Praxis wenig mit der Integrität der Unterpakete zu tun. Soweit ich weiß, ist die Paketüberprüfung nicht rekursiv - ein Anbieter kann das Installationsprogramm A mit dem Installationsprogramm B erstellen. Das Installationsprogramm B wird vor der Aufnahme in das Installationsprogramm A irgendwie geändert (dies könnte zufällige / zufällige Datenbeschädigung sein) digitale Signatur darauf (enthält möglicherweise fehlerhaftes / unbekanntes Installationsprogramm B). Digitale Signatur bedeutet, dass der Verkäufer für das Paket einsteht (und dafür die rechtliche Verantwortung übernimmt). Wenn ein Installationsprogramm B von einem Drittanbieter erstellt wurde, erfolgt keine Überprüfung der Quelle user1258361 vor 7 Jahren 0
@ user1258361 - Ich sage immer noch, es ist eine Frage des Vertrauens. Sie vertrauen entweder der Quelle des Installationsprogramms, das entweder das Installationsprogramm enthält oder das Installationsprogramm herunterlädt, der betreffenden Installation oder nicht. Die meisten signierten Pakete können nicht signiert werden, es sei denn, alles, was in den Paketen enthalten ist, ist ebenfalls signiert. Ich weiß, dass die MSBuild-Funktion in Visual Studio immer funktioniert hat. Ramhound vor 7 Jahren 0

1 Antwort auf die Frage

4
Marc.2377

Es gibt zwei Möglichkeiten, an die ich denken kann:

  1. Ihr Installationsprogramm muss die Visual C ++ Redistributable-Pakete vor der Installation irgendwo extrahieren. Normalerweise liegt es irgendwo unter %temp%. Sie können diesen Ordner entweder vor der Installation bereinigen oder das Installationsprogramm auf Sandboxie ausführen und dann die Sandbox-Dateien durchsuchen, um sie zu finden und ihre digitale Signatur zu überprüfen.

  2. Installieren Sie eine HIPS-Software (Host Intrusion Prevention), legen Sie sie richtig fest, und Sie werden zu jeder Paketinstallation einzeln aufgefordert.

Wenn Sie die in Ihrem System bereits installierten DLLs für VC ++ Redistributable %windir%\System32überprüfen msvcpX.dllmöchten, navigieren Sie zu den Dateien (wobei X die Versionsnummer ist (z. B. msvcp140.dll für VC ++ Version 14.0.23918).

Ein großes Lob an die gute Praxis, digitale Signaturen zu prüfen, bevor sie die vollen Rechte gewähren.

Die weitervertreibbaren Pakete befanden sich nicht in AppData \ Local \ Temp. Ich habe jedoch einige Installationsprotokolle gefunden. Ich habe eine von ihnen geöffnet und sie zeigten auf einen Ort in C: \ ProgramData \ Package Cache. Es wurde eine Reihe von Microsoft-Installationspaketen (MSI / MSU-Dateien) und einige CAB-Dateien (500 KB bis 4 MB) gefunden. Verifizierte ihre digitalen Unterschriften. Ich habe strenge Standards für die Erteilung von Administratorrechten für Programme. Der Entwickler / Herausgeber / Anbieter und der digitale Unterzeichner müssen seriös sein und mit einem digital signierten und seriösen Antivirus- / Antimalware-Programm gescannt werden. Keine Signatur = keine Administratorrechte. user1258361 vor 7 Jahren 1