• Desktop-Dienstprogramm zur Überwachung der Integrität und Chain of Custody des SDK in Windows (Hashes prüfen, Authenticode, SBOM)

    13 Stunden vor
    • Gewünschtes Budget bis zu 650.47 USD
    • Warten auf einen Auftragnehmer...
  • Ausgangssituation
    Das Windows-Entwicklungsteam verwendet einen internen Satz von SDKs und CLI-Dienstprogrammen, die als ZIP/MSI verteilt und regelmäßig aktualisiert werden. Derzeit werden Integritätsprüfungen manuell mithilfe von Wiki-Notizen durchgeführt, weshalb nicht signierte oder geänderte Binärdateien sowie „verlorene“ Versionen ohne transparenten Inhalt regelmäßig im Build landen.

    Technisches Umfeld und Fachgebiet
    - Windows 10/11 x64
    - .NET 8 Desktop (WPF oder WinUI 3) oder C++/Qt – zur Auswahl, aber das Ergebnis muss ein fertiges Desktop-Programm mit einem Installationsprogramm sein
    - Repositorys/Artefakte: lokaler Ordner, Netzwerkfreigabe (UNC) sowie heruntergeladenes ZIP/MSI
    - Validierungen: SHA-256/SHA-512, Authenticode (WinVerifyTrust), grundlegende Zertifikatkettenvalidierung, SBOM-Sammlung (CycloneDX oder SPDX) basierend auf Paketinhalten

    Was muss getan werden (mehrere Schritte)
    1) Analyse des Lieferformats und der Lieferregeln
    - Die Eingabe umfasst 10-15 Standardpakete (ZIP/MSI) und ein Beispiel aktueller Regeln in Tabellenform (erwartete Dateien, Masken, Versionen, Signaturanforderungen)
    – Es ist notwendig, das Regelschema in der Anwendungskonfiguration zu klären und zu korrigieren: gültige Namen/Masken, erforderliche Dateien, gültige Zertifikataussteller, Mindestversionen, Ausnahmen

    2) Entwicklung einer Desktop-Anwendung
    - Die Anwendung wählt die Quelle (Ordner/UNC-/ZIP-/MSI-Datei) aus, entpackt sie in einen temporären Bereich, erstellt einen Dateibaum und führt Prüfungen durch
    - Erstellt einen Bericht in zwei Arten: für Menschen lesbar (PDF- oder HTML-Datei) und maschinenlesbar (JSON).
    - Unterstützt Regelprofile (z. B. Dev/CI/Release) mit Switching
    - Verfügt über einen Modus „Zwei Pakete vergleichen“ – zeigt den Unterschied in Dateien, Hashes, Signaturen und Versionen an

    3) Durchführung von Kontrollen
    - Hashing jeder Datei und Vergleich mit dem Standard, falls einer angegeben ist
    - Authenticode-Prüfung für PE-Dateien: Signaturstatus, Aussteller, Gültigkeitsdauer des Zertifikats zum Zeitpunkt der Signatur, ggf. Zeitstempel
    - Für nicht signierte Dateien oder mit einem Signaturfehler - eine separate Liste mit der Ursache
    - Versionsprüfung für EXE/DLL über FileVersionInfo und Vergleich mit Regeln
    - SBOM: Generieren Sie eine Liste von Dateien mit Metadaten (Pfad, Größe, Hash, Version, sofern zutreffend), packen Sie sie in CycloneDX/SPDX JSON; Eine vereinfachte Version ist ohne Abhängigkeitsanalyse zulässig, jedoch mit den richtigen Schema- und Komponenten-IDs auf Datei-/Paketebene

    4) Verpackung und Lieferung
    - Erstellen Sie ein fertiges Installationsprogramm (MSIX oder MSI/WiX oder Squirrel – Ihre Wahl) und eine tragbare Version
    - Diagnoseprotokolle (Protokolldatei) und klare Fehlermeldungen
    - Kurze Anleitung (README auf Russisch) zum Hinzufügen/Ändern von Regeln und zum Durchführen der Prüfung

    Einschränkungen
    - Alles sollte offline funktionieren, ohne externe Cloud-Dienste
    – Sie können nicht verlangen, dass der Benutzer starke Abhängigkeiten installiert (außer der Standard-.NET-Desktop-Runtime, wenn .NET ausgewählt ist).
    - Bei einer Paketgröße von bis zu 3 GB und 50.000 Dateien sollte die Prüfung auf einem i7/16GB/SSD-PC 7 Minuten dauern, der Fortschritt sollte angezeigt werden
    - Temporäre Dateien sollten auch bei Fehlern automatisch gelöscht werden

    Messbare Akzeptanzkriterien
    - Bei den bereitgestellten Testpaketen liefert die Anwendung bei wiederholten Ausführungen die gleichen Ergebnisse, der JSON-Bericht ist gültig und entspricht dem vereinbarten Schema
    - Bei 5 vorbereiteten Fällen (signierte Datei, unsigniert, Signatur mit abgelaufenem Zertifikat ohne Zeitstempel, Signatur mit Zeitstempel, Datei mit falscher Version) ordnet die Anwendung den Status korrekt ein und gibt den Grund im Bericht an
    - Der Modus zum Vergleichen zweier Pakete zeigt das Minimum an: hinzugefügte/gelöschte/geänderte Dateien, Hash-Änderungen, Änderungen des Signaturstatus, Versionsänderungen
    - Das Installationsprogramm installiert und entfernt die Anwendung ohne Müll, die portable Version läuft ohne Installation

    Was wird bereitgestellt
    - Eine Reihe von Test-ZIP/MSI (über Link/Archiv), aktuelle Regeltabelle, Liste vertrauenswürdiger Herausgeber, Beispiele erwarteter Berichte (in beliebiger Form)

    Erwartetes Ergebnis
    Ein vorgefertigtes Desktop-Programm für Windows, Quellcode, Regelkonfigurationen, Installationsprogramm und tragbare Assembly sowie ein Mindestsatz an Autotests für die Prüflogik (mindestens Unit-Tests zum Parsen von Regeln und zum Klassifizieren von Signaturstatus).
  • How would you rate this task?

    Sign in to leave your rating.

    Total ratings: 0

Ihr Angebot

Sie haben für diese Bestellung noch kein Angebot abgegeben.
Klicken Sie auf „Angebot senden“, um Ihr Angebot zu senden.

Brauchen Sie eine ähnliche Aufgabe?

Wenn dieses Projekt Ihrem Bedarf nahe kommt, können Sie in der Kategorie fertige Dienstleistungen anzeigen oder Ihre eigene Aufgabe mit dem erforderlichen Budget, der Frist und den Anforderungen veröffentlichen.

Das Projekt „Desktop-Dienstprogramm zur Überwachung der Integrität und Chain of Custody des SDK in Windows (Hashes prüfen, Authenticode, SBOM)“ kann als Referenz für Ihre eigene Aufgabenstellung genutzt werden: Was soll getan werden, welches Ergebnis wird benötigt und welches Budget soll festgelegt werden.