Feeds:
Beiträge
Kommentare

Ich habe gerade das Thema Security für mich entdeckt. Insbesondere Botnetze und entsprechende Exploits von Werbebannern, Zählpixeln und ähnlichem. Das Ganze ist sehr spannend und man kann wirklich viel lernen.

Aktuell arbeite ich an einem kleinen Exploit. Es geht darum Zählpixel in Webseiten zu manipulieren. Dabei wird es einen mehrteiligen Artikel geben. Zunächst einmal eine Analyse von Zählpixeln und wie die HTTP Kommunikation aussieht. Dabei wird deutlich wieviele Informationen man über den Zählmechanismus in Erfahrung bringen kann wenn man einmal scharf hinschaut. Im Gegenzug sieht man auch wie viele Informationen der Betreiber von Zählpixeln über einen User sammelt. So kann z.B. AdSense oder Google Analytics das Surfverhalten von Benutzern mittlerweile sehr genau über eine große Breite an Webseiten verfolgen und entsprechende Nutzerprofile erstellen. Das ganze ist natürlich nicht unumstritten. Dieser Teil ist bereits fertig und wird veröffentlicht wenn der Zweite Teil auch steht.

Weiter geht es dann darum diese Kommunikation nachzuahmen. Ob ich dafür PHP oder JavaScript einsetze weiss ich noch nicht genau. Hier wird es spannend. Es ist nämlich sehr sehr einfach.

Im dritten und letzten geplanten Teil geht es dann darum das ganze großflächig anzuwenden. Im Wesentlichen wird der Aufbau einer zentralen Zählpixeldatenbank skizziert. Die eigentlichen Klicks werden dann z.B. durch JavaScript ausgeführt. Dadurch wird eine hohe breite an IP Adressen abgedeckt. Es wird ein Ausblick gegeben auf „echte“ virtuelle Besucher. Das ganze ist nämlich sehr interessant, gerade unter Web2.0 Gesichtspunkten. Inwieweit ich dort auf Crawlingtechniken eingehe weiss ich noch nicht. Das alleine könnte bereits einen ganzen Blog füllen. Der gesamte Abschnitt wird aber eher theoretisch ausgeführt. Immerhin hat das Ganze schon Botnet Charakter und ist rechtlich nicht unumstritten. Aber wenn ganze Branchen und Regierungen an virtuellen Benutzern Arbeiten werde ich hier ja wohl mal etwas Aufklärungsarbeit treiben dürfen.

Nebenher stecke ich zwischen mehreren Bewerbungsgesprächen also drückt mir die Daumen.

Ich hoffe Morgen die Zeit zu haben den ersten Artikel der Reihe zu veröffentlichen. Besorgt euch schon einmal Firebug.

*Update*

Muss aus rechtlichen Gründen leider ausfallen.

Die Verwertungsgesellschaft Wort schüttet ihre Einnahmen seit einigen Jahren auch für Texte im Internet aus.  Dies ist für Blogger natürlich sehr interessant.

Ist das nicht gierig?

Zunächst einmal kommt das Geld der VG Wort aus Abgaben auf Drucker, Scanner sowie die Verwendung von Texten in Funk und Fernsehen.  Indem ihr einen Text frei ins Internet stellt werdet ihr auch zu einem Autor. Damit habt ihr auch ein Recht auf Tantiemen. Überlegt einmal was ihr investiert in den Blog. Neben jeder Menge Zeit ist da auch noch einiges an Geld dabei. Webspace, Domain, Kamera für Fotos etc. – da kommt einiges zusammen. Wenn ein Teil davon über Tantiemen wieder reinkommt steigert das die Qualität des Blogs und eurer Texte.

Vorüberlegungen

Was brauchen wir alles um das möglich zu machen? Zunächst einmal betrachtet die VG Wort dabei jeden euer Artikel einzeln sofern er:

  1. mindestens 1800 Zeichen lang ist und
  2. eine gewisse Mindestbesucherzahl erreicht. (1500/Zähljahr)
Weiterhin müsst ihr natürlich Urheber des Textes sein, der Text muss als .html oder .pdf frei verfügbar sein und ihr müsst die Möglichkeit haben einen sogenannten Zählpixel einzubauen. Für PDF Dateien kommt ein spezieller Zähler in den Link.

Also mal los

Zunächst müsst ihr euch natürlich bei der VG Wort registrieren. Dies passiert auf deren T.O.M. Portal. Ihr füllt eine Registrierung aus und erhaltet zum Abschluss ein PDF Dokument. Dieses muss nun noch gedruckt, unterschrieben und in den Briefkasten geworfen werden.

Während ihr wartet

An dem aktuellen Schritt bin ich gerade und warte auf Antwort. Doch während die Post hin und her fährt und Irgendwo Papierstapel gewälzt werden könnt ihr mit dem Zählen schon einmal anfangen. Die VG Wort gibt auch anonyme Zählmarken aus.

