Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Anwendung als Malware erkannt (https://www.delphipraxis.net/207828-anwendung-als-malware-erkannt.html)

venice2 7. Mai 2021 11:07

Anwendung als Malware erkannt
 
Warum wird meine Anwendung GDIPClock als Malware erkannt?
Wenn ich mit Malwarebytes mein System Scanne warum wird meine Anwendung als Malware identifiziert.

Diese geht nicht ins Internet verwendet keinerlei Ports oder dergleichen Trotzdem Malware? :stupid:
Nach welchen Kriterien wird sonst noch gesucht?

Oder liegt es schlicht an Delphi?

DeddyH 7. Mai 2021 11:12

AW: Anwendung als Malware erkannt
 
Da hat die Heuristik wohl irgendetwas als "böse" erkannt. Du kannst Dein Programm aber normalerweise irgendwo beim AV-Hersteller zur Prüfung hochladen und zu dessen Whitelist hinzufügen lassen.

venice2 7. Mai 2021 11:18

AW: Anwendung als Malware erkannt
 
Zitat:

Zitat von DeddyH (Beitrag 1488809)
Da hat die Heuristik wohl irgendetwas als "böse" erkannt.

Zitat:

Prozess: 1
MachineLearning/Anomalous.96%, C:\USERS\BREWIDEAS\DOCUMENTS\SOURCEMEIN\GDIPCLOCK_ V164\_BUILD\GDIPCLOCK.EXE, Keine Aktion durch Benutzer, 0, 392687, , , , , 111654C3A8F3A616E28AE9802E3713B0, 3286ED11FD21C9B10C48D37C0D611B8D4E5A99EB47A3C19F78 D1D2C79B3B6DF2

Modul: 1
MachineLearning/Anomalous.96%, C:\USERS\BREWIDEAS\DOCUMENTS\SOURCEMEIN\GDIPCLOCK_ V164\_BUILD\GDIPCLOCK.EXE, Keine Aktion durch Benutzer, 0, 392687, , , , , 111654C3A8F3A616E28AE9802E3713B0, 3286ED11FD21C9B10C48D37C0D611B8D4E5A99EB47A3C19F78 D1D2C79B3B6DF2

Registrierungsschlüssel: 1
PUP.Optional.GoHD, HKU\S-1-5-21-446908827-4200042028-1358881088-1001\SOFTWARE\-, Keine Aktion durch Benutzer, 3127, 238796, 1.0.40200, , ame, , ,

Registrierungswert: 3
MachineLearning/Anomalous.96%, HKU\S-1-5-21-446908827-4200042028-1358881088-1001\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN |GdipClock, Keine Aktion durch Benutzer, 0, 392687, , , , , ,
Was soll da böse sein?
Außer das ich es beim Windowsstart Automatisch starten lasse.

Na ja hat mich mal interessiert.
Zitat:

Du kannst Dein Programm aber normalerweise irgendwo beim AV-Hersteller zur Prüfung hochladen und zu dessen Whitelist hinzufügen lassen.
Danke aber das mache ich nicht. Denke dann ist deren Heuristik einfach nur schrott.

DeddyH 7. Mai 2021 11:21

AW: Anwendung als Malware erkannt
 
Zitat:

Zitat von venice2 (Beitrag 1488811)
Was soll da böse sein?

Woher soll ich das wissen? Ich habe gelegentlich auch Probleme mit übereifriger AV-Heuristik in an sich harmlosen Programmen. Wenn ich die ausschließlich privat benutze, füge ich eine Ausnahme hinzu, ist es dagegen ein kommerzielles Programm, muss ich halt den beschriebenen Upload-Weg gehen.

venice2 7. Mai 2021 11:23

AW: Anwendung als Malware erkannt
 
Zitat:

Woher soll ich das wissen?
Deshalb meine Quote dachte man könnte da etwas erkennen warum das Teil da rum muckt.
Danke.

himitsu 7. Mai 2021 11:54

AW: Anwendung als Malware erkannt
 
Leider wurden zubiele "böse" Progrämmchen mit Delphi geschrieben
und die Muster zur Erkennung sind oftmals leider auch sehr ungünstig, so dass sie schnell auch andere Delphiprogramme erwischen.

Du kannst deine EXE auf www.virustotal.com hochladen und mal schauen, ob es nur dein Virenscanner ist, oder ob auch mehrere Andere den Fehler bemängeln.
(natürlich könnte es auch sein, dass dein Rechner befallen ist und die EXE wirklich richtig erkannt wurde)

Ansonsten kannst du deine EXE auch irgendwo auf der Webseite deines Virenscanner-Herstellers melden (geht bei den Meisten) und ihn bitten das zu Prüfen.
Wenn negativ, wird/sollte er seine Signaturen anpassen, damit deine EXE nicht mehr erkannt wird.
Manchmal kann man es auch im Virenscanner direkt zur Prüfung vorlegen.

venice2 7. Mai 2021 11:56

AW: Anwendung als Malware erkannt
 
Zitat:

ob es nur dein Virenscanner ist
Defender mein Viren-Scanner meldet diesbezüglich nichts.

himitsu 7. Mai 2021 12:01

AW: Anwendung als Malware erkannt
 
Ja, bei sich kann man solche Fehler leicht ignorieren (eine Ausnahme hinzufügen),
aber bei anderen Benutzern ist es bissl blöd.

Entweder er vertraut dir vollkommen, wenn du es ihm erklärst und z.B. den Report von VirusTotal zeigst, und er richtet bei sich eine Ausnahme ein,
oder du hast Pech und mußt entweder eine Kleinigkeit an deiner EXE ändern (und hoffen es wird dann nicht mehr erkannt) oder eben das bei dem entsprechendem Hersteller als False-Positive melden. (geht leider nicht immer)

Nur kurz gesucht und ich fand bei Malwarebytes kein solches Formular. (übersehn oder es gibt Keines)
Bei Google suchenMalwarebytes false positive



Ach ja, wenn nur einer/wenige/kein Virenscanner da etwas erkennt (VirusTotal), dann ist die Chance groß, dass da nichts ist,
aber es kann auch sein, das ist neu und die Anderen waren noch nicht schnell genug und haben es noch nicht in ihren Definitionen. :angle2:


Wenn die EXE absolut nicht an Fremde raus darf (NDA oder sowas), dann bleibt dir nur die Wahl deinen Scanner zu tauschen, oder eine VM mit diesem Scanner aufzusetzen, und selbst zu prüfen.
Manche Virenscanner haben auch eine OnlineAPI, wo man es direkt beim Hersteller prüfen kann, ohne es installiert zu haben.

TiGü 7. Mai 2021 12:09

AW: Anwendung als Malware erkannt
 
Virenscanner sind in der Regel nur Schlangenöl und zur Beruhigung des guten Gewissens, dabei oft mehr Schaden bringend als helfend.

Wenn du drei Bytes (ja, ist ne Hausnummer) an deinen Programm änderst, schon wird es nicht mehr als False Positive detektiert.

Zum nachlesen (english):
https://blog.malwarebytes.com/detect...anomalous-100/

Alle anderen mit deinen Problem:
https://www.google.com/search?q=Mach...4dUDCA4&uact=5

venice2 7. Mai 2021 12:15

AW: Anwendung als Malware erkannt
 
Danke für die Infos.

himitsu 7. Mai 2021 12:30

AW: Anwendung als Malware erkannt
 
Es gibt auch AntiVieren-Programme, die müssen nicht installiert werden.
ClamWin, McAfee Labs Stinger, ...

Das hilft aber nur bei sich selbst, z.B. wenn man keinen Virenscanner hat, oder seinem Scanner mal nicht trauen sollte. (einen False-Positive mit was Anderem prüfen oder Denkt der Rechner hat bestimmt was, aber der eigene Scanner sagt nö)


Und nein, auch wenn er manchmal falsch liegt,
dann kann man entweder den Fehler melden und zur Verbesserung beitragen
oder man welchselt den Scanner

Aber "sinnlos" ist er meistens nicht. (ja, es gibt Ausnahmen, wenn man selber sehr aufpasst und das System durch Berechtigungen und Co. extrem sperrt/absichert).
Ich kann aktuell vermutlich kein Corona bekommen und kann höchstwahrscheinscheinlich niemanden anstecken (bin immun, da ich es grade erst hatte), aber dennoch trage ich Maske und halte Abstand.

venice2 7. Mai 2021 12:36

AW: Anwendung als Malware erkannt
 
Ok denke habe das Problem der Scanner kommt mit UPX nicht klar. :stupid:
Problem erledigt. Danke für eure Beiträge.

DeddyH 7. Mai 2021 13:32

AW: Anwendung als Malware erkannt
 
Das Problem ist aber wirklich nicht neu. Früher haben Malware-Autoren ihre Programme gern mit UPX verkleinert, deshalb wird das heute noch als potenziell gefährlich erkannt.

HolgerX 7. Mai 2021 15:00

AW: Anwendung als Malware erkannt
 
Hmm...

Zitat:

Zitat von venice2 (Beitrag 1488811)
Zitat:

Zitat von DeddyH (Beitrag 1488809)
Registrierungswert: 3
MachineLearning/Anomalous.96%, HKU\S-1-5-21-446908827-4200042028-1358881088-1001\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN |GdipClock, Keine Aktion durch Benutzer, 0, 392687, , , , , ,

Was soll da böse sein?
Außer das ich es beim Windowsstart Automatisch starten lasse.

Da hast Du dir doch deine Frage eigentlich schon selber beantwortet...

Unbekannte Software, welche sich selber in den 'RUN' Einträgen der Registry einträgt, ist für alle Scanner suspekt! ;)

