April 16, 2014

A propos Wer-was-mit-wem-: Wer-Kennt-Wen! Keine SSL-Verschlüsselung ausser für das Passwort? Die ganzen Webseiten wandern im Klartext durch das Internet? Diesen Account habe ich jetzt also auch geschlossen. (Das wird auch deutlich übersichtlicher in der Email-Inbox.)

April 15, 2014

Goggles Music Manager is a lightweight manager with a plain but efficient window layout. After the quick startup you can manager media files in Ogg Vorbis ,Opus, FLAC, MP3 and [...]

April 10, 2014

Yesterday I wanted to continue ongoing work I started on a different machine. But the code was not clean when I left, so I didn’t commit. To prevent a dirty commit I temporarily committed my work on the remote machine, then pulled that commit directly from there and afterwards discarded the temporary commit on the […]

April 08, 2014

Kurzer Rant über Verschlüsselung, ein überraschendes EuGH-Urteil, und etwas Ablenkung mit Browser-Spielen. Kurzfassung: Geht mal wieder ganz klassisch zum Bankschalter.

OpenSSL reisst alles mit

GNUTLS war gestern. Mit dem OpenSSL-Bug hat's die Tage besonders viel mitgerissen, so wie z.B. die Integrität der gesicherten Verbindung zu den allermeisten Webseiten, aber auch Email-Verbindungen, Chatprogramme und vieles weiteres, denn nahezu jede Software, die verschlüsselte Netzwerkkommunikation macht, fusst auf dieser OpenSSL-Bibliothek.

Heise verlinkt eine sinnvolle Prüfseite, mit der man testen kann, ob Webseiten den Fehler bereits behoben haben. Allerdings hilft das alleine nicht viel, so lange die Webseiten ihre privaten Schlüssel nicht erneuern. Denn hat ein Angreifer sich bereits über die Lücke den privaten Schlüssel der Webseite besorgt, kann er weiterhin Verbindungen entschlüsseln und die Kontoauszüge fremder Leute mitlesen.1

Also Augen auf beim Online-Banking, oder gegebenenfalls ganz altmodisch zum Bankschalter gehen. Und spielt schön alle Updates auf eure Endgeräte.

Ich tunnele ja seit geraumer Zeit vieles über SSH2. Mal sehen wann dieser Traum platzt.

Nicht überall herrscht Weltuntergangsstimmung

Ach wie schön ist die EU: Der Europäische Gerichtshof hat der Vorratsdatenspeicherung unerwartet die lange verdiente Klatsche gegeben, und nun ist Deutschland trotz langem Drängen der Kontrollfreaks der CDU/CSU plötzlich der einzige EU-Mitgliedsstaat der der EU-Richtlinie folgt und die Privatsphäre unschuldiger Bürger respektiert. Wer hätte das gedacht! Hier ein Kommentar unseres Bundesdatenschützers der Herzen, Peter Schaar. Die tatsächliche Bundesdatenschützerin Andrea Voßhoff gibt sich als VDS-Verfechterin abwieglerisch: „Erst mal abwarten.” und lässt sich zu keinen weiteren Statements hinreissen. Das ist wohl in Datenschutzfragen generell die CDU-Taktik.

Browserspiele

Zum Schluss werfe ich mal noch ein Puzzlespiel mit Suchtgefahr ein, 2048. (Geht im Web-Browser.) Das ist derzeit sehr populär, aber man sollte es nur anfangen wenn man mal einen Abend Zeit hat. :)

Fußnoten

