Autor Thema: Sonderzeichen tricksen Sicherheits-Software aus  (Gelesen 492 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Sonderzeichen tricksen Sicherheits-Software aus
« am: 16 September, 2005, 19:50 »
Der Internet Explorer ist bekannt dafür, dass er selbst kaputte Seiten noch darstellt. Er geht dabei so weit, Zeichen mit dem Wert Null zu ignorieren -- und zwar in beliebiger Menge und an beliebigen Stellen im HTML-Code. Antiviren-Software und Intrusion Detection/Prevention Systeme lassen sich damit austricksen.

Das NUL-Zeichen -- also ein ASCII-Zeichen mit dem Wert 0 -- kennen Programmierer als Kennung für das Ende eines Strings oder einen nicht definierten Wert. Auch in Textdateien oder HTML-Seiten können Bytes mit dem Wert Null auftauchen, wenn sie beispielsweise als Multibyte-Unicode vorliegen. Die Zwei-Byte-Kodierung UTF-16 beispielsweise stellt hinter jedes ASCII-Zeichen eine Null (beziehungsweise je nach Byte-Order davor).

Microsofts Internet Explorer hat eine sehr eigenwillige Art, mit solchen Null-Bytes umzugehen: Er ignoriert sie einfach -- selbst wenn sie mitten in einem HTML-Tag oder innerhalb von Script-Code auftauchen. Und das alles völlig lösgelöst vom Zeichensatz des Dokuments. So funktioniert

alert("Hello world");

genauso wie

a\0x00lert("Hello world");


Selbst Seiten, in denen nach jedem sinnvollen Zeichen über 4000 Nullen folgen, stellt der Microsoft-Browser ohne Fehler dar.

Andere Browser sind da penibler und achten auf den Zeichensatz des Dokuments, der entweder vom Web-Server festgelegt oder vom Browser selbst ermittelt wird. In Webseiten mit herkömmlichen Ein-Byte-Kodierungen wie ASCII oder ISO-8859-1 stellen sie NUL-Zeichen im Text als Sonderzeichen dar. Treten sie innerhalb eines HTML-Tags auf, erkennen die IE-Konkurrenten es anders als der Internet Explorer nicht mehr als gültig an.

Die diesbezügliche Toleranz der Redmonder stellt Hersteller von Sicherheits-Software vor einige Probleme. Ein Antiviren-Programm oder ein Intrusion Prevention System, das vor bösen HTML-Seiten schützen soll, muss dieses Verhalten des Internet Explorer kennen und bei seinen Tests berücksichtigen. Schließlich könnte ein Angreifer seinen bösen Code mit Nullen verschleiern und so versuchen, ihn an den Schutzvorkehrungen seiner Opfer vorbeizumogeln.

Dass dies durchaus praktikabel ist, zeigten erste Tests mit Demos des c't-Browserchecks. Selbst modifizierte Demos mit über 4000 Nullen an mehreren Stellen waren noch in der Lage, auf einem ungepatchten System eine Datei aus dem Internet herunterzuladen und auszuführen.

Quelle und Links : http://www.heise.de/security/artikel/63411

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )