Archive for September, 2008

So langsam fällt mir schon kein Kommentar mehr dazu ein…

Diesmal semmelt Google Chrome bei einem einfachen window.close() ab.

Quelle: milw0rm – Google Chrome Window Object Suppressing Remote Denial of Service

Ist laut der Beschreibung ein Designfehler.

Naja… wofür auch einen sicheren Browser erstellen… langt doch wenn man die Daten der User bekommt…

Btw…

ALL YOUR DATA BELONGS TO US

Und wieder ein Problem in Google Chrome.

Ein DOS per Carriage Return…

Guggst du hier

Und wer zu bequem ist…

Google Chrome Carriage Return DOS

Fazit… Finger weg von dem Browser!

Nach dem Update einer Installierten Software, kam plötzlich der Windows-Defender um die Ecke und warf mir dieses Popup an den Kopf.

Bevor ich hier auf “Informationen senden” geklickt habe, warf ich schnell noch Wireshark im Hintergrund an.

Eines Vorweg… Microsoft hat nichts mitgeschickt, was die Maschine direkt identifizieren kann. Jedenfalls nichts, was man direkt sehen kann.

Das Problem an der Analyse ist, dass die als Antwort gesendeten Daten per SSL und verschlüsselt zurück kommen. Da kann ich halt nichts großartig rausfiltern.

Hier kurz mal der GET-Request, der rausgeht:

/StageOne/Generic/AVSubmit/WinDefend/1_1_3903_0/unspecified/1_43_537_0/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.htm?LCID=1031&OS=6.0.6001.2.00010300.1.0.3.18000&VID=Micro-Star%20Int’l%20Co.,Ltd.

Die hier enthaltenen Daten sind das Gebietsschema Deutsch (LCID), der Mainboardhersteller Microstar/MSI (VID) und verwendete OS (Vista) mit einem sehr detailierten Versionsstring.

Der xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Abschnitt in der URL war vorher eine GUID, welche ich bewußt entfernt habe. :)

Die Antwort kam nach dem GET-Request zuerst als Cleartext und danach folgten dann per SSL Übertragene Datenpakete.

    HTTP/1.1
    User-Agent: MSDW
    Host: watson.microsoft.com
    Connection: Keep-Alive
    
    HTTP/1.1 200 OK
    Content-Length: 45
    Content-Type: text/html
    Last-Modified: Sun, 21 Sep 2008 22:12:35 GMT
    Accept-Ranges: bytes
    ETag: "bfa9db26371cc91:13b9"
    X-Powered-By: ASP.NET
    Date: Mon, 22 Sep 2008 21:49:07 GMT
    
    Bucket=336285644
    BucketTable=5
    Response=1

Bevor sich jemand wundert, wofür ETag steht… Guggst du hier.

Die per SSL übertragenen Datenpakete kamen übrigens von hier:

spynet2.microsoft.com

Hier die noch fehlenden Geschwindigkeitstests der neuen Kampfroutine:

    Testrun: Dice
    
    Duration: 13,834 sec
    Fights total:      22.731.286
    Fights per Second:  1.643.122
    Fightrounds: 39
    
    Testrun: Math
    
    Duration:  2,297 sec
    Fights total:      3.915.308
    Fights per Second: 1.704.022
    Fightrounds: 7

Auf den ersten Blick ist das neue Kampfsystem nur 60.900 Kämpfe schneller, aber wir haben auch nur 7 anstatt 39 Runden benötigt.

Somit haben wir zum einen weniger Datenerzeugt, welche direkt weniger Speicher benötigen, als auch intern weniger Speicheroperationen benötigt.

Ergo… schneller :D

Bleibt abzuwarten, ob die Ergebnisse der Kämpfe brauchbarer sind.

Soderle… die Tage wollte ich mir mal wieder ein paar neue Spiele leisten und habe mir die folgenden drei gekauft:

Crysis Warhead

Crysis Warhead ist ein nettes Spiel. Die Grafik ist sehr gut (Mster arbeitet schon an einer gepimpten Config), dass Spiel macht unheimlich Spaß und wären da nicht die typischen Electronic Arts Fehler, dann könnte man es auch ohne sich zu Ärgern spielen. Btw… das Spiel kann man auch ohne das Vorgängerspiel Crysis spielen und die Storyline ist größtenteils eigenständig.

Wie? EA Fehler? Dazu kommen wir später noch…

Spore

Spore wurde schon Monate vor der Veröffentlichung mit Lohrbeeren überhäuft. Der wenige Wochen vor dem Release erschienen Kreaturen Editor hatte selbst in der eingeschränkten Light-Version viel Freude gemacht.

Um so größer war die Vorfreude auf das eigentliche Spiel. Eines vorweg… es stinkt!

