Wie kann ich einen Virus bekommen, indem ich nur eine Website besuche? [doppelt]

Diese Frage hat hier bereits Antworten: Geschlossen vor 9 Jahren.

Mögliches Duplikat:
Kann ein Computer über einen Webbrowser mit Malware infiziert werden?

Es ist allgemein bekannt, dass Sie einen Virus bekommen können nur durch den Besuch einer website. Aber wie ist das möglich?

Greifen diese Viren Windows -, Mac-und Linux-Benutzer an oder sind Mac/Linux-Benutzer immun?

Ich verstehe, dass ich offensichtlich einen Virus bekommen kann, indem ich einen herunterlade und ausführe .exe in Windows aber wie kann ich einen Virus bekommen, indem ich einfach auf eine Website zugreife?

Sind die Viren in JavaScript programmiert? (Es wäre sinnvoll, da es sich um eine Programmiersprache handelt, die lokal ausgeführt wird.) Wenn ja, welche JavaScript-Funktionen werden die häufig verwendet?

Author: Community, 2011-06-27

8 answers

Es ist allgemein bekannt, dass Sie einen Virus nur durch den Besuch einer Website erhalten können. Kann jemand erklären, wie das möglich ist ?

Beispiele in Klammern. Es gibt einen Fehler im Browser (IE), im Javascript-Interpreter oder in einem Plugin (wie Flash oder Java). Dieser Fehler führt zur Codeausführung - dieser Teil kann sehr kompliziert sein, beinhaltet jedoch häufig einen anwendungsfreien Fehler und eine Heap-Manipulation von .

Dann habe ich einen Shellcode ausgeführt. Der Shellcode muss entkommen was auch immer der Browser schützt - für einen V8 / Chrome-Fehler müssten Sie der Chrome-Sandbox entkommen und DEP und ASLR besiegen. Für IE müssten Sie DEP und ASLR schlagen und dann aus dem Low Integrity-Modus ausbrechen. Für Java müssten Sie... tun Sie nichts - Sie sind alle golden. (Deshalb gab es eine Flut von Java-Fehlern.)

Jetzt, da auf Ihrem Computer beliebiger Code ausgeführt wird, wie Sie (Sie werden nicht als Administrator ausgeführt, oder?), Ich kann eine Datei aus dem Internet herunterladen und ausführen, dropping einige malware auf Ihrem Computer.

Sind die Viren in JavaScript programmiert ? (Es wäre sinnvoll, da es sich um eine Programmiersprache handelt, die lokal ausgeführt wird.) Wenn ja, welche JavaScript-Funktionen sind diejenigen, die üblicherweise verwendet ?

Spezifisch - Nr. Javascript ist ein Angriffsvektor, mit dem Benutzer einen Fehler in einem Browser finden. Sie könnten auch Flash, Java oder Silverlight als Angriffsvektor verwenden. In Javascript schreiben sie Javascript, um den Browserfehler auszulösen, und dann die virus wird schließlich aus dem Internet gezogen.

 24
Author: Tom Ritter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-27 18:09:26

Leider und pervers, gibt es eine Reihe von Möglichkeiten, wie dies passieren konnte.

Sie haben absolut Recht, erstaunt zu sein, dass ein "Lesegerät" wie ein Browser Ihr eigenes System aktiv manipulieren (und Schaden anrichten) könnte. Wenn Sie ein Buch lesen, wird Ihr Bankkonto nicht aufgebraucht, und das Öffnen einer Zeitung schadet Ihren Kindern nicht, Warum kann das Öffnen einer Website all das und mehr tun?

Das Problem tritt immer dann auf, wenn die Möglichkeit besteht, dass fremde Daten aus dem Internet, die wir müssen immer davon ausgehen, mit größter böswilliger Absicht gefertigt werden, irgendwie verwaltet von Ihrem System ausgeführt werden.

Wenn Sie nur an der Befehlszeile sitzen und wget http://evil.com/hitme.php eingeben, schreibt der wget-HTTP-Client einfach einen binären Speicherauszug der Anforderung auf Ihre Festplatte, und es ist nichts Schlimmes passiert (außer vielleicht, dass sich Ihre Festplatte füllt). Aber wenn Sie die Adresse in Ihren Browser eingeben, ist Ihr Browser frei zu tun, was es will - formatieren Sie Ihre Festplatte, senden Sie Ihre Kreditkartendaten weg, etc. Es ist bis zu Vertrauen Sie Ihrem Browser, dies nicht zu tun. Die meisten Browser versuchen zwar, diese schlechten Dinge nicht zu tun, aber wir, die undBenutzer, haben gefordert, dass Browser immer mehr "clevere Tricks" ausführen und automatisches Verhalten zeigen können basierend auf Anweisungen aus dem Internet. Unsere Anforderungen haben zur Schaffung clientseitiger Codeausführungstechnologien wie JavaScript und Flash geführt, die beliebigen, fremden, nicht vertrauenswürdigen, böswilligen Code herunterladen und ausführen zu unserem Vergnügen.