1. Dagegen hilft derzeit nur Perfect Forward Secrecy, das man bei OpenSSL am ECDHE-Protokoll erkennt (Chrome zeigt's an, wenn man auf das Schloss klickt). Das machen aber leider nur die allerwenigsten Webseiten.

2. ssh -fqND 1234 user@host öffnet einen SOCKS-Proxy auf localhost:1234

When I was looking for a gem to parse PDF text, pdf-reader turned out to be a good choice. Unfortunately there is only a simple text output for pages. To process content using text positions, a little customization is required to retrieve them. Customized subclasses (1) The Page class provides a #walk method which takes […]

When working with buttons or links in web projects you maybe use a # as the href value. If we wanted the listen for its click events we'd use the ng-click attribute and assign it a function name ...

April 07, 2014

Weblog der Fachschaft Informatik

Umbaumaßnahmen

Weblog der Fachschaft Informatik

Obacht, hier wird gerade umgebaut. Die Seite ist $gleich wieder für euch da.

April 01, 2014

After upgrading my system my ruby libraries were too much up-to-date for Vagrant. The following depressing error message appeared which clearly states that an older version is required. $ vagrant up /usr/lib/ruby/2.1.0/rubygems/dependency.rb:298:in [...]

March 28, 2014

Weblog der Fachschaft Informatik

Ewochenaufbau, -kickoff und Fachschaftsaufräumen

Weblog der Fachschaft Informatik

Hallo zusammen,

da am kommenden Dienstag schon wieder neue Ersties anrücken möchten wir diese natürlich auch in diesem Semester mit unserer EWoche an der TU Willkommen heißen.
Dazu treffen wir uns am kommenden Montag, den 31.03., ab 10:00 Uhr um alles notwendige aufzubauen, vorzubereiten und eventuelle Fragen zu klären.
Kombiniert wird das ganze mit dem traditionellen Fachschaftsaufräumen, dass wir für den Monat April also ein wenig vorziehen.
Jeder der Lust hat zu helfen ist selbstverständlich gerne dazu eingeladen vorbeizuschauen.

Mit freundlichen Grüßen,
Jan, Jonathan, Markus und das ganze EWochen-Team

March 21, 2014

Weblog der Fachschaft Informatik

VLU Ergebnisse

Weblog der Fachschaft Informatik

Die VLU zum jetzt endenden Wintersemester ist ausgewertet. Die Ergebnisse sind (uniintern) auf https://vlu.cs.uni-kl.de/ abrufbar. Außerdem stehen dort die Gewinner der tollen Preise. Also guckt schnell nach ob ihr gewonnen habt.

March 18, 2014

Guenther Noack

Closures in Java 8

Guenther Noack

Just as a tiny note; Java 8 has closures. For real this time!

For historical context, compare to my excited blog post from 2008, where I overenthusiastically claimed that Java 7 would ship with closure support. This feature has indeed come a long way!

March 15, 2014

Guenther Noack

Fun with tcpdump

Guenther Noack

Have a look at what your home devices are chatting about, and what they're giving away about you when phoning home. Very useful if you want to keep some privacy.

This is something I do regularly at home, but I keep forgetting the proper command line options. :)

A little bit of motivation.

What technically happens here, is that you can directly read the traffic on your home's Wifi network. This way, you can check that the internet-connected devices in your home aren't phoning home and giving away information about you which you are not aware of. Because this kind of reporting normally happens "behind the scenes" and is invisible to the normal user, it has unfortunately become more common than it should have.

You can also find out which of your connections are encrypted and which aren't. This way, you can make sure that you're not sending your emails and passwords unencrypted through the internet, for intelligence services to collect.

In other words, doing this on your home network is more of a defense strategy than an attack.

Reading your network traffic

First, we need to set it up:

  1. Hook a Linux system between your device and the internet. A good solution is to run OpenWRT on your Wifi router, but you could also equip a Raspberry Pi with an additional Ethernet card and configure it to run as a bridge.
  2. Install tcpdump on that Linux system and make sure you have root access over ssh.
  3. Install Wireshark on a regular computer.

Finally, we are ready to intercept. We run tcpdump remotely, stream the captured packets over to your desktop machine, and analyze them there conveniently with Wireshark:

ssh root@192.168.0.1 \
  "tcpdump -i br-lan -U -s0 -w - host 192.168.0.123" \
  | wireshark -k -i -