Da der String mit 'SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN' in deiner Exe wohl als Konstantenstring hinterlegt und somit von einem Scanner lesbar ist (Schau Dir die EXE mal mit nem HEX-Viewer an) wird dass wohl der Grund für die Maleware einstufung sein!.

venice2 7. Mai 2021 15:04

AW: Anwendung als Malware erkannt
 
Zitat:

Da der String mit 'SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN' in deiner Exe wohl als Konstantenstring hinterlegt und somit von einem Scanner lesbar ist (Schau Dir die EXE mal mit nem HEX-Viewer an) wird dass wohl der Grund für die Maleware einstufung sein!.
Sorry Nein!

Ohne UPX meldet Malwarebytes keine Probleme.
Ein Malware Scanner sollte eigentlich in der Lage sein eine Datei mit UPX zu entpacken und nicht global alle Anwendungen damit verteufeln.
Deshalb ist die Heuristik dieses Scanner eigentlich untauglich.

Es ist auch kein Konstantenstring.

Delphi-Quellcode:
procedure AutoReg(Set1: Boolean);
var
  Reg: TRegistry;
  Pfad: string;
begin
  try
    Pfad := '"' + ParamStr(0) + '"';
    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', false);
    if Set1 then
    begin
      Reg.Writestring(Name4Registry, Pfad);
      MessageDlg('Autostart set (for current user)', mtInformation, [mbOK], 0);
    end
    else
    begin
      Reg.DeleteValue(Name4Registry);
      MessageDlg('Autostart disabled', mtInformation, [mbOK], 0);
    end;

    Reg.Closekey;
    Reg.Free;
  except
    MessageDlg('Could not access Autostart key', mtError, [mbOK], 0);
  end