Der Grund, warum die Leute, die sich diese Technologien ausgedacht haben, nicht sofort gelyncht wurden, ist, dass a) es Hasen auf unseren Bildschirmen tanzen ließ und b) sie behaupteten, dass sie ausreichende Sicherheitskontrollen in das Design einführten, um zu verhindern, dass der willkürliche bösartige Code manipuliert das lokale System (z. B. nicht das Lesen/Schreiben der lokalen Festplatten, Lesen/Schreiben der Zwischenablage, Lesen/Schreiben von Formularfeldern in anderen Registerkarten).

Leider ist der Design-Ansatz zu " first allow alles und dann vertuschen wir ein paar schlechte Stellen, an die wir denken können" ist grundlegend fehlerhaft, und jetzt stehen wir vor einem unendlichen Strom neuer Möglichkeiten, wie unsere clientseitigen Komfortfunktionen verwendet werden können, um unsere Systeme zu kompromittieren.

Der einzige mäßig sichere Ausweg besteht darin, JavaScript und Plugins in Ihrem Browser zu deaktivieren. Sicher wie 1995.

 14
Author: Kerrek SB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-27 18:28:28

Der Punkt, der in diesen Antworten wirklich überschritten wurde, den ich wirklich nach Hause schlagen möchte, ist folgender: Der Grund, warum Sie einen Virus von einer Webseite bekommen können, ist, dass einige Software, die Sie ausführen, einen Fehler hat - eine Sicherheitslücke.

In jedem Schritt des Prozesses der Erstellung der Software, die Schöpfer von Flash; Ihres Browsers; Ihres Betriebssystems haben versucht, sicherzustellen, dass zufälliger, bösartiger Code aus dem Internet nicht nur einen Weg finden kann, sich selbst auszuführen. Leider, dies zu tun ist schwer. , Wirklich hart.

Wie alle Menschen müssen die Entwickler dieser Software Fehler machen: Der HTML-Parser überschreibt versehentlich ein Byte im Stapel, wenn Sie den HTML-Code mit </p beenden. Sie verwendeten versehentlich ein signed int anstelle eines unsigned int. Der Javascript-JIT-Compiler versucht versehentlich, einen Array-Index in einen Null-Zeiger zu dereferenzieren. All diese Schwachstellen und Millionen mehr treten die ganze Zeit in Software auf, entweder wegen mangelnder Sicherheitskenntnisse oder eines Versehen oder sogar nur eines einfachen Fehlers. Software ist einfach Weg zu komplex, um sie alle zu fangen.

Aus diesem Grund verfügen Betriebssysteme über integrierte Mechanismen, um Schäden am System zu verhindern, selbst wenn eine Sicherheitsanfälligkeit festgestellt wird. Ihr Betriebssystem hat wahrscheinlich DEP und ASLR. Programme können verschiedene Schutzfunktionen vom Compiler hinzugefügt haben. Browser laufen bei niedrigeren priveledges. Programme werden durchlaufen automatische Analyse und Testen von, die viele dieser Schwachstellen auffangen können.

Mein Punkt ist, dass niemand dies zulässt - aber es ist unmöglich, völlig sichere Software zu entwerfen, genau wie es unmöglich ist, einen völlig sicheren Safe zu entwerfen. Jemand mit genug Zeit, Wissen, Geld und Anreiz wird immer einen Weg finden, es zu knacken. Und das Problem mit diesem Safe ist, sobald einige Hacker ihre Kopie davon öffnen, können sie leicht öffnen Sie andere Kopien auf der ganzen Welt, ohne ihr Zimmer zu verlassen.

 11
Author: BlueRaja - Danny Pflughoeft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-23 11:33:51

Ihre spezifischen Fragen

Ich verstehe, dass ich offensichtlich einen Virus bekommen kann, indem ich einen herunterlade und ausführe .exe in Windows aber wie kann ich einen Virus nur durch Zugriff auf eine Website bekommen ?

Ihr Browser führt ständig Code aus (er besteht aus Code). Wenn Webseiten heruntergeladen werden, lädt dieser Code beliebige Daten (Pixel, Zeichen usw.) herunter und zeigt sie an.

