Beim Surfen erhalte ich gelegentlich Warnungen vor Seiten, auf denen Malware gehostet wird, "die meinen Computer beschädigen könnten". Ich bin ernsthaft ratlos darüber, warum Browser im Jahr 2010 immer noch mögliche Exploits haben und geknackt werden können.
Meine Frage ist "Warum?". Ich gehe davon aus, dass dies auf die schnelle Entwicklung in den Browserkriegen zurückzuführen ist, die nicht ausreichend getestet wurden, aber ich bin mir nicht sicher. Sicherlich hätte WebKit alle Probleme in KHTML behoben, oder Gecko hat die Fehler in der Netscape-Engine behoben, und die IE-Codierer haben ihre Codebasis sortiert, um mögliche Fehler zu beseitigen.
(Etwas verwandt: Welcher Browser ist am sichersten? (Forschung und praktisch basierend) .)
Antworten:
Komplexität, Komplexität, Komplexität.
Ein moderner Browser unterstützt
und es wird erwartet, dass es schnell ist, über ein cleveres Caching verfügt, um es schneller zu machen, und über eine ausdrucksstarke und leistungsstarke Benutzeroberfläche verfügt.
Dort ist eine Menge los, und es handelt sich um große, komplexe Software.
quelle
Ein Vektor, den die Leute nicht erwähnt haben: Plugins. Der Browser mag sicher sein, aber das Plugin hat möglicherweise große Löcher ... und mit allgegenwärtigen Plugins wie Flash ... nutzt ahoi matey aus.
quelle
Teilweise ist es die Tatsache, dass einige Updates schneller eingeführt werden, als sie sein sollten. Aber eine vorherrschende Tatsache ist ein Blog-Beitrag, den Jeff vor einiger Zeit hier gepostet hat, als er als Administrator ausgeführt wurde. Alles kann passieren. Da jeder Computer anders ist und unterschiedliche Dinge ausführt, hat nicht immer der Browser selbst einen Exploit. Manchmal ist es ein Plugin eines Drittanbieters wie Flash.
quelle
Ein Teil des Problems besteht darin, dass die Leistung von Browsern (wie Textverarbeitungsprogrammen und CAD-Programmen) stark von den Daten abhängt. Da es (so ziemlich) unendlich viele Daten geben kann, können die Entwickler nicht jede einzelne Kombination testen um zu sehen, ob es unerwünschte Ergebnisse gibt.
Ein weiterer Aspekt ist, dass die Browser Code ausführen müssen, um die Interaktivität zu erhalten, die Benutzer und (was noch wichtiger ist) Websitebesitzer wünschen. Dies ist eine weitere Schwachstelle.
quelle
Viele Antworten hier, die alle unterschiedliche Gründe berühren, aber die grundlegende Antwort lautet "weil dort das Geld ist".
Viele andere Software-Programme weisen wahrscheinlich eine ähnliche oder eine größere Anzahl von Fehlern auf, diese sind jedoch normalerweise nicht ausnutzbar, da Sie einen Benutzer davon überzeugen müssen, sie dem wilden Internet auszusetzen.
quelle
Die Antwort von dmckee ist richtig, aber alles lässt sich mit einer Sache zusammenfassen: der komplexen Interaktion mit unerwarteten Eingaben. Ihr Browser muss Code / Markup, Plugins usw. ausführen, Benutzereingaben verarbeiten, Plugins, die Code ausführen usw. Es ist unmöglich, alle Interaktionen zu testen, da Sie das gesamte Internet - Gegenwart und Zukunft - benötigen würden Ihre Testsuite.
Wenn Sie Software testen, testen Sie anhand einer Reihe normaler und abnormaler Eingaben und sind dann ... bereit für die Beta. Das ist also alles Teil der unendlichen Beta-Phase :)
Auch wie Chris sagt, ist dort das Geld, was bedeutet, dass Browser ein sehr interessantes Ziel sind.
quelle
Tatsache ist, dass jede Software ihre Schwachstellen hat. Keiner ist fehlerfrei. Durch das Beheben von Fehlern werden neue eingeführt.
Der andere Punkt ist, dass der Browser eine der am häufigsten verwendeten Anwendungen ist und Sie viele Menschen leicht erreichen können. Auch das macht es für Angreifer interessant, die Schwachstellen zu finden.
quelle
Sie könnten Recht haben, wenn alle Updates für Browser nur Fehlerbehebungen und Optimierungen an der Originalversion waren. Jede neue Version bietet jedoch mehr Funktionen, die mehr Potenzial für Fehler und Sicherheitslücken bieten.
Sicherheit und Benutzerfreundlichkeit stehen häufig am anderen Ende eines Kompromisses, und Funktionen verkaufen mehr Software als das Fehlen von Sicherheitsproblemen.
quelle