Ninas Schmierblo(g)ck

Konservierungsmittel...

Geocaching Mysteries lösen - Kapitel 5.4 - Browser-Spielereien

Geschrieben von Nina • Sonntag, 15. November 2015 • Kategorie: Mysteries lösen
Geocaching Mysteries lösen

Kapitel 5.4 - Browser-Spielereien

Für manche Mysteries lohnt es sich, etwas Wissen rund um das Internet, Browser und Scripte gesammelt zu haben.

Bei der Suche nach der Koordinate ist ja oft schon ein Blick in den Quelltext des Geocache-Listings und das grobe Verstehen, was hier typischer Inhalt ist und was vielleicht zum Rätsel gehören könnte, nützlich. Auch die Beachtung der Dateinamen (z.B. von eingebundenen Bildern, dem Hintergrundbild) bzw. dem Ort, wo sie im Internet abgelegt worden sind, kann ein Hinweis oder auch schon die Lösung sein. Und so manches Mal bastelt ein Mystery-Owner eine eigene Webseite und hat dort dann ziemlich viele Möglichkeiten, dem Rätselnden den Weg zur Lösung zu versperren. Einige davon versuche ich hier mal zu erklären.

Dein Internetbrowser verrät einem interessierten Webserver eine große Menge an Informationen. Das liegt jetzt mal nicht an irgendwelchem Überwachungswahn sondern schlicht an der Technik, mit der ein Webserver dem Browser die Internetseiten präsentiert und diese dem Nutzer dargestellt werden.

Einen kleiner Überblick, was so alles preisgegeben wird, kann man sich zum Beispiel hier verschaffen: http://www.perlmania.de/browsercheck/ und http://www.hashemian.com/whoami/

Proxys und IP-Bereiche

Der Internetprovider, z.B. Telekom oder Vodafone, weist - vereinfacht ausgedrückt - jedem Nutzer eine eindeutige Nummer zu, die IP-Adresse. Je nach Art des Internetzuganges ist es immer die gleiche oder ändert sich, dann meist täglich. IP-Adressen bestehen aus vier Zahlenbereichen von 1 bis 255, die mit Punkten voneinander getrennt sind (z.B.: 80.124.122.122). Man unterscheidet in private und öffentliche Adressen, also welche, die man vielleicht Zuhause in seinem eigenen Netzwerk hat (so man mehrere Rechner miteinander verbinden möchte) und die, die einem der Provider fürs Surfen im Internet erteilt. Es gibt eine weltweite Vergabestelle für öffentliche Adressen und so etwas wie "Adressbücher", wo man für jede Adresse nachschauen kann, zu welchem Provider, als zu welchem Land diese gehört . Auf die Art und Weise kann (muss!) Youtube zum Beispiel sicherstellen, dass in Deutschland nicht Gema-lizensierte Songs nicht von Computern mit deutschen IP-Adressen abgespielt werden. Da gibt es statt den Songs dann immer dieses traurige "Die GEMA ist schuld"-Youtube-Bildchen.

Ebendies können auch technisch versierte Mystery-Besitzer tun; also prüfen, aus welchem Land jemand die Webseite ansurft und zur Verschärfung der Mystery-Schwierigkeit zum Beispiel mal deutsche Surfer auszusperren. Es muss jetzt aber niemand ins Ausland reisen, nur um ein solches Rätsel zu lösen. Es reicht, wenn man einen Proxy benutzt. Ein Proxy ist so eine Art Vermittler, über den man die betreffende Seite aufruft. Diese sieht dann nur noch die IP-Adresse des Proxys und nicht mehr die von euch.

Dies funktioniert, wenn man sich einen funktionierenden Proxyserver sucht (google spuckt diverse Seiten aus, die Proxylisten anbieten) und in den Netzwerkeinstellungen eintragt. Bei Windows 8 und 10 reicht es, in der Kacheloberfläche Netzwerkproxy einzugeben, schon landet ihr in dem passenden Menü. Bei Windows-7 Start > Systemsteuerung und wählen dann in der Kategorie „Netzwerk und Internet“ die Rubrik „Internetoptionen“, bei Windows XP Start > Einstellungen > Systemsteuerung > Internetoptionen. Bei anderen Betriebssystemen weiß ich es gerade nicht aus dem Kopf.