Der Kopierschutz ist ein Graus, die Installation grausam (wenn euer DVD-Laufwerk sich komisch beim Installieren anhört… das muß wohl so sein) und das Spiel ziemlich eintönig.

Oder um mal verschiedene Quellen zu zitieren: “Ein nettes Casualgame mit einem brauchbaren Editor“.

Ach ja… auch dieses Spiel ist von Electronic Arts

Warhammer online

Nachdem Age of Conan meiner Meinung nach nicht als der World of Warcraft Killer angekommen ist, ruhten die Hoffnungen auf W.A.R.

Tjo… wie soll ich sagen… wenn man in den gängigen Foren so ließt, dann bekommt man schon das Gefühl, auch hier wieder ein Typisches Electronic Arts Spiel vor sich zu haben. Und welch ein Zufall… dem ist auch so.

Gut das ich aus dem ziemlich verkorksten Start von AoC gelernt habe und meinen Account noch nicht angelegt habe.

Typisches Electronic Arts Spiel…

Soderle… jetzt will ich das mal konkretisieren…

Aber eines vorweg: Das hier ist meine eigene persönliche Meinung!

Die hier vorgestellten Spiele habe ich selbst im Besitz und bis auf W.A.R. schon gespielt. Auch habe ich noch mehr Spiele von Electronic Arts, welche ähnliche Probleme Anfangs gemacht haben.

Electronic Arts bessert in der Regel immer nach. Nicht immer sofort, aber sie kümmern sich drum.

Mein Problem mit ihren Spielen sind die folgenden Punkte:

  • Das Verhältnis Spielzeit zu Preis paßt nicht.
  • Der Inhalt ist oftmals Murks oder nicht fertig durchdacht
  • Die Spiele strotzen vor Fehlern
  • Abstürze sind die Regel, nicht die Ausnahme

4 Kritikpunkte… man… Knapp am Frickler Award vorbei.

Früher war alles besser…”

Blöder Spruch, stimmt aber in dem Fall! Zu den 8 / 16 Bit Zeiten war es nicht die Regel, dass man hier einfach ein paar hundert MB als Update online anbieten konnte. Da wurde noch richtig Arbeit in die Qualitätssicherung gesteckt. Heute scheint dieser Part irgendwie nicht mehr vorhanden zu sein.