Also bestellt ihr euch davon einen Satz, baut die ein und es wird schon einmal losgezählt. Wenn euer Account bei der VG Wort dann steht könnt ihr diese Zählmarken dann auf euch registrieren.

Zählmarke einbinden

So nun habt ihr also bis zu 20 anonyme Zählmarken bestellt und bekommen. Die sehen etwa so aus:

Zählmarke für HTML Texte:<img src="http://vg05.met.vgwort.de/na/32a080053c3e4337a6e7353887fd7cf7" width="1" height="1" alt="">
Zählmarke für PDF Dokumente:<a href="http://vg05.met.vgwort.de/na/32a080053c3e4337a6e7353887fd7cf7?l=PDF-ADRESSE">LINK-NAME</a>
Privater Identifikationscode:xxxxxxxxxxxxxxxxxxxx

Jeder Zählmarke ist ein öffentlicher Code zugeordnet, über diesen wird gezählt. Dazu kommt der Private Identifikationscode, diesen gebt ihr nicht weiter sondern registriert später in dem T.O.M. System. Dafür ist es wichtig zu wissen in welchen Artikel die Marke eingefügt wurde – Also aufschreiben!

Zum Einfügen bearbeitet ihr einfach euren Artikel und fügt den code am Ende ein.

Das zählen hat begonnen.

Weiterführend kann ich noch diesen Artikel empfehlen.

Vor einigen Jahren habe ich mal ein Gitterspektrometer selbstgebaut. Man kann damit Licht in seine spektralen Anteile zerlegen.

Materialien

  • einen kleinen Pappkarton
  • zwei einfache Rasierklingen
  • eine CD oder DVD
  • eine leere Rolle Klopapier

Werkzeug

  • Cutter oder Bastlermesser
  • undurchsichtiger Klebestreifen

Aufbau:

Als erstes mal eine kleine Skizze wie das ganze nachher aussehen soll:

Aufbau des Gitterspektrometers

Aufbau des Gitterspektrometers

Zunächst nimmt man den Karton (ich hab eine leere Frühstücksflocken Verpackung genommen) und kleb die CD am Boden ein. Die CD ist unser Optisches Gitter. Eine DVD tuts auch und würde das Spektrum weiter streuen. Die Spektrallinien wären weiter auseinander.

Innenansicht

Innenansicht

An der gegenüberliegenden Seite schneidet man ein rechteckiges Loch, vor das dann die Rasierklingen geklebt werden. Rasierklingen deshalb weil sie eine sehr Feine, glatte und gerade Kante haben. Der Abstand sollte kleiner als 1mm sein aber groß genug um Licht durchzulassen. Der Spalt bestimmt die breite der Spektrallinien, je enger desto feiner kann man dann auch die Linien unterscheiden.

Das ganze sieht dann so aus:

Einlassöffnung

Einlassöffnung mit Rasierklingen

Nun kommt in die Seite ein Loch. Dort soll die Klopapierrolle schräg untergebracht werden. Also eine Ovale Form wählen. Die Position des Loches spielt keine große Rolle.

Ansicht von der Seite

Ansicht von der Seite

Nun kommt die Rolle in das Loch und wird befestigt. Die Rolle ist wichtig damit durch dieses Loch so wenig Licht wie möglich eindringt. Hier guggt man nachher hinein.

Seitenansicht

Nicht perfekt aber es erfüllt seinen Zweck

So und schon ist das Spektroskop fertig.

Benutzung:

Man richtet den Spalt auf die zu untersuchende Lichtquelle aus und guggt durch die Klopapierrolle. Das erfordert etwas Übung. da man ja mit dem Rücken zur Lichtquelle steht.
Durch das Loch sieht man dann die Spektralzerlegung des Lichtes.

Ergebnisse:

Leider habe ich nur eine schlechte Kamera und kein Stativ. Da man ja ohne Blitz fotografieren muss braucht man eine höhere Belichtungszeit und muss dabei still halten. Hier habe ich mal das beste Bild genommen welches ich hinbekommen habe. Die Lampe ist eine Osram Dulux EL in Warm White. In wirklichkeit ist das Spektrum sehr viel feiner und man kann noch mehr einzelne Linien erkennen.

Spektrum

leicht verwackelt aber doch deutlich

Mit einem ähnlichen Aufbau habe ich von der selben Lampe folgendes Spektrum aufgenommen:

Mehr Spektrallinien

So sieht es aus wenn man alles richtig gemacht hat.

Man sieht sehr deutlich, dass einige Linien eigentlich Doppellinien sind.

Viel Spaß beim Nachbauen!

Nach den Vorüberlegungen nun zu dem Mittelwert.

Ich gehe einmal von 3 Ansätzen aus:

  1. Berechnung über Wahrscheinlichkeitstheorie
  2. Mittelwert aller möglichen Würfe
  3. Einige Würfe zufällig erzeugen und bei geeigneter Genauigkeit abbrechen

1. Wahrscheinlichkeitstheorie