Nutzer von Firefox und Chrome können hierfür auch Add-ons benutzen, mit denen sich die Proxy komfortabel über das Browsermenü ein- und ausschalten lassen. Manche bieten auch gleich Proxylisten zur Auswahl mit an. Ich werde hier aber keine Empfehlung abgeben können (eben sowenig wie bei den Proxylisten), weil die Auswahl überaus undurchsichtig ist und sich häufig ändert. Auch ist das Surfen über Proxys nicht wirklich schön, meist sind sie, wenn sie überhaupt funktionieren, sehr langsam. Da hilft nur mehrere durchprobieren. Aber was tut man nicht alles für ein schönes Rätsel? ;)

Übrigens kann der Besitzer des Proxy-Servers euren Webverkehr mitlesen und mitschreiben. Bedenkt dies, wenn ihr über einen Proxy surft und zum Beispiel Logindaten eingebt!

HTTP Headers (User-Agent, Referer and Accept-Language)

Das hier spuckte - unter anderem - eine der obigen Seiten über mich und meinen Browser aus.

HTTP_USER_AGENT: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE: de-DE,de;q=0.8,en;
HTTP_REFERER: https://www.google.de

Der Webserver, auf dem diese Seite liegt, weiß also mit welchem Browser (User-Agent) ich surfe, welche Sprache ich spreche und von welcher Webseite ich gekommen bin (referer). Diese typischen HTTP-Headerwerte lassen sich ändern, am Einfachsten wieder über entsprechende Add-ons für Firefox und Chrome.

Und wem das hier zu abgefahren vorkommt, ich hatte durchaus schon verschiedene Mysteries, wo ich Fantasiesprachen als Accept-Language setzen und nicht existente Browser als User-Agent vorgeben musste. Oder auch Webseiten das Setzen von Cookies verbieten (gibts ebenfalls Add-ons gegen, kann man aber auch in den eigenen Browsereinstellungen einschalten). Und mehrere Mysteries verlangten von mir zur Lösung, dass ich Javascript deaktiviere. Da ich sowieso mit einem Scriptblocker surfe, erforderte dies für mich nur einen Klick. Theoretisch. Praktisch musste ich erst mal auf die Idee kommen, dass der Owner eben dies hier von mir fordert.

Genau wie bei den Mysteries, bei denen eine ominöse URL bzw. eine Zeichenkette vorhanden ist, die mit www.xn-- beginnt. Hier handelt es sich um Webadressen, die nicht in Unicode geschrieben werden (also mit international festgelegten Standardzeichen), sondern spezielle Buchstaben enthalten, z.B. Ä, Ü und Ö , welche mit französischen, schwedischen oder auch chinesischen "Sonderzeichen" (siehe Wikipedia). Um sie auf jedem Browser darstellen zu können, werden diese Webadressen umgewandelt und in dem Format mit "xn--" am Anfang dargestellt. Das Internet gibt uns dankenswerterweise Konverter an die Hand, mit denen wir dies rückgängig machen und lesen können.

Hin und wieder nutze ich zur detaillierten Untersuchung betreffender Webseiten das Firefox-Addon Firebug (für andere Webbrowser gibt es ähnliches). Eigentlich zur Fehlersuche beim Webseitenprogrammieren gemacht, kann man hiermit alle Elemente einer Webseite besser dargestellt untersuchen und bei dem einen und anderen Mystery musste ich tatsächlich schon über diesen Weg Teile des HTML-Codes verändern um ans Ziel zu kommen. Das zu erklären würde hier aber viel zu weit führen (und wohl auch viel zu sehr spoilern?), so überlasse ich es euch, im entsprechenden Fall tiefer in diese Materie einzutauchen.

Das war's erst mal von mir mit den eher noch leicht zu verdauenden Details zu diesem Thema. Ich hoffe, ich war einigermaßen verständlich und der eine oder die andere hat auch wirklich bis zum Ende mitgelesen.

Viel Spaß beim Rätseln und bis zum nächsten Artikel

Nina

Zurück zum Inhaltsverzeichnis



Tags für diesen Artikel: , , , , ,

Geocaching Mysteries lösen - 3.4 Malen von Zahlen

Geschrieben von Nina • Sonntag, 3. Mai 2015 • Kategorie: Mysteries lösen
Geocaching Mysteries lösen

Kapitel 3.4 - Malen von Zahlen

Im Grunde suchen wir bei den Mysteries ja doch immer nur das eine: die Ziffern bzw. Zahlen, die uns die GPS-Koordinaten verraten. Diesem Umstand ist es zu verdanken, dass sich im Laufe der Zeit eine schier unglaubliche Anzahl von Varianten entwickelt hat, um Zahlen darzustellen. Dieser Blogbeitrag handelt von einer in meinen Augen sehr hübschen Variation davon. Der, in der man diese "malen" muss.

Dies zu umschreiben kann auf vielfältige Weise geschehen. Man könnte zum Beispiel die Eckpunkte einer Ziffer angeben, dazu noch die Reihenfolge wie diese verbunden werden müssen. Beispielsweise in dem man Orte (Bahnhöfe, Haltestellen etc.) oder Koordinaten im Listing erwähnt, die z.B. bei Google-Earth eingegeben und per "Lineal" (aus der Ikonenleiste von Google-Earth) verbunden werden können.



Genauso hübsch lassen sich mancherorts Straßen verwenden, sofern die Siedlungen ein entsprechend geradliniges Straßenmuster aufweist.

Irgendwo in diesem Blog erwähnte ich schon einmal die "RLOU-Verschlüsselung". Rechts-Links-Oben-Unten sind die Anweisungen, nachdem der Rätsellöser seinen Stift auf einem Stück Papier bewegen soll. Rechts, Unten, Links, Unten, Rechts ergäbe so verschlüsselt eine "2". Natürlich muss es nicht RLOU sein, RLUD (right, left, up, down) könnte die englische Form sein. Möglich ist aber jede andere, meist aus vier Variablen bestehend. Nimmt man noch die Diagonalen dazu, könnten es auch sechs oder acht sein (schräg links hoch, rechts runter etc.).

Ähnlich lassen sich Ziffern über die beim Geocachen häufig benutzte 7-Segmentanzeige "malen".

Quelle: Wikipedia

Häufig werden wirklich die typischen 7-Segment-Buchstaben benutzt, wobei A-B-C-D-G zum Beispiel eine 3 ergäbe. Aber auch hier könnten die sieben Variablen natürlich anders benamt oder binär in einem 7-Bit-System dargestellt. Die 3 von eben wäre 7-Bit-binär eine 1111001 (benutzte Segmente bekommen eine 1, unbenutzte die 0).

7 ist die Mindestanzahl, die es braucht, lesbare Segmentzeichen zu malen. Es gibt auch weitere Segmentanzeigen, die mit mehr Segmenten und dadurch auch diagonalen Strichen hübschere Buchstaben und Ziffern malen können.

Auch schon einmal hier im Blog erwähnt wurde das Malen mit Hilfe von einer Tabellenkalkulation bzw. einer Buchstaben/Ziffern Matrix. So ein Tabellenblatt ist ja normalerweise aufgebaut in Ziffern an der linken Seite (Zeile) und Buchstaben oben (Spalte). Stößt der Rätselnde nun auf eine Reihe von Kombinationen aus einem Buchstaben und einer Ziffer, könnte es helfen, diese Zellen in einer derartigen Matrix auszumalen und zuzuschauen, wie sich aus dem Nichts die gewünschte Information hervorkristallisiert.

Das seltsame Kryptogramm B2,B3,B4,B5,B6,B7,B8,C3,D4,E5,F6,G7,H2,H3,H4,H5,H6,H7,H8 entpuppt sich abgemalt simpel als Buchstabe "N":