The section "host 192.168.0.123" selects which packets to capture. If your ssh connection is over the same interface that you're intercepting, you need to be careful not to include packets belonging to your ssh connection. In this example, I'm only capturing packets where the local IP address 192.168.0.123 is part of the communication.

What the commands mean:

February 28, 2014

Some small tweaks to this site:

I've been busy recently, but am planning to revisit my ambigrams folder again and make digital versions of some of them.

I've also bought an ARM laptop that I am using right now, and which I am extremely happy with. I should write more about this.

February 25, 2014

This is a step-by-step installation guide to setup a scientific python environment on Mac OS X 10.9 Mavericks with homebrew.
An older version of this setup guide can be found here: Scientific Python on Mac OS X 10.8 with homebrew, main changes: rename of a tap + changes wrt. openblas as Accelerate was fixed in OS X 10.9

Needless to say: Make a backup (Timemachine)

First install homebrew.
Follow their instructions, then come back here.

If you don’t have a clean install, some of the following steps might need minor additional attention (like changing permissions chmod, chown, chgrp or overwriting existing files in the linking step with brew link --overwrite package_that_failed. In this case i can only recommend a backup again).

In general: execute the following commands one line at a time and read the outputs! If you read some warnings about “keg-only” that’s fine, it just means that brew won’t “hide” your system’s stuff behind the stuff it installed itself so it doesn’t cause problems… brewed stuff will still use it.

# set up some taps and update brew
brew tap homebrew/science # a lot of cool formulae for scientific tools
brew tap homebrew/python # numpy, scipy
brew update && brew upgrade

# install a brewed python
brew install python

Now make sure that you actually run python from brew, not your system:

which python
# should say /usr/local/bin/python
echo $PATH
# /usr/local/bin should appear in front of /usr/bin

If this is not the case you’d probably end up not using brewed python. Please check your brew install with brew doctor, it will probably tell you that you should consider updating your paths in ~/.bashrc. You can either follow its directions or create a ~/.profile file like this one: ~/.profile. If you performed these steps please close your terminal windows and open a new one for the changes to take effect.

# install PIL, imagemagick, graphviz and other
# image generating stuff (qt is nice for viewing)
ln -s /usr/local/include/freetype2 /usr/local/include/freetype # seems freetype can't be found on some systems otherwise
brew install pillow imagemagick graphviz
brew install cairo --without-x
brew install py2cairo # this will ask you to download xquartz and install it
brew install qt pyqt

# install nose (unittests & doctests on steroids)
pip install virtualenv nose

# install numpy and scipy
# the faster default below now works, but you can still use openblas if you like
#brew install openblas
brew install numpy # --with-openblas
brew install scipy # --with-openblas

# test the numpy & scipy install
brew test numpy
brew test scipy

# some cool python libs (if you don't know them, look them up)
# time series stuff, natural language toolkit
# generate plots, symbolic maths in python, fancy debugging output
pip install pandas nltk
brew install matplotlib
pip install sympy q

# ipython and notebook support
brew install zmq
pip install ipython[zmq,qtconsole,notebook,test]

# html stuff (parsing)
pip install html5lib cssselect pyquery lxml BeautifulSoup

# webapps / apis (choose what you like)
pip install Flask Django

# semantic web stuff: rdf & sparql
pip install rdflib SPARQLWrapper

Have fun ;)

As always: If you think something is missing / wrong leave a comment.

Updates:
2014-03-02: include checking of $PATH for Mike

February 23, 2014

Datenschutz-Symbolbild von Hanna

Vor geraumer Zeit hatte ich ja erzählt, welche Maßnahmen den Browser prinzipiell etwas datensparsamer machen. Zur Zeit brause ich am liebsten mit dem Firefox von Mozilla durch den Cyberspace. Im Folgenden stelle ich vor, wie diesem Programm etwas mehr Datensparsamkeitz beibringe. In diesem Internet gibt es jedoch noch weitere Ansätze.

Einstellungen

