[Munich-lisp] Haskell Hackathon Sonntag 13.07.2014

Haskell Hackathon haskell.hackathon at gmail.com
Sat Jul 12 17:37:58 UTC 2014


Hi *,
am Sonntag, 13. Juli 2014 treffen wir uns um 16.00 in der Pizzeria
Vapiano für unser Hackathon. Bringt eure Laptops!

Themen:

- Haskell Security: ist securemem einfach zu benutzen? Kann man damit
ein Password bearbeiten, sodass es im Speicher nicht zurückbleibt?
https://hackage.haskell.org/package/securemem

oder

- Applicative Transformers und Applicative Stacks

oder

- Attoparsec!


-- BERICHT --

Bericht vom 26.06.2014:
- wir haben uns das Speicherlayout vom GHC generierten Binärdateien angeschaut
- mit /proc/[pid]/maps kann man das Layout anschauen
- darauf kann man nicht so einfach mit dd usw zugreifen, man kann aber
sehr gut mit gdb sachen rausspeichern.
- auf gdb basierend haben wir ein Tool gebaut welches das
Arbeitsspeicher in eine Datei abspeichern kann
- wir haben auch ein weiteres Tool gebaut welches für Strings im
Arbeitsspeicher sucht, mit voller grep funktionalität. Es zeigt dann
das Arbeitsspeicherbereich in welchen sich die Zeichenkette befindet.
- es hat sich herausgestellt dass unser ganz einfaches Programm,
welches Tastatureingabe und dann ausgabe macht, und dann GC auslöst,
am ende immer noch die Zeichenkette im Arbeitsspeicher enthält!
- Das bedeutet, dass alle Passwörter, Schlüssel und Tokens im
schlimmsten Fall von einen Angreifer eingeholt werden können!
- das String ist auch nicht auf dem Heap gefunden worden - anscheinend
ist es in einen unbenannten Speicherbereich abgespeichert, welches
kurz nach dem Heap anfängt.
- eine Idee ist gegeben worden, das mit pinned memory zu überbrücken.
So kann man vielleicht den Arbeitsspeicherbereich ausdrücklich
überschreiben.
- die Frage ist aber ob die Tastatureingabe im Puffer ist, und wie
mann das wieder ausschaltet.
- Später hat es sich noch zusätzlich herausgestellt, dass der String,
den wir finden, manchmal inkomplett ist - z.b. haben wir
"asdfffffffffffffffffffffffffffffffff" eingegeben, das "a" hat aber im
Arbeitsspeicher gefehlt. Es war anscheinend irgendwo separat
gespeichert.



-- ANFAHRT --

Wir treffen uns in Vapiano Pasing, am Pasinger Bahnhofsplatz.

Anfahrt:

Entweder S-Bahn nach Pasing nehmen (alle außer S1, S2 und S7) oder die
Straßenbahn 19 zum Pasing Bahnhof. Vapiano ist auf der linken Seite
wenn man von der Straßenbahnhaltestelle zum Burger King hinschaut und
ist leicht zu finden.




More information about the munich-lisp mailing list