Wenn der Windows Defender mein selbst geschriebenes Delphi-Programm für einen Trojaner hält
Von der Eigenentwicklung zur "Schadsoftware" – und wie man das Problem wieder los wird
Ich hatte mir vor Kurzem ein kleines Programm in Delphi geschrieben – nichts Komplexes, aber hilfreich: eine lokale Besuchererfassung, komplett ohne Internetzugriff, ganz auf die Nutzung am lokalen PC ausgelegt.
Doch nach dem Kompilieren kam die Überraschung:
Windows Defender hat mein eigenes Programm als "Trojan:Win32/Wacatac.C!ml" eingestuft.
Windows Defender hat mein eigenes Programm als "Trojan:Win32/Wacatac.C!ml" eingestuft.
Was mein Programm eigentlich macht
-
Erstellt ein paar lokale Ordner
-
Extrahiert ein paar DLLs, PDFs und HTML-Hilfedateien
-
Legt eine SQLite-Datenbank an
-
Spielt ein paar WAV-Dateien ab
Keine Netzwerkverbindung. Kein Registry-Zugriff. Keine verdächtigen Funktionen.
Warum wird es trotzdem als Virus erkannt?
Microsofts Defender arbeitet (wie viele moderne Antivirenlösungen) mit Heuristiken:
-
Unbekanntes Programm + Dateioperationen + keine Signatur → potenziell verdächtig
-
Delphi-Programme stehen unter besonderer Beobachtung, da manche Schadsoftware früher damit geschrieben wurde
-
Mein Programm wurde direkt im „Downloads“-Ordner ausgeführt – auch das ist ein Trigger
Kurz gesagt: Verhaltenstechnisch ähnelt mein Programm gewissen Mustern, die Malware aufweist – auch wenn es harmlos ist.
Der erste Schritt: VirusTotal
Ich habe die EXE auf www.virustotal.com hochgeladen. Ergebnis:
0 / 71 Engines erkannt – also völlig sauber.
Nur Microsoft Defender hatte etwas dagegen.
Microsoft kontaktieren: Der Weg zur Freigabe
Microsoft bietet eine offizielle Möglichkeit, eine False-Positive-Meldung einzureichen:
Ich habe Folgendes beschrieben:
-
Delphi-Anwendung, lokal laufend
-
keine gefährlichen Funktionen
-
digital signiert
-
VirusTotal-Nachweis
Und siehe da – noch am selben Tag kam die Rückmeldung:
"The detection has been removed."
Ich bekam sogar eine Anleitung, wie ich meinen Defender-Cache leeren und aktualisieren kann.
Optional: Defender-Cache manuell leeren
cd "C:\Program Files\Windows Defender"
MpCmdRun.exe -removedefinitions -dynamicsignatures
MpCmdRun.exe -SignatureUpdate
Danach erkennt Defender mein Programm nicht mehr als Bedrohung – auch nicht bei neuen Builds.
Was ich gelernt habe
-
Auch harmlose Programme können „auffällig“ wirken, wenn sie unbekannt sind
-
Eine digitale Signatur hilft – aber ist kein Garant
-
VirusTotal ist dein Freund – schnell, zuverlässig, und hilfreich für AV-Hersteller
-
Microsoft reagiert tatsächlich sehr zügig, wenn man sauber argumentiert
Mein Tipp für andere Entwickler
Wenn dein selbstgeschriebenes Programm fälschlich als Bedrohung erkannt wird:
-
VirusTotal prüfen (https://www.virustotal.com)
-
Wenn nur Defender anschlägt → Microsoft Defender Submission einreichen
-
Kurz & sachlich erklären, was das Programm macht
-
Nach der Freigabe: Defender-Cache leeren und definieren lassen
-
Optional: User auf der Website mit einem kleinen Sicherheitshinweis aufklären
Wenn du willst, stelle ich dir gern auch das Beispielmaterial (HTML, README, Sicherheits-Hinweis etc.) zur Verfügung, das ich selbst verwende.
Bleib sauber – aber lass dich nicht verunsichern, wenn dein sauberer Code als Bedrohung gesehen wird.