Die einfachste Möglichkeit, einem Browser etwas mehr Datensparsamkeit beizubringen, ist das setzen von sinnvollen Einstellungen, die zwar von Haus aus unterstützt, aber nicht voreingestellt sind.

Do Not Track

Die wahrscheinlich leichteste Art den Browser datensparsamer zu machen ist Do Not Track. Hierbei teilt der Browser den Webseiten mit, dass der Nutzer nicht verfolgt werden soll. Aus zwei Gründen ist jedoch nicht unumstritten: Zum Einen ignorieren viele Dienste diesen Wunsch; zum Anderen setzen einige Anbieter dies um, indem sie noch immer Daten sammeln, jedoch nur keine angepasste Werbung mehr anzeigen. (Es soll sogar Menschen geben, die sich von angepasster Werbung weniger genervt fühlen.)

Wer kein Problem damit hat, dass Werbung unpassend wird, kann durch diese einfache Einstellung im Firefox wenigstens eine Anbieter dazu bringen weniger Daten zu sammeln.

Drittanbietercookies

Ist Do Not Track aktiviert, können Anbieter externer Inhalte noch immer sehen, von welchen Webseiten aus diese aufgerufen werden. Schlimmer noch: Die externen Inhalte können Cookies setzen, durch die das Nutzungsverhalten über Webseitengrenzen hinweg Nutzern zugeordnet werden kann.

Warum sendet der Browser überhaupt Cookies an Drittanbieter? Diese Cookies dienen nicht nur dem Verfolgen von Nutzern. Es gibt duchaus Fälle, in denen Nutzer von externen wiedererkannt werden wollen – etwa von zentralen Login-Diensten. Ein weiteres Problem ist, dass bösartige Dienste Nutzer auch ohne Cookie erkennen..

Wer kein Problem mit den geschilderten Nachteilen hat, kann Firefox leicht beibringen keine Cookies von Drittanbietern mehr anzunehmen. Übrigens kann man Firefox an dieser Stelle auch erklären, dass Cookies dann mitgensdet werden sollen, wenn sie bei einem direkten Besuch des Drittanbieters (also etwa Login über einen zentralen Dienst) gesetzt wurden.

Erweiterungen

Abgesehen von diesen Einstellungen, die Firefox von Haus aus mitbringt, gibt es auch Erweiterungen, die einige Datenschutzprobleme im Browser eindämmen.

Cookie-Selbstzerstörung

Abgesehen von Drittanbieterinhalten setzen auch die besuchten Seiten selbst Cookies. Im Laufe der Zeit kommen so viele Cookies von vielen Webseiten zusammen. Das führt dann etwa dazu, dass Webshops bei einem zufälligen Besuch Bücher vorschlagen, die zu Angebotsaufrufen aus grauer Vorzeit passen.

Die Firefox-Erweiterung Self-Destructing Cookies tut genau das, was ihr Name verspricht: Wird ein Tab geschlossen, werden nach einer einstellbaren Zeit alle von ihr gesetzten Cookie gelöscht. Logins funktionieren daher noch, da die Cookies während des Logins ungehindert übertragen werden. Gibt es Seiten, deren Cookies auch nach dem Schließen eines Tabs oder sogar nach demm Neustart des Browsers erhalten bleiben sollen (etwa die Spracheinstellung einer Suchmaschine), kann diese Ausnahme über einen farbigen Knopf, den die Erweiterung im Browser anlegt, eingestellt werden: Grün behält die Cookies, solange sie haltbar sind, gelb löscht die Cookies beim Schließen des Browsers und rot (Voreinstellung) löscht die Cookies beim Schließen des Tabs.

Drittanbieteranfragen kontrollieren

Die Erweiterung RequestPolicy bietet die wahrscheinlich konsequenteste Möglichkeit, Datensparsamkeit zu erzwingen: Das Laden jeglicher externer Inhalte wird blockiert. Die meisten Seiten sehen dann ziemlich dämlich aus oder funktionieren einfach nicht mehr, weil notwendige Stylesheets oder Javascript-Bibliotheken auf externen Servern liegen. Dazu lassen sich für jede Domain mit zwei Klicks Domains Ausnahmen festlegen. Hierbei können Quellen, die immer eungebunden werden dürfen (wie etwa Videoportale), Seiten, die sämtliche Drittanbeiter verwenden dürfen (etwa Portale, die ihre Inhalte unter ständig wechselnden Adressen ablegen), und konkrete Befugnisse (etwa, dass auf images.exmaple.com gespeicherte Inhalte von example.org eingebunden werden dürfen) eingestellt werden.

February 18, 2014

Guenther Noack

Where are my core dumps?

Guenther Noack

With systemd, your core dumps disappear into the systemd journal, instead of being stored to the current directory. They are unrecoverable for normal users, and they have to way of switching the core dump behaviour without being root. Giving users the permission to see their own core dumps (using systemd-coredumpctl) means to add them to the systemd-journal group, which obviously gives them more rights than should be necessary. So are we living under the assumption now that every developer has root?

https://bugs.freedesktop.org/show_bug.cgi?id=54288

You could also ask yourself whether it is a good default policy to store complete (potentially sensitive) core dumps into a system-wide log without even asking for the user's consent. If you end up with your banking password in the log because the browser crashed, you can't even delete it.

For what it's worth, the kernel-level story here is that the kernel uses the contents of /proc/sys/kernel/core_pattern to figure out where to store the core dump. If this starts with a pipe character, it will run an executable and pass it to that, in our case /usr/lib/systemd/systemd-coredump.

February 14, 2014

So, you’re working on a project for longer than a couple of days. Maybe you will even have to write up a report on the progress at the end (and don’t always remember to document what you’re doing). One thing you will strive to avoid is losing your data – … Continue reading

Sebastian Schumb

Es ist mal wieder soweit ...

Sebastian Schumb

... man wacht morgens auf, es ist vermutlich irgendwann im Februar und der Radiowecker kotzt dir Schnulzen entgegen. Es ist mal wieder der 14.2 und mein 8tes alljährliches Statusupdate steht an.

Was seit letzten Jahr passiert ist:
Ich habe ein wenig am Seidenstraße-Projekt auf dem 30C3 mit gebastelt.

Mein Fundraiser bei tindie hat funktioniert ... es sind sogar ein paar überzählige Boards für mich dabei rausgefallen. Ich vermute mal das ich irgendwann das irgendwann dieses Jahr nochmal wiederholen werde.

Meine neue Website ist online. Unter past3d.de kann man jetzt relativ einfach und schnell 3D Modelle mit anderen teilen.
Das schöne dabei ist das es so schmerzfrei wie ein Imagehoster oder ein Pastebin funktioniert. Keine Registrierung, keine Tags oder Kategorien einfach nur ein Upload-Formular.
Für das Anzeigen kommt eine wild gepatchte Version von thingieview.js zum Einsatz. Sprich jeder kann sich die Files im Browser ansehen, keine spezielle Software nötig.
Probiert es aus, zerspielt es und sagt mir wie damit ich es fixen kann.
Wie immer ist alles open source und auf github zu finden.

In diesem Sinne schönes 2014 noch !
Sebastian

February 13, 2014

Posted by: [personal profile] t_fischer

In a posting in November 2013, I argued for a ‘translation service’ from CalDAV to IMAP, i. e. a service that provides a CalDAV interface to the user, but transparently stores the calendar entries in any (read: third-party) IMAP account configured by the user.

Now, soon after my posting I stopped looking for solutions, as other RL matters popped up. However, the need for a synchronized calendar across different devices and family members still exists. Therefore, I restarted my search for a solution.

Read more... )

comment count unavailable comments

February 12, 2014

The native min and max functions don’t support arrays as their argument. Instead they take a variable-length argument list of numbers. Sometimes, however, you need to pick the smallest or [...]

Wer macht mit?