Code ist auch Daten (auf Prozessorebene).

Da Code Daten sind, wenn Ihr der Browser versucht, die Daten auszuführen (unabhängig von der Dateierweiterung oder dem Format), sie werden möglicherweise tatsächlich ausgeführt (wenn sie korrekt erstellt wurden).

Normalerweise ist Ihr Browser nicht so dumm, zufällige Daten auszuführen, die er heruntergeladen hat. Dies kann jedoch passieren.

Eine Möglichkeit, dies zu tun, besteht darin, die Daten so zu formen, dass sie beim Lesen "durchlaufen" und die Daten überschreiben, aus denen das ausführbare Programm des Browsers besteht. Dies erfordert, dass der Browser einen Fehler hat (am häufigsten in diesem Fall, zulassen eines Pufferüberlaufs).

Ihr Browser führt auch Programme auf Webseiten aus. Javascript ist, wie Sie bereits erwähnt haben, eine solche Art von Code. Aber es gibt Dutzende. ActiveX, Flash, add-ons, grease monkey scripts, etc. sind alle Codes, die Sie beim Besuch von Webseiten ausführen. Dieser Code kann Fehler enthalten, die Sicherheitshosen verursachen.

Greifen diese Viren sowohl Windows -, Mac-als auch Linux-Benutzer an oder sind Mac/Linux-Benutzer immun ?

Keine Plattform wir die Verwendung ist völlig immun gegen Fehler, da sie alle Prozessoren verwenden, die Daten als Code behandeln. So funktioniert einfach unsere bestehende Computerarchitektur.

Der Grund für diesen Mythos ist, dass Mac und Linux im Vergleich zu Windows-Computern (auf Desktop-Ebene) viel geringere Akzeptanzraten aufweisen. So Desktop-Software auf diesen Maschinen ist nicht so häufig ein Ziel für Virenhersteller.

Viren entstehen nicht durch Magie oder durch zufällige Evolution (wie es biologische Viren tun). Es ist eine software geschrieben von Einzelpersonen oder teams von Entwicklern. Und sie wollen den größten Marktanteil erreichen, so wie es normale Softwareanbieter tun.

Ob ein Virus auf mehrere Plattformen abzielen kann; In allen Browsern wird unterschiedlicher Code ausgeführt, sodass unterschiedliche Fehler auftreten (sogar derselbe Browser auf verschiedenen Plattformen). Es gibt jedoch einige Codebibliotheken, die plattformübergreifend gemeinsam genutzt werden. Wenn eine solche Bibliothek den Fehler enthält, ist es möglich, dass der Exploit auf mehreren vorhanden sein könnte Plattform.

Aber je nach Art des Angriffs, ein Virus für einen Nicht-Intel-Mac geschrieben könnte nicht auf einem Intel-Mac arbeiten, und umgekehrt, weil sie unterschiedliche Prozessoren haben. Bei verschiedenen Prozessoren haben die Daten, die den Code darstellen, ein anderes Format.

Wenn Sie jedoch von einer virtuellen Maschine oder Skriptsprache sprechen, können Angriffe plattformunabhängig sein. Das führt uns zur nächsten Frage...

Sind die Viren programmiert JavaScript?

Einige Viren sind. Die oben genannten Informationen (über Buffer Overrun Exploits) würden normalerweise als Angriff außerhalb von Javascript verwendet, könnten aber auch für einen Virus gelten, der einen Exploit in einem Javascript-Interpreter angreift.

Javascript wird auch einen eigenen Satz von Exploits haben, auf einer Betriebsebene, die über Pufferüberschreitungen liegt. Es gibt eine ganze Reihe von Möglichkeiten, jede Software anzugreifen. Je größer die Software ist (Codezeilen), desto mehr sorten von Benutzereingaben (in diesem Fall Codetypen), die es wahrscheinlich erhält, und je mehr Fehler es enthalten kann.

Je exponierter eine laufende Software (z. B. Software, auf der ein Server ausgeführt wird) ist, desto anfälliger ist sie für Angriffe.

Im Allgemeinen heißt dies Angriffsfläche

Exploits im Allgemeinen

Microsoft hat eine Mnemonik für gemeinsame Exploit-Typen, und sie alle haben ihre eigenen interessanten Eigenschaften, und verschiedene Ebenen der Software dass sie angreifen können - SCHRITT, was steht für:

Spoofing (of user identity)
Tampering
Repudiation
Information disclosure (privacy breach or Data leak)
Denial of Service (D.o.S.)
Elevation of privilege

