tools:malwareschutz:clamav:clamav_signaturen_schreiben
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
tools:malwareschutz:clamav:clamav_signaturen_schreiben [2024/05/12 10:18] – angelegt gahsul | tools:malwareschutz:clamav:clamav_signaturen_schreiben [2024/05/24 08:12] (aktuell) – Seite verschoben nach :tools:sicherheit:clamav:clamav_signaturen_schreiben gahsul | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== ClamAV Signaturen schreiben ====== | ||
- | ===== Signaturverzeichnis ===== | ||
- | |||
- | Das Signaturverzeichnis befindet sich bei einem Arch Linux unter **''/ | ||
- | |||
- | ===== Hash basierte Signaturen ===== | ||
- | |||
- | Die **einfachste** Art eine **Signatur für ClamAV** zu erstellen ist es den Hashwert einer Datei zu verwenden. Diese erzeugt die wenigsten False/ | ||
- | |||
- | Um die Hash Signatur für eine Datei zu erzeugen, kann man das **'' | ||
- | |||
- | '' | ||
- | |||
- | Dies erzeugt eine **hdb** (Hash Data Base) File Signatur mit folgendem Inhalt: | ||
- | |||
- | <file test.hdb> | ||
- | 48c4533230e1ae1c118c741c0db19dfb: | ||
- | </ | ||
- | |||
- | Die einzelnen Felder werden mit einem **:** getrennt. | ||
- | |||
- | ^Feld^Inhalt^ | ||
- | |1|Hashwert| | ||
- | |2|Dateigröße in Bytes| | ||
- | |3|Dateiname| | ||
- | |||
- | Der Dateiname kann nach Belieben geändert werden. Diese Informationen wird später bei Fund in der Ausgabe angegeben. Hier kann ein beliebiger Name verwendet werden. | ||
- | |||
- | ==== Signatur Testen ==== | ||
- | |||
- | Am schnellsten testet man die Signatur, indem die Option **'' | ||
- | |||
- | '' | ||
- | |||
- | Wenn die Signatur funktioniert, | ||
- | |||
- | <WRAP important> | ||
- | Hash basierte Signaturen sollten nicht für Textdateien verwendet werden. ClamAV führt für Textdateien eine Normalisierung durch. | ||
- | Das bedeutet es werden vor den eigentlichen Scan überflüssige Leerzeichen/ | ||
- | Dadurch ändert sich der Hashwert und Signatur funktioniert dadurch nicht mehr. | ||
- | |||
- | Wenn der Hashwert einer Textdatei trotzdem verwendet werden soll, so muss der Hashwert aus der normalisierten Datei dafür verwendet werden. Siehe hierzu die [[https:// | ||
- | </ | ||
- | |||
- | ==== Siehe auch ==== | ||
- | |||
- | * [[https:// | ||
- | |||
- | ===== Inhaltsbasierte (Content-based) Signaturen ===== | ||
- | |||
- | Um einen bestimmten String oder Inhalt in einer Datei zu finden, so kann das mit einer Inhaltsbasierten Signatur bewerkstelligt werden. Diese werden als ** *.ndb** Dateien gespeichert. | ||
- | |||
- | ==== Beispiel ==== | ||
- | |||
- | Es soll folgende Zeichenkette in Dateien gefunden werden: ''" | ||
- | |||
- | Zuerst wird die Zeichenkette als Hexwert mithilfe von **'' | ||
- | |||
- | < | ||
- | ❯ echo -n 'Finde mich' | sigtool --hex-dump | ||
- | 46696e6465206d696368 | ||
- | </ | ||
- | |||
- | Diesen Hexwert kann nun genutzt werden, um eine Signatur daraus zu erstellen: | ||
- | |||
- | <file mysignature.ndb> | ||
- | Malware_name: | ||
- | </ | ||
- | |||
- | Auch hier ist die Signatur, in mehrere Werte unterteilt, die durch ein **'':'' | ||
- | |||
- | ^Feld^Typ^Beschreibung^Anmerkung^ | ||
- | |1|Zeichenkette|Beliebiger Name|Im Beispiel: '' | ||
- | |2|Ganzzahl|Dateityp|Im Beispiel: '' | ||
- | |3|Zeichenkette|Logischer Ausdruck| Im Beispiel wurde das Wildcard '' | ||
- | |4|Zeichenkette|Inhalt Signatur| Im Beispiel: '' | ||
- | |||
- | <WRAP important> | ||
- | **ClamAV normalisiert Textdateien vor dem eigentlichen Scan.** Dies bewirkt, dass die Zeichenkette ''" | ||
- | |||
- | Es wäre eine **logische Signatur** der inhaltsbasierten Signatur hierfür vorzuziehen. | ||
- | </ | ||
- | |||
- | === Signatur Testen === | ||
- | |||
- | Die Signatur kann hiermit auf Funktionalität geprüft werden. | ||
- | |||
- | '' | ||
- | |||
- | ==== Siehe auch ==== | ||
- | |||
- | * [[https:// | ||
- | |||
- | ===== Logische Signaturen ===== | ||
- | |||
- | Logische Signaturen sind folgendermaßen aufgebaut: | ||
- | |||
- | '' | ||
- | |||
- | Es werden die einzelnen Werte mithilfe eines **'';'' | ||
- | |||
- | |||
- | ^Feld^Typ^Beschreibung^Anmerkung^ | ||
- | |1|Zeichenkette|Signatur Name|Ein beliebieger Name| | ||
- | |2|Zeichenkette|Zielbeschreibungblock|Hier wird die zu verwendene ClamAV Engine und zu untersuchende Dateitypen angegeben| | ||
- | |3|Zeichenkette|Logischer Ausdruck|Hier stehen die Bedingungen, | ||
- | |4|Zeichenkette|Sub-Signaturen (das wonach gesucht werden soll) als Hexwert. <wrap important> | ||
- | |||
- | Um die Inhaltsbasierte Signatur aus dem vorherigen Beispiel zu einer logischen Signatur umzubauen, und damit auch die Möglichkeit zu bieten Großkleinschreibung zu ignorieren, geht man wie folgt vor: | ||
- | |||
- | Umgeschriebene inhaltsbasierte Signatur (**ndb**) zu einer logischen Signatur (**ldb**): | ||
- | |||
- | '' | ||
- | |||
- | ^Feld^Typ^Inhalt^Anmerkung^ | ||
- | |1|Zeichenkette|Malware_name|Selbstbeschreibend| | ||
- | |2|Zeichenkette|Engine: | ||
- | |3|Zeichenkette|0|Logischer Ausdruck: Die verwendung der einfachen Zahl **'' | ||
- | |4|Zeichenkette|46696e6465206d696368:: | ||
- | |||
- | ==== Signatur Testen ==== | ||
- | |||
- | Geprüft kann die Signatur wieder mit: | ||
- | |||
- | '' | ||
- | |||
- | <WRAP todo> | ||
- | Seite sollte mit Beispielen zu den Restlichen Signatur Arten verfolständigt werden. | ||
- | </ | ||
- | |||
- | ===== Siehe auch ===== | ||
- | |||
- | * [[.: | ||
- | * [[https:// | ||
- | * [[https:// |
tools/malwareschutz/clamav/clamav_signaturen_schreiben.1715509101.txt.gz · Zuletzt geändert: 2024/05/12 10:18 von gahsul