Auch über den Ziffernblock der Tatstatur bzw. eine Telefontastatur lassen sich Zahlen / Buchstaben "malen".



So ist 1,5,7,8,9 ebenso wie 1,2,3,5,7 und "PEKA" (Vanity, also die Buchstaben, die auf der Telefontastatur synonym für die Ziffern benutzt werden können) nichts anders als die so gemalte Ziffer "7".

Ein großer, wirr wirkender Block mit Zeichen (meist nur zwei verschiedene) kann ebenfalls "gemalte" Ziffern oder Buchstaben erhalten. Hierfür muss man ihn nur in einen Editor (z.B.: Notepad++) packen und "zusammenschieben" (das Programmfenster in der Breite verkleinern bis die vom Ersteller des Rätsels benutzte Zeilenbreite erreicht ist). Beispielsweise ergibt sich hieraus ein freundlicher Morgengruß. In meinem Firefox kann ich das Fenster übrigens nicht klein genug schieben, um etwas lesen zu können.

Mein absoluter Mystery-Liebling aus meinen Anfangszeiten des Mystery-Lösens ist die "Plottersprache". Stiftplotter malen ja wortwörtlich Buchstaben, Ziffern oder eben Bilder. Damit sie dies können, müssen sie angesteuert werden, also genau wissen, wo auf dem Papier der Stift gesenkt und in welche Richtung der Stift geschoben werden muss, also malt. Dies ergibt eine Art "Sprache", die dem RLOU von oben nicht unähnlich ist. Nur das es meist noch ein "Pen up" und "Pen down" gibt und je nach Variation eine absolute oder relative Angabe der Malkoordinate geben kann. Schaut man sich ein Blatt Papier an, kann man jeden beliebigen Punkt auf diesem über eine gedachte X- und Y-Koordinate bezeichnen. Man muss sich nur vorher klarmachen, wie groß das Raster ist. Im Falle des Plotters, wie viele Pixel er malen kann. Dann kann man beispielsweise ein 120/60 als 120 Pixel vom obersten, linken Punkt des Blattes nach rechts und 60 Pixel von eben da nach unten verstehen. Senkt sich hier der Stift und malt nun 20 nach rechts, 20 nach unten, 20 nach links, 20 nach unten und 20 wiederum nach rechts, haben wir wieder eine gemalte "2". Alternativ kann eben dies auch über 120/60, 140/60, 140/80, 120/80, 120/100, 140/100 erreicht werden. Also jeweils die Papier-Koordinate, zu der sich der Stift bewegen soll.

So etwas kann der Mystery-Owner in natürlicher Sprache oder auch in einem echten oder ausgedachten Computerdialekt im Listing verstecken. Wer auf derartiges stößt, kann sich gerne mal in HP-GL, den quasi-Standard der Plottersprachen einlesen. Hierzu gibt auch Software, mit der man aus einem Programmlisting in HP-GL am Bildschirm "plotten" kann. Sehr schön ist auch die uralten Programmiersprache "Logo". "pu" steht hier für pen up, "pd" für pen down, "fd" bewegt den stift nach vorn, "bk" nach hinten, "rt" und "lt" drehen den Stift und damit den "Blickwinkel" um einen Winkel nach rechts oder links. Somit ist die Malrichtung hierbei relativ, also nicht von einem bestimmten Punkt ausgehend rechts-links-oben-unten, sondern man "dreht" das Papier (oder besser den Malblickwinkel) um seine Achse, also den angegebenen Winkel, und malt von dort aus weiter.

Viel Spaß beim "malen" ;)

Zurück zum Inhaltsverzeichnis
Weiter: Kapitel 4- Sprache und Schrift





Geocaching Mysteries lösen - 6.3 Vigenère entschlüsseln

Geschrieben von Nina • Freitag, 13. März 2015 • Kategorie: Mysteries lösen
Geocaching Mysteries lösen

Kapitel 6.3 Vigenère entschlüsseln