Das ganze würde ich Wert für Wert angehen. Man nimmt aus einem Split der Länge n ein Element e. Dieses Element liefert einen Erfolg wenn von den n Würfeln mindestens einer kleiner oder gleich e ist. Oder im Umkehrfall nicht jedes Element größer als e ist. Also der Erwartungswert für dieses Element E=1-(1-(e/10)^n). Dieses Element wird dann gestrichen und das nächste genommen. Also die Wahrscheinlichkeit, dass dieses Element von n-1 Würfeln unterwürfelt wird unter Berücksichtigung, dass schon ein Würfel entfernt wurde.

Hier komme ich nicht weiter. Es wird wohl ne bedingte Wahrscheinlichkeit mit einer entsprechenden Verschachtelung sein.

2. Alle möglichen Würfe

Eine zweite Möglichkeit ist einfach alle möglichen Würfe zu berechnen und zu jedem Wurf die Erfolgszahl zu bestimmen. Also sind 10^n Fälle zu berechnen. Die Praxis zeigt, dass Splits auch gerne mal 9 Würfel haben können. Bedenkt man, dass zu einem Abgleich des Wurfes mit dem Split auch noch einige Operationen gehören kommt da einiges zusammen. Das ganze lässt sich allerdings beschleunigen. Da Permutation der Würfel ja erlaubt ist fallen sehr viele Fälle weg.

Immerhin kann man den so errechneten Mittelwert anschließend ja in einer Datenbank speichern.

3. Zufällige Würfe

Man kann auch den Erfolgszählalgorithmus aus Methode zwei nehmen. Dann erzeugt man zufällige Würfe und zählt die Erfolge. Diese werden dann in jedem Schritt zu einem Mittelwert zusammengerechnet. Die Folge dieser Partialsummen konvergiert gegen den Mittelwert. (Gesetz der großen Zahlen)

Nun bestimmt man einfach eine Abbruchbedingung wenn sich eine bestimmte Stelle nicht mehr ändert. Sinnvoll wäre wohl die zweite Nachkommastelle. Leider ist man hier darauf angewiesen, dass die rand()-Funktion in der Entsprechenden Programmiersprache auch zuverlässige Ergebnisse liefert.

Auch diesen Mittelwert kann man ebenfalls gut in einer Datenbank speichern.

So seit über 2 Jahren spiele ich schon mit einigen Freunden ein Rollenspiel namens Elrador. Es ist ein ganz „normales“ EDO (Elves, Dwarfs, Orcs) Rollenspiel in einer mittelalterlich angehauchten Fantasywelt. Leider ist die Website nicht mehr online. Wer mehr erfahren möchte sollte sich einfach bei mir melden.

Zum Problem

Es wird bei dem System mit w10 geworfen, also mit zehnseitigen Würfeln. Man wirft auf zusammengesetzte Charakterwerte. Möchte Gurtog der Ork mit seinem Speer kämpfen würfelt er auf:

  • Agilität: 6
  • Nahkampf: 5
  • Lanzenwaffen: 9
Er wirft 3 Würfel, diese fallen und werden anschließend frei auf die Werte aufgeteilt. Dabei zählt eine Eins als Glanzwurf immer 2 Erfolge, eine Null als Patzer immer -1 Erfolg und ein Würfel der kleiner oder gleich dem dazugehörige Wert ist zählt 1 Erfolg. Im Beispiel:
Gurtogs Spieler würfelt: 8 7 4. Er ordnet zu:
  • 8 auf Lanzenwaffen(9): 1 Erfolg
  • 7 auf Nahkampf(5): 0 Erfolge
  • 4 auf Agilität(6): 1 Erfolg
Er hat also 2 Erfolge bei dem Wurf.
Zusätzlich gibt es aber noch einen weiteren Mechanismus, das „splitten“. Das bedeutet man teilt einen Wert auf in zwei Werte und würfelt dann auf einen Würfel mehr. So wird aus dem obigen Beispiel zum Beispiel:
  • 9 5 3 3 (Agilität geteilt)
  • 7 5 6 1 1 (Lanzenwaffen geteilt)
  • 6 5 3 3 1 1 1 (Lanzenwaffen mehr geteilt)
Es gibt dort keinerlei Beschränkungen. Offensichtlich ändert man durch dieses Verfahren die Wahrscheinlichkeiten. Die Problemstellung lautet: Wie?
Folgende Problemstellungen ergeben sich:
  1. Wie splitte ich meine Werte am besten um eine bestimmte Schwelle an Erfolgen zu überschreiten?
  2. Wie splitte ich am besten für einen hohen Durchschnitt an Erfolgen?
  3. Wie splitte ich um hin und wieder hohe Erfolgszahlen zu haben?
  4. Wie splitte ich um möglichst nicht zu patzen (negative Erfolgszahl)?
Das ganze ist nicht trivial.

Blog erstellt

Um das WordPress CMS mal zu testen habe ich diesen Blog erstellt. Da mir das Ganze recht gut gefällt wird dieser jetzt mit content gefüllt.

Viel Spaß beim Stöbern!

%d Bloggern gefällt das: