Anbieter zum Thema
Verdächtigen Skriptcode erkennen und entschlüsseln
Dank Technologien wie JavaScript sind moderne Webanwendungen deutlich dynamischer geworden – und gleichzeitig gefährlicher. Um Anwendern heimlich Schadsoftware unterzuschieben (Drive-by-Download), nutzen Kriminelle häufig so genanntes „obufscated JavaScript“.
Hierbei handelt es sich um Skriptcode, der nach allen Regeln der Kunst entstellt wurde, um Schutzsoftware hinters Licht zu führen. Variablen besitzen nichtssagende Namen und Werte, URLs werden erst zur Laufzeit aus diversen Zeichenketten zusammengebaut und nur durch mehrfache Sprünge erreicht der Code sein eigentliches Ziel: Den Exploit.
Für den Angreifer hat diese Technik jedoch zwei entscheidende Nachteile: Ein derart gestalteter Code sticht einem aufmerksamen Administrator sofort ins Auge und kann von diesem auch komplett entschlüsselt werden. Dazu bedarf es nur der Emulation der JavaScript-Engine und ein wenig Geduld.
Ersteres übernimmt das von Boban Spasic entwickelte Tool „Malzilla“, das Skripte in einer sicheren Testumgebung ausführt, um deren wahre Funktionalität offen zu legen. Gefährliche Funktionen wie eval() werden dazu automatisch blockiert und der Analyst so vor einer Infektion geschützt.
Patch-Management durch Versionsverwaltung optimieren
Damit Sicherheit dauerhaft auf einem hohen Niveau gewährleistet werden kann, bedarf es der ständigen Aktualisierung aller eingesetzten Software-Komponenten. Vom Online-Shop bis zum Firefox-Plugin der Mitarbeiter muss der Code stets auf dem neuesten Stand gehalten werden.
Viele Open-Source-Projekte nutzen Versionsverwaltungssysteme wie CVS oder Subversion und erlauben auch anonymen Lesezugriff. Ein großer Pluspunkt! Anstatt nun bei jedem Update den gesamten Code zu ersetzen, werden nur die Stellen ausgetauscht, die sich auch tatsächlich verändert haben.
Für die Code-Analyse bedeutet dies vor allem eines: Wurde die Anwendung bereits komplett evaluiert, müssen bei Updates nur noch die Änderungen hinsichtlich Software-Fehlern bewertet werden. Eine sehr beträchtliche Zeit- und Kostenersparnis.
Im letzten Teil dieser Artikelreihe setzt Security-Insider.de den Schwerpunkt auf Prävention und betrachtet verschiedene Gegenmaßnahmen, um Software-Bugs erfolgreich zu begegnen.
Inhalt
- Seite 1: Lexikalische und semantische Code-Audits
- Seite 2: Dynamische Tests und Code-Coverage-Tools kombinieren
- Seite 3: Verdächtigen Skriptcode erkennen und entschlüsseln
(ID:2050293)