Warum haben Browser so viele mögliche Exploits?


7

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) .)


8
Dies liegt daran, dass es sehr schwierig ist, eine sichere Methode zu entwickeln, mit der Dritte Software ohne Ihre ausdrückliche Erlaubnis oder Zustimmung auf Ihrem Computer ausführen können.
Zoredache

Sie haben viele Fehler, diese auszunutzen ist viel schwieriger
Ivo Flipse

Antworten:


11

Komplexität, Komplexität, Komplexität.

Ein moderner Browser unterstützt

  • Abrufen von Daten über mehrere Protokolle (http, https, ftp, ...)
  • Rendern mehrerer verschiedener Auszeichnungssprachen (einfaches HTML (in mehreren Versionen), xhtml, html mit CSS ...)
  • Speichern und Abrufen von Daten auf Anfrage von Remotebenutzern (Cookies)
  • Zwei (oder mehr!) Vollständige Programmierumgebungen, um von außen bereitgestellten Code auszuführen (Javascript, Java, möglicherweise Flash ...)
  • Eine Art interne Optionsdatenbank
  • ( aus Broams aufschlussreicher Antwort gestohlen , also stimmen Sie ab ) Unterstützen Sie eine Plug-In-Architektur, die den Codezugriff von Drittanbietern auf die Browser-Interna ermöglicht

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.


Deshalb benutze ich Lynx, wenn ich unbedingt Sicherheit über alles andere haben möchte. In einem Nur-Text-Browser gibt es nur sehr wenig Angriffsfläche. Es gibt auch eine Menge Dinge, die es nicht kann.
David Thornley

1
@ David: Ich würde sagen, dass Lynx wahrscheinlich genauso unsicher ist. Die Sicherheit ist weniger getestet und viele Angriffsmethoden sind Pufferüberläufe und ähnliche Löcher.
Georg Schölly

8

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.


Ich hätte möglicherweise meine Frage verfeinern sollen; Ich bezog mich auf die Kernelemente des Browsers (Layout, Javascript usw.).
Humphrey Bogart

2
Sie könnten - aber ich hätte das trotzdem angesprochen. Ich bin als „Technologie luddite“ in meinem Freundeskreis bekannt , weil ich nicht haben Flash installiert. Die Tatsache, dass IMO unter Linux auf Eis stinkt, ist nur ein Teil davon.
Broam

3

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.


Netter Link. Ich wusste, dass jemand wie Jeff Atwood einen Beitrag dazu haben würde.
Humphrey Bogart

Im Zusammenhang mit "schneller eingeführt als sie sein sollten" ist, dass Browser-Anbieter sich beeilen, die neuesten und besten zu haben, und manchmal neue Funktionen schneller einführen, als sie ausreichend getestet werden können. Vielleicht ein seltener Fall, in dem zu viel Wettbewerb eine schlechte Sache sein kann?
Michael Itzoe

3

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.


3

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.


2

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.


1

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.


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.