Der französische Diplomat und Kryptograph Blaise de Vigenère entwickelte im 16. Jahrhundert eine für lange Zeiten unknackbare, polyalphabetische Verschlüsselung. Im Gegensatz zur monoalphabetischen bedient sie sich nicht eines einzelnen Schlüsselalphabetes, dem man mit Hilfe von Häufigkeitsanalysen schnell auf die Schliche kommt, sondern er benutzte für jeden Buchstaben des zu verschlüsselnden Textes ein eigenes. Hierfür verschob er das Alphabet um jeweils eine bestimmte Zahl (wie Ceasar um 3 und Rot13 um 13 Buchstaben verschiebt). Der hierfür verwendeter Verschiebeschlüssel ist dann das Schlüsselwort, mit dem der Kryptotext im Anschluss wieder entschlüsselt werden kann.

Am anschaulichsten lässt sich dieses Verfahren mit dem Vigenère -Quadrat verdeutlichen, welches alle 25 möglichen Verschiebungen darstellt:


Der erste Buchstabe des Klartextes "Scheibenwelt" - (R.I.P. Sir Terry Pratchett!) - ist ein S (obere gelbe Zeile im Bild) und wird mit dem ersten Buchstaben des Schlüssels "Terry", also dem T, verschlüsselt (gelbe, linke Spalte im Bild), also das Alphabet um 19 Buchstaben verschoben (A=0) und landet auf dem L. Der zweite Buchstabe ist ein C und wird mit dem Schlüsselbuchstaben E zu einem G, ...

Häufigkeitsanalysen laufen nun ins Leere, da die einzelnen Buchstaben jeweils nicht mehr mit dem gleichen ersetzt werden. Aber sicher ist die Vigenère-Verschlüsselung trotzdem nicht. Je kürzer der Schlüssel und je länger der Klartext ist, um so einfacher wird es, den Code zu brechen. Da ein normaler Text, egal in welcher Sprache, bestimmte sich wiederholende Buchstabenfolgen hat (Bi- und Trigramme, siehe zum Beispiel hier), steigt mit der Länge des Klartextes die Wahrscheinlichkeit, dass derartige Buchstabenfolgen mit den gleichen Schlüsselbuchstaben verschlüsselt wurden und sich der Kryptotext ähnelt. Hat man so eine Wiederholung von Bi- oder Trigrammen entdeckt, kann man daraus die Schlüssellänge ermittelt (ein Teiler der Entfernung zwischen den gleichen Buchstabenfolgen). Und nun mit dem Wissen um die Länge des Schlüsselwortes den Kryptotext Stück für Stück verschieben. Dieser Ansatz wurde einem seiner Entdecker nach Kasiski-Test getauft (Kasiski-Online-Tool).

Noch etwas theoretischer ist der Friedman-Test, dessen Algorithmus mit Wahrscheinlichkeiten, dass zwei zufällige Buchstaben gleich sind, Größenordnung der Schlüssellänge zu berechnen versucht.

Ebenfalls mit der Wahrscheinlichkeit arbeitet die Korrelationsfunktion. Zählt man die Buchstaben im Kryptotext und vergleicht sie mit der Buchstabenhäufigkeit der normalen Sprache, lässt sich mit einem genügend langen Text die Verschiebung anzeigen. Die Korrelationsfunktion besitzt bei der Verschiebung ein Maximum, bei der sich die zu vergleichenden Verteilungen am besten decken. Womit sich auch die Schlüssellänge bei genügend langen Texten gut ablesen lässt.

Praktisch untersuchen kann man dies z.B. hier (Dank Java-Sicherheitseinstellungen könnte es einfacher sein, das Script herunterzuladen und lokal zu starten. Das Java-Script stammt nicht von mir, daher auf eigene Gefahr. ). Wenn ihr mögt, startet dieses Script und gebt oben folgenden Geheimtext ein:

Rensi ssm Evoimzk nek cvoisdlxtx. Zforzkeouuhko Mxmwmhxm lklmdr nixrix Ttf jüb ebmix Pxbldaz. Keocadvvivg. Nodxq Xkg brx novg ileg fixan rs oigdv. Ydxq mct wzw xuk ais mbq wy, wxhp oigd qoigdv lebcix svgakrsdr Uamyix smzixdbf zyn ehrus tm qsr onvlebqixnm?

