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: von gahsul