Wenn Sie eine Website öffnen, kann die Website den Browser anweisen, alle möglichen Aktivitäten in seinem Namen auszuführen. Im einfachsten Fall werden nur Text und Bilder zur Anzeige gesendet, aber es können auch kleine Programme gesendet werden, die vom Browser ausgeführt werden (in JavaScript sind die Browser integriert oder verwenden ein Browser-Plugin wie Java oder Flash). .
Eine Infektion nur durch den Besuch einer Website sollte grundsätzlich unmöglich sein:
Während Browser Programme für Websites ausführen, die Sie besuchen, sind diese Programme sorgfältig eingeschränkt, sodass sie nur "harmlose" Dinge ausführen können. In JavaScript können Sie beispielsweise die Seite ändern, zu der das JavaScript gehört (da beide von derselben Website stammen, kann dies nicht schaden), aber JavaScript kann eine Seite von einer anderen Website nicht ändern (eine schlechte Website kann also Ihre Website nicht ändern.) Homebanking-Display), und es kann nicht direkt auf Dateien auf Ihrem Computer zugreifen.
Ähnliche Einschränkungen gelten für die meisten Plugins (zumindest für Java und Flash). Dies wird im Allgemeinen als Sandboxing bezeichnet, da sich der Code im Wesentlichen in einer eigenen Box befindet, die von dem Computer getrennt ist, auf dem er ausgeführt wird. Insbesondere kann es keine Dateien auf Ihrer Festplatte lesen oder Programme starten, wie es "normale" Programme auf Ihrem Computer können.
Nun ist die Sache: Während Sie grundsätzlich sicher sind, sind Sie in der Praxis möglicherweise nicht in der Lage. Der Grund ist, dass das Sandbox-System wie alle Programme Fehler aufweist. Manchmal erlauben diese Fehler einem Programm, die Sandbox zu "brechen" und den Browser oder die Plugins dazu zu bringen, Dinge zu tun, für die dies nicht zulässig ist. Diese Tricks können recht aufwendig sein.
Beispiele:
- Wie bei normalen Programmen kann die Implementierung des Browsers oder Plugins Pufferüberläufe aufweisen, sodass eine Website speziell gestalteten Code ausführen kann, indem sie diesen als Eingabe an den Browser sendet.
- In früheren Versionen des Java-Plugins von Sun gab es eine Sicherheitslücke in Bezug auf die Sandbox. Die Sandbox hat keinen Zugriff auf alle Java-Funktionen (und ist immer noch nicht erlaubt), durch die ein Programm Schaden anrichten kann, z. B. das Lesen oder Löschen von lokalen Dateien. Während die Sandbox den Zugriff auf diese Funktionen von einem Java-Applet aus korrekt blockierte, gestatteten Browser jedoch auch den indirekten Zugriff auf diese Funktionen von JavaScript (über eine als "Reflektion" bezeichnete Technik). Dieses "Backdoor" wurde von den Entwicklern nicht ausreichend berücksichtigt und erlaubte, die Sandbox-Beschränkungen zu umgehen und die Sandbox zu brechen. Weitere Informationen finden Sie unter https://klikki.fi/adv/javaplugin.html .
Leider gab es in den Sandboxen von JavaScript, Java und Flash mehrere Sicherheitslücken, um nur einige zu nennen. Es ist immer noch eine Art Wettlauf zwischen böswilligen Hackern, die diese Schwachstellen erkennen, um sie auszunutzen, und guten Hackern und Entwicklern, die sie erkennen und beheben. Normalerweise werden sie schnell behoben, aber manchmal gibt es ein Fenster mit Schwachstellen.
Übrigens: Die Sandbox ist der Grund, warum einige Java-Applets beim Start die Warnung "Vertraue diesem Applet" auftauchen: Diese Applets fordern Sie auf, sie aus ihrer Sandbox zu lassen und ihnen Zugriff auf Ihren Computer zu gewähren. Dies ist manchmal notwendig, sollte aber nur aus guten Gründen gewährt werden.
PS: Der Grund, dass ActiveX (mindestens frühe Versionen) waren so schrecklich unsicher ist, dass ActiveX hätte nicht eine Sandbox verwenden. Jeder ActiveX-Code von einer Webseite hatte vollen Zugriff auf Ihr System. Um fair zu sein, wurde dies in späteren Versionen (teilweise) korrigiert.