Schwere Sicherheitslücke in Firefox - Verlauf auslesbar

  • Ich lese grad diverse Infos - es ist möglich, den Verlauf aus Firefox auszulesen:
    http://board.protecus.de/t36756.htm#320036

    Demo: http://startpanic.com/ --> "Lets start"

    Durch Proxomitron hier funktioniert das nicht, andere Filter evtl ähnlich.
    Aber derb böse ist das schon.

    Betroffen ist auch Firefox 2.0.0.20 - also dürften alle Firefox-Browser bis jetzt betroffen sein.

    Irgendwelche Workarounds?

    #
    Hier wird das ein wenig erleuchtet:
    http://sharovatov.wordpress.com/2009/04/21/sta…-privacy-issue/

    Die Seite arbeitet mit einer Text-Datenbank: http://startpanic.com/db/db_en.txt

  • Firefox 3.1 beta 3 deutsch und 3.5 beta 4 deutsch sind ebenfalls noch betroffen :evil:

  • Brummelchen stellte Folgendes dar:

    Zitat

    Ich lese gerade diverse Infos - es ist möglich, den Verlauf aus Firefox auszulesen.[...]


    Was meine Ansicht verstärkt, dass für Scriptsprachen - wie JavaScript und Ajax - bedauerlicherweise immer noch kein sicherheitstechnischer Industriestandard besteht. JavaScripte sind somit immer noch frei ausgestaltbar, um dann leider mit allen Konsequenzen - sitzungsunabhängig - von allen Browsern gleichermassen ungeprüft verarbeitet zu werden.

    Ohne einen auswertbaren Referrer (also ohne Informationen über die zuletzt besuchte Seite) liesse sich - meiner Ansicht nach - die History ohne chronologische Zuordnung - innerhalb so eines Scriptcodes - nur über eine vordefinierte Anordnung (Datenbank-Auflistung) und einem anschliessenden Vergleich solcher Webseiten mit dieser integrierten Datenbank, realisieren.


    @Brummelchen
    Interessanter Beitrag Deinerseits. Bist Du jedoch nicht auch der Ansicht, dass dieser sog. "JS-Bug" bereits schon in der Vergangenheit - und zwar seit dem Übergang: "statische Betrachtungssprache" > "interaktive Ausführungssprache" (innerhalb der verschiedenen Browser (seit Netscape)) von Bedeutung war, und dieser Zustand somit nicht für den FF alleine relevant sein kann, sondern somit auch für alle andere Browser gelten müsste? (s.u.).


    Brummelchen fragte Folgendes:

    Zitat

    Irgendwelche Workarounds?


    Deine Frage führt hier - meiner Meinung nach - in ein "ad absurdum". Du hast sie Dir oben bereits selber schon beantwortet:

    - Generelles JS-Shutdown (über Browser)
    - Lokale / Externe JS-Filter-Proxies (Browser (NoScript) / System (Proxomitron) / Netzwerk)
    - Umrechnung Binärzahl > Dezimalzahl (URL-Filterung am Gateway (und Vice-Versa))


    Oliver


    http://www.heise.de/newsticker/Jav…-/meldung/17064

  • Alter Hut, wie schon von Oliver verdeutlicht. Um es etwas aufzuklären. Dort wird nicht die places.sqlite ausgelesen. Das ist ein bereits lang bekannter Trick via JS und CSS. Es geht sogar ohne JS, wie auch auf dem Board verlinkt.
    Eine der Listen gegen die geprüft wird: http://startpanic.com/db/db_en.txt
    Siehe auch http://startpanic.com/db/

    Auch hier schon diskutiert:
    http://www.safehistory.com/

  • Es wird nur gegen eine Liste geprüft, du kannst aber natürlich beliebig viele Unterseiten in die Liste einfügen bzw. dynamisch Unterseiten testen.

    D.h. ich könnte sowohl auf firefox-browser.de, als auch auf http://firefox-browser.de/forum testen.

    Das System ist recht einfach. Ich erstelle per CSS einen Link, welcher anders formatiert sein soll, wenn die Seite schon besucht ist. Das ist ja das normalste von der Welt, dass besuchte Links z.B. Lila oder heller dargestellt werden. Nun kann ich leider diese unterschiedliche Farbe per JS auslesen oder alternativ bei besuchten Links z. B. ein anders Hintergrundbild laden, was dann der Server eben mitkriegt.

    Lösungsmöglichkeiten, die ich sehe:
    Entweder besuchte Links von anderen Domains immer als unbesucht werten.
    Oder:
    JavaScript deaktivieren und generell alle Hintergrundbilder etc. laden egal, ob Link beucht wurde oder nicht, d.h. egal ob man sie wirklich braucht oder nicht.

    Beides nicht ideal.

  • >> Alter Hut

    Steht ja im Artikel, dass dieser Bug seit 2000 (!) bekannt ist - und immer noch nichts
    dagegen unternommen wurde. Und es ist ein Sicherheitsrisiko, egal wie rum man den
    Fisch dreht. Es sind mit Sicherheit auch nicht alle Lücken bzgl crossite-scripting und
    Cookies auslesen bekannt, die in der richtigen Kombination und peng.

    Und noch was - Proxomitron schützt nur auf der Seite, es gibt noch eine andere, da geht das durch.
    Wer testet das mit Adblock?

  • Zitat von Brummelchen

    Und es ist ein Sicherheitsrisiko, egal wie rum man den Fisch dreht.

    Das ist so eben "by Design". Man kann Webseiten schlecht verbieten besuchte Links einzufärben und man kann auch schlecht JavaScript abschalten/einschränken.

    Die andere Möglichkeit wäre, eben zu akzeptieren, dass die History mehr oder weniger "öffentlich" ist, und da eben keine privaten Sachen reinzuspeichern. In Fx3.1 wird dazu ja z.B. Private Browsing geben.

  • Ich bin eigentlich immer davon ausgegangen das besuchte Links erst auf meinem Rechner markiert werden, und nicht schon markiert von der Webseite geliefert werden.
    Lag ich da falsch?

  • Nein, aber Javascript wird ja auf deinem Rechner ausgeführt und kann dann ja eben die Linkfarbe wieder auslesen und an die Webseite schicken.

    Alternativ kann ein besuchter Link eben auch ein Hintergrundbild nachladen, wofür dann wieder ne Anfrage an den Webserver geschickt wird.

  • Brummelchen wrote:

    Zitat

    Und es ist ein Sicherheitsrisiko, egal wie rum man den Fisch dreht.

    Es ist eher eine Frage des Datenschutzes als der Sicherheit. Nur auf Grund der Information, dass du auf einer Seite xy gewesen bist, besteht noch keine akute Gefahr für irgendjemanden (ok, abgesehen von Seiten, die von Websperren betroffen sind *eg*).

    Zitat

    Es sind mit Sicherheit auch nicht alle Lücken bzgl crossite-scripting und Cookies auslesen bekannt

    Wenn es erhebliche Implementierungsfehler in Browsern gibt, die es einer fremden Seite ermöglichen würden die Session-Cookies einer anderen Seite auszulesen, dann spielt es doch keine Rolle, ob die Angriffsseite prüfen kann, ob das Opfer bereits auf einer relevanten Seite war. Diese Information würde nur die Effizienz des Angriffs erhöhen, nicht die Machbarkeit. Zudem wirkt XSS eigentlich auf der angegriffenen Seite.
    http://en.wikipedia.org/wiki/Cross-site_scripting#Types

  • JonHa wrote:

    Zitat

    Aber man könnte die clientseitig die Reaktion des Browsers auf :visited konfigurieren, also Abschalten oder nur unter gewissen Bedingungen erlauben.

    Das geht natürlich (NoScript), allerdings würde man nur die Schwelle für Angreifer erhöhen, verhindern kann man diese Form das Angriffs dadurch nicht.