Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics
Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics
Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2.4 Signaturbeschreibungssprachen 15<br />
Einordnung in Semantikmodell<br />
Die Sprachmittel von SHEDEL unterstützen die Beschreibung von Ereignismustern in<br />
Form von Sequenzen und Disjunktionen. Die Häufigkeit eines Ereignismusters kann in<br />
der Ausprägung mindestens modelliert werden, genau und höchstens durch zusätzliche<br />
Abbruchschritte. Der Aspekt Kontinuität wird ebenfalls voll unterstützt. Die hierarchische<br />
Definition von Ereignissen erlaubt zudem die Angabe von Intra- und Inter-Ereignis-<br />
Bedingungen.<br />
Die Dimension Schrittinstanzselektion wird in der Ausprägung erste direkt unterstützt,<br />
letze und alle lassen sich durch entsprechende Schleifenkonstrukte realisieren. Die<br />
Dimension Schrittinstanzkonsum wird ebenfalls voll unterstützt.<br />
Zusammengefasst lassen sich in SHEDEL – bis auf den Aspekt Nebenläufigkeit 11 sowie<br />
den Ausprägungen Konjunktion und Simultanität von Ereignismustern – alle Elemente<br />
aus dem in Abschnitt 2.4.1 vorgestellten Semantikmodell realisieren.<br />
Relation zu endlichen Automaten<br />
Es fällt auf, dass die einzelnen Sprachelemente der Struktur von endlichen Automaten<br />
nachempfunden sind. Ein komplexes EVENT-Element kann als Endlicher Automat interpretiert<br />
werden, dessen Zustandsübergange den STEP-Elemten entsprechen. Vorzustände<br />
eines Zustandsübergangs werden durch die Angabe eines REQUIRES-Ausdrucks beschrieben.<br />
CONDITIONS-Ausdrücke geben die Bedingungen <strong>für</strong> einen Zustandübergang an.<br />
Listing 2.3 realisiert beispielhaft einen endlichen Automaten NestFound, der Zeichenketten<br />
akzeptiert, die die Buchstaben n, e, s und t in genau der angegebenen Reihenfolge<br />
enthält. Ein Ereignis ist in dieser Signatur das Lesen eines Zeichens der Zeichenkette. 12<br />
Formal akzeptiert der Automat die durch den regulären Ausdruck 13 Σ ∗ nΣ ∗ eΣ ∗ sΣ ∗ t<br />
beschriebene Sprache <strong>für</strong> ein geeignet gewähltes Alphabet Σ. Mit Σ ∗ wird – der Notation<br />
aus [62] folgend – der Kleenesche Abschluss über Σ bezeichnet. Diese Konstruktion<br />
entspricht genau dem „Don’t care“-Symbol aus Abschnitt 2.3.2.<br />
11 Überlappend ist in SHEDEL der Standardmodus <strong>für</strong> Nebenläufigkeit.<br />
12 So konstruierte Signaturen sind <strong>für</strong> den praktischen Einsatz eher ungeeignet, da sie schnell unübersichtlich<br />
werden können. Hier eignen sich Intra-Ereignis-Bedingungen besser zur Beschreibung von Mustervergleichen.<br />
Dessen ungeachtet demonstriert das angegebene Listing die Flexibilität von SHEDEL.<br />
13 Definition siehe Abschnitt 2.4.4.