Es erscheint im unteren Fenster ein Balkendiagramm. Interessant für die Schlüssellänge sind jetzt die längeren Balken, die sich mit einem gemeinsamen Teiler wiederholen. Im Beispiel wirkt die 5 sehr aufdringlich, da sich bei 5, 10, 15, 20 u.s.w. die höchsten Balken zeigen. Klicken wir nun auf den Balken mit der 5, setzen also testweise die Schlüssellänge auf 5, können wir mit den fünf "Strichen" unter "Schlüssel bestimmen" passende Buchstaben "raten".

Es erscheint ein neues Balkendiagramm mit möglichen Schlüsselbuchstaben, die zu dieser Schlüsselstelle passen. Sticht einer davon besonders durch seine Länge heraus, ist die Wahrscheinlichkeit, dass es sich um den gesuchten handelt, besonders groß. Klicken wir nun auf das wahrscheinliche "K", erscheint im rechten Fenster unter dem Geheimtext an jeder fünften Stelle eine Entschlüsselung auf "K". Sieht erst mal nach normalen, deutschen Buchstaben aus, also weiter. Beim zweiten Schlüsselbuchstabe ist das "A" am wahrscheinlichsten, beim 3. das "T". Jetzt lässt sich der Klartext fast schon erraten. Der Schlüssel aber auch. Und auch wenn das Tool Leer- und Satzzeichen unterschlägt, lässt sich nun lesen, dass ich diesen Blogbeitrag an einem Freitag, den 13. geschrieben habe.

Fertig für alle Geocaching-Vigenère -Rätsel? Naja, eigentlich noch nicht ganz, es gibt noch mehr hübsche Lösungsansätze. Ist das Schlüsselwort ein echtes Wort aus dem Wörterbuch, lässt sich die n-gramm-Analyse anwenden, die unter anderem auch bei Cryptoool-online implementiert ist. Hier wird mit wahrscheinlichen Bi- oder Trigrammen am Wortanfang gearbeitet, mit denen man Rückschlüsse auf den Schlüssel ziehen kann, in dem man wahrscheinliche Buchstabenkombinationen im Klartext findet.

Ähnlich aber weniger theoretisch funktionieren die Ansätze, bei denen man Teile des Schlüssels oder des Klartextes zu glauben kennt. Dabei ist es egal, welchen der beiden Ansätze man nutzen kann - man legt in jedem Fall das zu erwartende Wort/Wortteil (Nord, Ost, Cache, suchen, zweiundfuenfzig, der GC-Code oder der Ownername) über den Kryptotext und verschiebt um die jeweiligen Buchstaben vorwärts und rückwärts im Alphabet. Wer möchte und fähig dazu ist, kann das sicher schnell in Excel nachprogrammieren. Es ist aber dank Internet gar nicht nötig. f00l.de, nik kaanan und viele andere haben uns mit ihren Scripten diese Arbeit schon erleichtert. Wer sich weniger Mühe geben möchte, kann es auch mit einem Klick erst mal bei smurfoncrack probieren. Oder bei crypt-online, wo es auch Häufigkeits- und n-gramm-Analysen sowie ein Autokorrelationstool gibt. Ein simples aber manchmal auch funktionierendes Cracktool bietet die geocachingtoolbox an .

Übrigens hat der Herr Vigenère eine Verbesserung dieser Methode entwickelt, die aber nie dessen Bekanntheit erlangte, obwohl sie wesentlich sicherer gegen Analysen wie die hier beschriebenen ist. Die Autokey-Verschlüsselung arbeitet ebenfalls mit einem Schlüsselwort und damit wie der hier beschriebenen Vigenère -Schlüssel, aber am Ende des Schlüssels wird für die Ver- und Entschlüsselung der Klartext angehängt. Somit ist die Schlüssellänge so lang wie der Kryptotext und wesentlich schwieriger zu knacken.

Zurück zum Inhaltsverzeichnis


gratis Counter by GOWEB