Solange es genügend Käufer gibt, bekommt man halt auch den größten Mist noch verkauft. :(

Da das aktuelle Kampfsystem durch den Einsatz von Rollenspielähnlichen Kampfregeln sehr langsam war, habe ich mir mal die Mühe gemacht und ein reines Mathematisches Kampfsystem erstellt.

Hierbei gilt folgende Regel:

    Lebensverlust = Angriffskraft – Rüstung des Verteidigers

Kampfsystem TestGUI v0.7.2.1 (286 KB)

Hier die Änderungen in der aktuellen Version:

========================================================================
Release 0.7.2.1 – 21.09.2008
========================================================================

* Einbau des Mathematischen Kampfsystems

ACHTUNG!

Da das Blog vor einer Weile umgezogen ist, funktioniert das Autoupdate nicht mehr.

Da das aktuelle Kampfsystem durch den Einsatz von Rollenspielähnlichen Kampfregeln sehr langsam war, habe ich mir mal die Mühe gemacht und ein reines Mathematisches Kampfsystem erstellt.

Hierbei gilt folgende Regel:

    Lebensverlust = Angriffskraft – Rüstung des Verteidigers

Es kämpfen jeweils 100 gegen 100 Einheiten. Der Kampf wird bis zum Abbruch durch einen zu hohen Verteidigungsmalus aufgrund Ermüdung, oder dem Auslöschen der Gegnerischen Einheiten berechnet.

Anmerkung:

Die Angreifende Einheit befindet sich auf der X-Achse (Spaltenköpfe), die Verteidigende Einheit auf der Y-Achse (Zeilenköpfe).

Einheiten wie die Armbrustschützen sind reine Fernkämpfer.

Es kann im Moment durchaus passieren, dass die Angriffsstärke nicht ausreicht, um durch die Rüstung des Gegners zu kommen. Dadurch kommen Null-Runden zustande.

Armbrustschütze   Ballista   Bogenschütze   Hellebardier   Kanone   Katapult   Musketier   Schwertkämpfer   Seemann   FightTyp
Armbrustschütze 0   14761   7   13594   0   10   0   269   965   Dice
Armbrustschütze 0   22650   0   18900   0   0   0   800   1000   Math
Ballista 0   0   0   0   0   0   0   0   0   Dice
Ballista 0   0   0   0   0   0   0   0   0   Math
Bogenschütze 0   10191   3   10014   0   9   0   197   727   Dice
Bogenschütze 0   22708   0   19800   0   0   0   900   1100   Math
Hellebardier 0   0   0   0   0   0   0   0   0   Dice
Hellebardier 0   0   0   0   0   0   0   0   0   Math
Kanone 107   14001   356   13038   150   261   90   454   1956   Dice
Kanone 0   22600   0   18470   0   0   0   700   900   Math
Katapult 70   10946   133   9928   80   132   49   275   1502   Dice
Katapult 0   22500   0   17830   0   0   0   600   800   Math
Musketier 128   16925   163   15138   87   136   25   443   1430   Dice
Musketier 0   23004   0   21800   0   0   0   1000   1200   Math
Schwertkämpfer 0   0   0   10483   0   0   0   221   1100   Dice
Schwertkämpfer 0   0   0   21800   0   0   0   1000   1200   Math
Seemann 0   0   0   2398   0   0   0   72   152   Dice
Seemann 0   0   0   17350   0   0   0   500   700   Math

253C: Nothing to hide

Es ist bald wieder so weit. Der Chaos Computer Club e.V. lädt wieder zum jährlichen Kongress ein.

Diesmal ist er vom 27.12. bis zum 30.12.2008.

Das bisherige Rahmenprogramm hört sich schon recht interessant an und ich hoffe, dort einige mal persönlich treffen zu können, von denen ich bisher immer nur im Netz lesen konnte.

Falls wer Bock hat, sich mit mir dort zu treffen… werft mir eine EMail an den Kopf. Ich schau mal was sich machen läßt.

Bei meiner Analyse von Google Chrome ist mir aufgefallen, dass er bei der Eingabe einer URL, laufend Daten nach Hause schickt und auf jede dieser Anfragen auch eine Antwort bekommt.

Google Chrome - Wireshark Capture

Als neugieriger Mensch, habe ich mir das Log von Wireshark angesehen und Gerätselt, was da so alles als Antwort zurück kommt.

    HTTP/1.1 200 OK
    Content-Type: text/javascript; charset=utf-8
    Expires: Wed, 17 Sep 2008 13:17:51 GMT
    Content-Encoding: gzip
    Date: Wed, 17 Sep 2008 12:17:51 GMT
    Server: Auto-Completion Server
    Cache-Control: private, x-gzip-ok=""
    Content-Length: 179
    Connection: keep-alive

Die Folgedaten waren logischerweise dann gepackt.

Da ich die GET-Url hatte, packte ich noch was davor und schickte es mal manuell ab:

    http://google.de/complete/search?client=chrome&output=chrome&hl=de&q=www.heise.de

Und das kam als Antwort:

    ["www.heise.de",["http://www.heise.de/tp/r4/artikel/5/5263/1.html","www.heise.de ct"],["How NSA access was built into Windows","162,000 Ergebnisse"],[],{“google:suggesttype”:["NAVIGATION","QUERY"]}]

Um das Ganze zu verifizieren, habe ich noch einen gefundenen C# Code ein wenig angepaßt und bekam bei der Ausführung das gleiche Ergebnis.

Das Ganze mal ein wenig aufbereitet zur besseren Ansicht:

    [
      "www.heise.de"
      [
        "http://www.heise.de/tp/r4/artikel/5/5263/1.html" "www.heise.de ct"
      ]
    
      [
        "How NSA access was built into Windows" "162.000 Ergebnisse"
      ]
    
      [  ]
    
      {"google:suggesttype":["NAVIGATION" "QUERY"]}
    ]

Sieht schon fast wie eine XML Struktur aus ;)

Die letzte Zeile mit {“google:suggesttype”:["NAVIGATION" "QUERY"]} hat mein Interesse geweckt. Ich werde da mal nachschauen, was noch so alles möglich ist.

Microsoft geht einen weiteren Schritt in Richtung sicherer Software, wie man hier und insbesondere hier lesen kann.

Grundlage des Ganzen ist ein von Microsoft erstelltes Secure Development Lifecycle (SDL) Optimization Model, nicht zu verwechseln mit Simple DirectMedia Layer (SDL), welches meiner Meinung nach als Ergänzung zu den Best Practices zu sehen ist.

Natürlich wird es auch wieder die Möglichkeit geben, über ein Zertifizierungsprogramm eines dieser netten Dokumente zu erhalten, welche einige zum Zimmertapezieren verwenden. ;) Nicht das so ein Zertifikat vom Können des Besitzers zeugen würde… auswendig lernen kann jeder :P

Verfügbar wird das Ganze ab November sein. Ich bin echt mal gespannt, was Microsoft sich da so alles ausgedacht hat. Fakt ist, dass sie das Problem von Sicherheitsrisiken durch Fremdsoftware angehen wollen.

Lobenswert! Da können sich die OpenSource Frickler mal eine dicke Scheibe von Abschneiden. :D

Update

Eines der schon verfügbaren Tools kann man sich hier im Einsatz ansehen, oder hier herunter laden.

Threat Analysis and Modeling Launchpad

Threat Analysis and Modeling Mainwindows