Einige davon werden eher bei einem Angriff verwendet, der auf Javascript basiert, als andere, einige auf Servern, einige auf Datendateien (z. B. Bildern).

Aber Sicherheit ist ein großes und sich entwickelndes Feld. Es gibt wirklich zu viele Informationen, um alle Ihre Fragen vollständig zu beantworten.

 8
Author: Merlyn Morgan-Graham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-28 00:29:13

Der Begriff heißt "Drive-By-Download" -

Hier ist ein schönes Beispiel, wie es passiert, ohne dass Sie etwas anderes tun, als eine Website zu besuchen.

Schneider sagte, dass das Forscherteam des Unternehmens ein Stück JavaScript auf der Seite entdeckt habe, das einen Iframe injizierte, der auf eine bösartige Site zeigte. Bei näherer Betrachtung ergab sich, dass ein zuvor unbekannter (0-tägiger) Exploit von IE verwendet wurde, der in der Lage ist, eine vollständig gepatchte Version dieses Browsers zum Absturz zu bringen, und ausführen von Schadcode. Der 0-Tag war jedoch von kurzer Dauer, da Microsoft bald Details zur Sicherheitsanfälligkeit veröffentlichte.

Eine weitere Analyse des Shellcodes ergab eine Klartext-URL, die auf einen bekannten böswilligen Server verweist, der im Repository von M86 gespeichert war, da er die bekannten iepeers ausgenutzt hatte.dll-Schwachstelle, MS10-018.

 7
Author: Moab,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Der Trick ist, dass Virenmacher / Sicherheitsexperten Schleifenlöcher in Browsern finden. In einfachen Worten, sie finden ein Loch in der Sicherheit des Browsers und können dieses Loch verwenden, um etwas mit Ihrem System zu tun. Es gibt Fälle, in denen Adobe Flash Löcher hatte und mit spezifischem Code ausgenutzt werden konnte. Es gibt auch Javascript-Strings, die diese Sicherheitslücken auslösen können.

Wenn Sie jedoch Ihren Browser auf dem neuesten Stand halten, ist es sehr unwahrscheinlich, dass Sie sich nur durch einen Besuch infizieren eine Website (Dateien herunterladen und ausführen ist eine andere Geschichte!)

 3
Author: Roger Far,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-27 18:23:05

Viren wie die, die Sie durch den Besuch einer Website infizieren, nutzen einen Fehler im Besuchssystem aus. Zum Beispiel kann ein Browser oder Plug-in einen Fehler in seiner Programmierung haben, so dass ein Bild (versehentlich aus der Sicht des Browser-Entwicklers) erlaubt sein könnte, einen beliebigen Befehl auf dem besuchenden Computer auszuführen.

Als solches ist angeblich jedes Betriebssystem ein potenzielles Opfer, aber Virenschreiber rahmen ihre Angriffe normalerweise auf der Grundlage von Skaleneffekten ein - je mehr Benutzer, Best. Deshalb sind Windows und Internet Explorer häufiger im Visier.

Ein Teil eines Browsers oder Plug-ins könnte von einem Virus angegriffen werden. Das oben erwähnte Bild-that-caused-a-Virus war ein echtes Beispiel. Flash ist ein gemeinsames Ziel. Die JavaScript-Engine in Browsern ist es auch. Es gibt viele verschiedene Dinge, die schief gehen können.

Am besten führen Sie einen hochwertigen Virenscanner aus. Ich habe NOD32 von Eset verwendet. Klicken Sie auch nicht auf etwas, wenn es zu gut ist wahr. Verwenden Sie NoScript in Firefox, und AdBlock.

 2
Author: Bill Sempf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-27 18:16:53

Greifen diese Viren Windows -, Mac-und Linux-Benutzer an oder sind Mac/Linux-Benutzer immun?

Wenn eine Website es schafft, die Sicherheit Ihres Browsers zu verletzen, könnte sie mit allem, was zu Sie auf dem Computer gehört, Muck. Wenn es jedoch seine Privilegien eskalieren und administrativen Zugriff erhalten kann, könnte es überhaupt mit irgendetwas auf dem System zu tun haben.

Es wird seit langem angenommen, dass es schwieriger ist, Administratorrechte auf einem Unix-Computer (z. B. Linux, Mac) zu erlangen, oder BSD) als unter Windows. Die jüngste (ab Windows Vista) Überarbeitung der Sicherheitsfunktionen durch Microsoft hat Windows jedoch möglicherweise viel sicherer gemacht als zuvor-oder zumindest glauben Sie das.

 1
Author: jpaugh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-27 23:53:27