end;

KodeZwerg 7. Mai 2021 15:18

AW: Anwendung als Malware erkannt
 
UPX wird eigentlich bei allen aktuelleren Scannern supported. Ist deine Version vom scanner vielleicht stark veraltet?
Wenn du es unbedingt exe-komprimiert haben möchtest, mit mpress habe ich gute Erfahrung vs scanner gemacht aber ob das dein scanner schluckt musst du alleine herausfinden.
(ich nutze kaspersky aufm pc und totalvirus.com)

venice2 7. Mai 2021 15:19

AW: Anwendung als Malware erkannt
 
Zitat:

Zitat von KodeZwerg (Beitrag 1488839)
UPX wird eigentlich bei allen aktuelleren Scannern supported. Ist deine Version vom scanner vielleicht stark veraltet?
Wenn du es unbedingt exe-komprimiert haben möchtest, mit mpress habe ich gute Erfahrung vs scanner gemacht aber ob das dein scanner schluckt musst du alleine herausfinden.
(ich nutze kaspersky aufm pc und totalvirus.com)

Es geht nicht um einen Virus sondern um Malware
Ich denke mal das MalwareBytes auf seiner Webseite keine alten Versionen zum Download bereit stellt oder?

himitsu 7. Mai 2021 15:52

AW: Anwendung als Malware erkannt
 
