
# Defensive Windows-Sicherheitsanwendung mit kompensierenden Kontrollen für CVE-2017-0144 (EternalBlue/MS17-010) durch SMB-Überwachung, Angriffserkennung, automatisierte Firewall-Reaktion, Konfigurationsprüfung und Sicherheitsberichterstattung für veraltete und nicht unterstützte Systeme.
Eine Windows-Desktop-Sicherheitsanwendung, die eine defensive kompensierende Kontrolle für Systeme bietet, die noch CVE-2017-0144 (MS17-010 / EternalBlue) ausgesetzt sind – meistens veraltete oder nicht unterstützte Windows-Installationen, die keine offiziellen Microsoft-Sicherheitsupdates mehr erhalten können.
LegacyShield patcht nicht die zugrunde liegende SMBv1-Sicherheitslücke. Es reduziert die Angriffsfläche und verbessert die Sichtbarkeit durch Überwachung, heuristische Erkennung, automatisierte (temporäre, reversible) Firewall- Abschwächung, strukturierte Protokollierung und professionelle Berichterstattung. Die Anwendung des offiziellen MS17-010-Updates oder die Aktualisierung auf eine unterstützte Windows-Version bleibt die definitive Abhilfe.
Dieses Projekt enthält keinen Exploit-Code, Proof-of-Concept-Angriffscode, Privilegienausweitungsverfahren oder offensive Werkzeuge jeglicher Art.
| Fähigkeit | Zusammenfassung |
|---|
| Systembewertung | Liest (niemals schreibt) Windows-Version, SMBv1-Status, Verfügbarkeit von Port 139/445, Firewall-Status, Dateifreigabe und Netzwerkprofil. Erzeugt einen Sicherheits-Score von 0–100. |
| SMB-Überwachung | Pollt TCP 139/445 über die Betriebssystem-Verbindungstabelle auf neue eingehende Verbindungen. Keine Paketerfassung oder Nutzdateninspektion. |
| Erkennungsmaschine | Konfigurierbare Heuristiken: Verbindungsspitzen, Volumen pro Minute, wiederholte fehlgeschlagene Verhandlungen. |
| Automatisierte Reaktion | Erstellt temporäre, markierte, automatisch ablaufende Windows-Firewall-Blockregeln für angreifende Quellen; berührt niemals Regeln, die es nicht erstellt hat; vollständige Rollback-Unterstützung. |
| Protokollierung | Strukturierte JSON/CSV/Klartext-Protokolle, plus Windows-Ereignisprotokolleinträge für schwerwiegende Ereignisse. |
| Berichterstattung | Executive-Summary-Sicherheitsberichte exportierbar als JSON, HTML oder PDF. |
| Desktop-Benutzeroberfläche | PySide6-Dashboard, Seitenleisten-Navigation, System-Tray-Benachrichtigungen. |
| Hintergrunddienst | Optionaler pywin32-basierter Windows-Dienst, sodass der Schutz fortgesetzt wird, wenn die GUI geschlossen ist. |
LegacyShield/
├── main.py # GUI entry point (+ install/uninstall/rollback CLI verbs)
├── legacyshield/
│ ├── core/ # Read-only system inspection, scoring, shared models
│ ├── modules/ # Config, detection engine, response engine, whitelist
│ ├── services/ # SMB monitor, firewall service, background Windows Service
│ ├── logging_/ # JSON/CSV/text log writers + Windows Event Log mirror
│ ├── reports/ # JSON/HTML/PDF report generator + HTML template
│ └── ui/ # PySide6 main window, sidebar, dashboard, pages, tray
├── config/default_config.json # Shipped default configuration
├── installer/ # PyInstaller spec, build script, manifest, Inno Setup script
├── tests/ # pytest suite incl. mocked-Windows-API tests
├── samples/ # Example config/log/report output
└── docs/ # Guides referenced below
See ARCHITECTURE.md for the full design, including UML class and sequence diagrams.
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements-dev.txt
pytest tests/ -v
python main.py
Die GUI (
main.py) und der Windows-Dienst (legacyshield/services/background_service.py) erfordern Windows +pywin32. Die Geschäftslogik von Core/Modules/Services ist plattformunabhängig, und ihre Testsuite läuft auf jedem Betriebssystem über nachgebildete Windows-API-Protokolle – siehetests/mocks/windows_mocks.py.
pip install -r requirements-dev.txt
python installer/build.py # runs tests, then PyInstaller -> dist/LegacyShield.exe
iscc installer/installer.iss # optional: Inno Setup -> dist/installer/LegacyShield-Setup-*.exe
Dies ist ein defensives Engineering-Portfolio-Projekt, das Windows-Systemprogrammierung, Überwachungs-/Erkennungsdesign und sichere Anwendungsarchitektur demonstriert. Es wird ohne eine spezifische Lizenz ausgeliefert; fügen Sie eine für Ihre beabsichtigte Verwendung geeignete hinzu, bevor Sie es verteilen.