Hallo,
Ein aktuelles System ist keine Garantie dafür, dass es keine Sicherheitslücken gibt. Software ist so komplex, dass sie eigentlich _immer_ Fehler enthält, das ist so gut wie sicher.
Ja leuchtet mir schon ein, nur wenn ich eine Software habe ich nehme z.B. einen Browser, dann verstehe ich nicht ganz, wie es sein kann das irgend ein javascript irgend was auf der Festplatte anrichten kann.
das ist soweit richtig, Javascript ist per se "relativ" ungefährlich (von Sonderfällen wie dem IE abgesehen, dazu später mehr). Aber die wirklich heimtückischen Angriffspunkte sind ganz andere, nämlich echte Fehler oder Versäumnisse der Programmierer.
Dazu ein Beispiel - fiktiv, aber vom Prinzip her realistisch.
Nehmen wir an, es gäbe in der Spezifikation von JPEG eine Festlegung, dass eine bestimmte Struktur im Header maximal 488 Byte lang sein darf. Nehmen wir weiter an, der Programmierer, der den JPEG-Support für einen Browser schreibt, verlässt sich darauf und reserviert als Pufferspeicher für diese Struktur gerade mal 488 Byte, denn "länger darf sie ja sowieso nicht sein".
Und jetzt kommt der Hacker. Er analysiert den Code des fertigen Browsers, wie er zu Millionen bei den Nutzern auf dem Rechner ist. Er stellt fest: Wenn man eine "kaputte" JPEG-Datei konstruiert, in der dieser Header mehr als 488 Byte lang ist, wird der dahinter liegende Speicherbereich überschrieben, weil der Programmierer auf eine Längenüberprüfung verzichtet hat. Wenn er seine getunte JPEG-Datei nun Byte für Byte so konstruiert, dass durch das Überschreiben der nachfolgenden Speicherinhalte eine definierte Reaktion ausgelöst wird ...
Das geht jetzt alles sehr ins Detail, und solche Malware auszutüfteln, ist sicher kein Job, den die Jungs mal eben so zwischen Kaffee und Abendbrot erledigen. Aber die hartnäckigen unter ihnen, die stundenlang oder gar tagelang forschen und probieren, kriegen es irgendwann auch hin, unseren erfundenen Browser kontrolliert zu Fall zu bringen - und zwar so, dass danach irgendein Stück Code ausgeführt wird, den der Hacker dort ausgeführt haben möchte. Peng!
Denn der Browser hat doch von Haus aus jetzt nicht den "direkten" Zugriff auf das Windows Verzeichnis z.B.
Doch, hat er - nämlich über Plugins, die der Nutzer freiwillig installiert. Flash habe ich als Beispiel schon genannt; ein anderes wären Plugins, die die Wiedergabe von Audio- oder Videodaten über einen im System vorhandenen Player ermöglichen. Das einzige, was dann noch schützt, ist a) ein gesundes Vertrauen zum Plugin-Anbieter und b) die Rechtevergabe des Betriebssystems.
Nochmal zurück zum IE: Wenn man die Sicherheitseinstellungen sehr locker setzt und dem IE das Ausführen von ActiveX-Controls erlaubt (die integrierten reichen schon), dann kann man auch mit JScript, der Microsoft-Implementierung von Javascript, auf das Filesystem und/oder die Registry zugreifen. Und zwar alles, was der Nutzer des Browser mit seinen Zugriffsrechten auch dürfte.
So long,
Martin
Die letzten Worte des Hardware-Bastlers:
Das Netzkabel lass ich wegen der Erdung lieber dran.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(