UPX und viele andere EXE-Packer werden aber auch von den meisten Virenscannern erkannt, entpackt und dann der Inhalt nochmal gescannt.

Aber kann sein, dass hinter UPX/usw. die Erkennung stenger arbeitet, da das UPX eventuell Indiz für was Gefährliches eingestuft wird.

Und veränderte UPX oder eine "ungünstige" Konfiguration können dafür sorgen, dass nicht entpackt werden kann,
und dann wird natürlich gedacht, dass jemand was verstecken will und das ist natülich sofort ganz böse.


Egal ob Viren oder Malware ... das System der Erkennung ist fast überall gleich/ähnlich.

PS: VirenScanner suchen auch nach Maleware.
Und bloß weil Malwarebytes das Malware im Namen hat, so suchen dessen Programme auch nach Viren. :angle2:

venice2 7. Mai 2021 16:02

AW: Anwendung als Malware erkannt
 
Zitat:

Und bloß weil Malwarebytes das Malware im Namen hat, so suchen dessen Programme auch nach Viren.
Nein nur mit gekauften Zusatzmodul.

himitsu 7. Mai 2021 16:17

AW: Anwendung als Malware erkannt
 
ahhhh, klang so, als wenn das schon im normalen Preis mit drin ist

böse werbung

HolgerX 8. Mai 2021 20:59

AW: Anwendung als Malware erkannt
 
Hmm..

Zitat:

Zitat von venice2 (Beitrag 1488838)
Es ist auch kein Konstantenstring.

Delphi-Quellcode:
...
    Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', false);
..

Wenn Du meinst, dass dies kein Konstantenstring in deiner EXE ist?
Es muss nicht 'const' davor stehen....

venice2 8. Mai 2021 21:05

AW: Anwendung als Malware erkannt
 
Eine Konstante ist bei mir ein vorgefertigter string. ;) in diesen Fall

Delphi-Quellcode:
const
  x = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Run';

Reg.OpenKey(x, false);
Das andere nur ein String gültig für die eine Anweisung, Funktion.

Wenn jedoch bei dir ein string ohne const eine Konstante ist dann ist es so.
Ich habe da eine andere Auffassung.

himitsu 8. Mai 2021 21:14

AW: Anwendung als Malware erkannt
 
Es macht keinen Unterschied.

Eine "richtige" Konstante wird, ähnlich einem Makro, an jeder Stelle ersetzt. (Strings sind Zeiger, also steht "überall" der Zeiger zum String)

Es ist das selbe Ergebnis, also wenn man den die String-Konstante den String direkt einsetzt.
Noch besser, denn wenn der gleiche String an mehreren Stellen vorkommt, dann führt die Codeoptimierung das zusammen und auch da ist dann überall der gleiche Zeiger zur selben String-Konstante.



Bei einer typisierten Konstante ist es ein Unterschied,
denn typlisierte Konstanten sind in Wirklichkeit schreibgeschützte Variablen.
Also hier ist dann überall der Zeiger auf die "Variable" eingebaut.



Bei Strings kommt das Verhalten des Compilers nicht gut rüber.
Mit Integern fällt es besser auf.

Egal ob untypisierte Konstante oder die Zahl direkt im Code, am Ende ist die Zahl direkt im Compilat.
Bei einer Variable oder typisierten Konstante wird an allen Stellen eine Referenz zur globalen Varialble/Konstante im Compilat zu finden sein.

HolgerX 8. Mai 2021 21:14

AW: Anwendung als Malware erkannt
 
Hmm...

Zitat:

Zitat von venice2 (Beitrag 1488914)
Eine Konstante ist bei mir ein vorgefertigter string. ;) in diesen Fall

Delphi-Quellcode:
const
  x = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Run';

Reg.OpenKey(x, false);
Das andere nur ein String gültig für die eine Anweisung, Funktion.

Wenn jedoch bei dir ein string ohne const eine Konstante ist dann ist es so.
Ich habe da eine andere Auffassung.


Wenn Du einen String so übergibst

Delphi-Quellcode:
    Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', false);
Dann ist dieser 'Text' auch eine Konstante!
Versuche diesen mal an eine Funktion so zu übergeben, wenn dort vor der Parameterdefinition ein 'var' steht...

Ich erhalte die Fehlermeldung
'[Fehler] Unit1.pas(33): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden'

Delphi-Quellcode:
const
  x = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Run';
Reg.OpenKey(x, false);

Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', false);
Bei beiden Stellen ist der Text '\SOFTW...' eine Konstante!

venice2 8. Mai 2021 21:16

AW: Anwendung als Malware erkannt
 
Zitat:

Es macht keinen Unterschied.
OkiDoki :)

Danke für eure Infos! Ihr habt dann recht.
Dachte bisher das es nur dann eine Konstante ist wenn explicit so in einer Funktion übergeben.

function(const x: string)
Wuste nicht das es grundsätzlich so ist. Dann kann man sich das const für Strings ja sparen!

Aber gut Thema ist ja erledigt.

himitsu 8. Mai 2021 21:33

AW: Anwendung als Malware erkannt
 
Was bei diesem Const (als Parameter) rein geht, ist unbestimmt.

Dieses "const" bedeutet nur, dass innerhalb der Funktion das Übergebene nicht geändert werden kann, also dieser Parameter ist "schreibgeschützt".
Ob dort eine Konstante oder Variable rein ging, ist egal ... dieses Const bezieht sich ausschließlich auf den Parameter, nicht auf das was rein ging.

PS: Bei einem String kannst mit Delphi-Referenz durchsuchenStringRefCount rausbekommen, ob es eine Konstante ist.
Also eine Variable, typisierte Konstante, Funktions-Paramter oder Dergleichen an diese Funktion übergeben und

0 = nichts drin, aka Leerstring ''
-1 = Konstante
>0 = Variable


falls StringRefCount noch nicht existiert, dann
Delphi-Quellcode:
if S <> '' then
  RefCount := PInteger(NativeInt(S) - 2 * SizeOf(Integer))^
else
  RefCount := 0;

KodeZwerg 8. Mai 2021 21:39

AW: Anwendung als Malware erkannt
 
ich will dich nicht nerven weil du ja das thema beendet hast...
ich weiß echt nicht wie die heuristik da funktioniert bei deinem nicht-scanner scanner, aber vielleicht ginge das hier:
deinen string bevor du kompilierst per aes und base64 verfremden und zu laufzeit den string dort decodiert übergeben falls du verstehst was ich meine.
so wäre die nicht-konstante konstante erstmal vergangenheit.
vielleicht meckert der aber generell wenn du in registry was schreibst, egal wo, könnte man ja mal testen.

venice2 9. Mai 2021 09:42

AW: Anwendung als Malware erkannt
 
Zitat:

Zitat von KodeZwerg (Beitrag 1488919)
ich will dich nicht nerven weil du ja das thema beendet hast...

Warum sollte ich da was ändern unabhängig von dem String Gedöns?

Lese bitte die ersten beiden Zeilen nach der Quote.
Das Problem ist UPX nicht irgendein String als Konstante, nicht Konstante, egal wohin geschrieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz