Windows denkt mein selbst geschriebenes Programm ist ein Virus

einfachpeer

Lt. Commander
Registriert
Apr. 2022
Beiträge
1.312
Moin zusammen,

ich habe selber (wissentlich, dass ich keinen Virus schreibe !! haha) eine Serveranwendung in Python geschrieben.
In Python läuft alles super.
Aber wenn ich mit Auto Py To Exe das in eine exe konvertiere löscht Windows 11 meine Datei und sagt es ist ein Virus. (Es ist sicher keiner)
Wie kann ich das umgehen/verhindern ?
 
Deinen Code überprüfen? Du kennst deinen Code besser als wir. Scheinbar hat er in bestimmten Teilen Ähnlichkeiten mit einem Virus.
 
  • Gefällt mir
Reaktionen: Asghan
ja das ist mir klar ^^ Ich dachte nur ob man dieses feature irgendwie umgehen kann, da es nur eine serveranwendung die ich nur für mich privat nutze ist
 
Den Pfad im Defender ausschließen.
 
  • Gefällt mir
Reaktionen: Aljonator, bart0rn und Asghan
Jupp das Problem ist halt dass selbst kompilierte Programme natürlich im Normalfall a) nicht offiziell signiert sind und b) bei einer Python-Exe das Programm einen "python" PreLoader mitbringt und dann "Daten" als Programm ausführt. Beides ist halt prinzipiell verdächtig.

Kann sogar sein dass insbes. b) in Zukunft dann gar nicht mehr geht. Gibt es da nicht was von Intel das Daten und Programmcode strikt trennen soll? - Weshalb doch auch java dann Probleme hat (weil java wie python etc zur Laufzeit "kompiliert" wird)? Glaube dazu habe ich die Tage was gelesen.
 
  • Gefällt mir
Reaktionen: areiland, AB´solut SiD und einfachpeer
Liegt afaik daran, dass autopy to exe primär ein loader ist, der aus Ressource deinen Python Code lädt. Das ist heutzutage ein anti pattern. Wirklich umgehen kannst du das nicht, selbst mit einem extended validation code signing Zertifikat nur partiell.

Ausschließen ist ziemlich sicher die richtige Lösung
 
  • Gefällt mir
Reaktionen: einfachpeer
Habe das Problem mit meinen Programmen auch auf dem Notebook, wo Defender läuft. Sobald ich vom Hauptrechner ein Programm rüberkopieren will, wird es direkt gelöscht.
 
Tornhoof schrieb:
Liegt afaik daran, dass autopy to exe primär ein loader ist, der aus Ressource deinen Python Code lädt. Das ist heutzutage ein anti pattern.
Pff, und was macht Java und C# und JavaScript und Lua und so ziemlich der ganze Rest der Welt auch?

Der Grund für das Problem ist eher, dass ein paar Scriptkiddies ähnliche Tools gerne für ihren Unsinn nutzen und die Antiviren-Hersteller faul dann einfach das ganze Tool blacklisten. Und nebenbei ist der ganze Signaturkrams für MS und Co. natürlich ggf. auch eine Einnahmequelle.
 
  • Gefällt mir
Reaktionen: nonick65
Naja das werden die JIT Loader signiert sein und deshalb wird das halt - noch - nicht beanstanded.

Aktuell ist das halt noch eine Zwischenphase dass JIT halbwegs einfach tut.
 
GrumpyCat schrieb:
Pff, und was macht Java und C# und JavaScript und Lua und so ziemlich der ganze Rest der Welt auch

.NET (weil damit kenn ich mich aus) setzt W^X flags, siehe u.A. hier
https://github.com/dotnet/runtime/issues/50391, d.h. sie setzen sauber die Bereiche die Code beinhalten und sauber Speicherbereiche die Daten beinhalten und verbieten die Mischung

MS signiert seinen eigenen Bibliotheken, JRE macht das gleiche (und whitelisted die natürlich ;))

Je nach Konfiguration erzeugt Auto Py To Exe nur eine Datei, d.h. der Loader entpackt zur Laufzeit die entsprechenden DLLs im Speicher und führt die aus, da knallt dann W^X drüber bzw. DEP (je nach Plattform).

Das ist immernoch ein größerer Unterschied zu einer PE Datei mit entsprechenden Flags, die z.b. den IL von .NET enthält.

Die Annahme das .NET etc. nicht als potentielle Schadsoftwar erkannt wird ist nur potentiell richtig, wenn du ähnliche tricks machst (insb. mit alten Versionen) wie z.b. selber Assemblies im Speicher zu laden, triffst du auf ähnliche Probleme (bevor MS W^X sauber unterstütz hat).

Das lässt sich teilweise, wie oben schon geschrieben, mit EV Code Signature Zertifikaten umgehen, dann whitelisted dich MS zwar nicht automatisch, aber Defender schreibt dann nur noch hin, "dieses Programm wird selten ausgeführt" oder ähnliches.

Wenn du googlest, siehst du das gerade ältere JRE Versionen auch gerne von DEP erkannt werden.

Nur weil die Technik vor 20 Jahren aktuell war, (das ist etwa so der Bereich) und mittlerweile entsprechende Sicherheitsmechanismen existieren um sowas zu erkennen, ist das nicht gleich nur Einnahmequelle für AV Hersteller. Kein Programm sollte den Daten und den Executable Bereich im Speicher mischen, in Windows gibts da mittlerweile diverse saubere Konzepte, ua CreateEnclave.

Es ist und bleibt heutzutage ein anti-pattern.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Micke
TorenAltair schrieb:
Habe das Problem mit meinen Programmen auch auf dem Notebook, wo Defender läuft. Sobald ich vom Hauptrechner ein Programm rüberkopieren will, wird es direkt gelöscht.
Auch hier, zu den Ausnahmen zufügen indem Du die entsprechende Meldung des Defender wählst und das Programm zulässt. Dann wird es auch wiederhergestellt.
 
Das Problem ist, dass ich das für jede Version und jedes Programm wieder machen muss.
 
Dann musst Du das Programm signieren.
 
Signieren hilft auch nur bedingt,
Siehe folgender Screenshot, dem einen oder anderen mag die Software bekannt sein
Screenshot 2024-04-03 173158.png
 
  • Gefällt mir
Reaktionen: TorenAltair
areiland schrieb:
Dann musst Du das Programm signieren...
das kenn ich leider auch @work das das nicht hilft - das zeigt wie absurd der "Signaturwegezoll" letztendlich ist - zumal ich als Entwickler ja meine eigenen Ergüssen/Kompilate soundso signiere
 
Zurück
Oben