Category Archives: Allgemeines

Zu Kollisionen in Hashfunktionen und dem (Un)sinn, sie zur Suche zu verwenden.

Heute habe ich im Logbuch Netzpolitik eine kurze Einführung gegeben, was kryptografische Hashfunktionen sind, und welchen Zweck sie bei der Integritätsprüfung von Dateien erfüllen. Dabei kam ich auch auf Kollisionen zu sprechen, den Fall, dass 2 Dateien einen gleichen Hash haben.

Per Twitter fragte mich gerade @LucasF:

Im Bezug auf LNP, müsste es nicht theoretisch unendlich viele Dateien mit gleichem Hashwert geben, und nicht nur zwei?

Die kurze Antwort:

Theoretisch ja, aber wenn
nDateien -> ∞ und
Dateigröße -> ∞,
dann brauchst du immer noch
t -> ∞
um gezielt Dateien mit gleichem Hash, also eine Kollision zu finden / zu konstruieren.

Das ist nämlich der Sinn von Hashfunktionen, die zum Beispiel bei PGP-Emailsignaturen zum Einsatz kommen: Es soll dem Angreifer unmöglich sein, eine Nachricht zu konstruieren, die den gleichen Hash produziert, dabei aber immer noch sinnvoll überzeugend ist, um beim Empfänger kein Misstrauen zu wecken. Gleiches gilt bei der Datei-Integritätsprüfung bei Software-Downloads: Es ist eine Sache, evtl. eine kollidierende Datei mit gleichem Hash zu konstruieren, aber ungleich schwieriger, dafür zu sorgen, dass diese dann auch eine ausführbare, (schadhafte) Datei ist.

Das gilt aber nur so lange, wie die Hashfunktion “ideal” ist, deshalb gibt es hier

Die lange Antwort:

Eine gute Hashfunktion zum Generieren von Datei-Fingerabdrücken muss folgende Anforderungen erfüllen:  Continue reading

Patch: Urgent security fixes for Nextgen Gallery Public Uploader

The NextGen Public Uploader Plugin for WordPress allows users to upload images to the server. Of course, these are supposed to be moderated before publication. However, the moderation queue has grave security issues, as I had to learn the tough way:

Uploaded files are saved in /wp-content/gallery/galleryname/ or a similar path, which the malevolent user can easily find out by looking at the moderated & published images’ path. Unfortunately, this is a public directory, and no measures are taken to prevent the uploaded images to be distributed by the web server.

As the uploader knows the filename, they know the file’s complete URL under which the web server will be happy to serve files regardless of their moderation status. You can see where it goes from there. Think twitter or anonymous image boards.

I have written a quick patch that adds a random hash to the filename in order to prevent the uploader from bypassing moderation.

ngg-random-hash.patch can be downloaded here (applies to current version 1.6.).
Alternatively, you can just replace your /wp-content/plugins/nextgen-public-uploader/inc/class.npu_uploader.php with this version.

ATTENTION: This is only a quick fix. The following issues should be addressed additionally before I would even consider activating the plugin:

  1. The plugin should automatically make sure that there is an empty index.html file in the upload directory to prevent directory listing on poorly configured servers.
  2. The chmod-function should be used in oder to actively prevent access to unmoderated content instead of relying on security by obscurity.
  3. Uploader’s IP & timestamp of the upload should be documented in the database in a manner that allows for integration wordpress anti-spam function.

Until these issues are addressed, I have no other choice than to urgently discourage the use of this plugin.

Infos zu Euroweb, Webstyle, Viscomp, Maxclip, Maxworker & European Website Company

Die Firma Euroweb, zu deren Unternehmensgruppe auch die Firmen Webstyle, Viscomp, Maxclip, Maxworker, sowie die  European Website Company gehören, ist regelmäßig in den Medien, weil ihre Kunden sich betrogen fühlen.

Gerade ist das Interesse an der Firma wieder entflammt, weil die Domain des Blogs nerdcore von Euroweb im Rahmen eines Rechtstreits gepfändet wurde. Bei Nerdcore wurde zuvor mehrmals Kritik an der Geschäftspraxis geäußert.

Informationen über die Firmen sind  rar, weil nur wenige Blogger sich noch trauen, darüber zu berichten – und ein nicht vernachlässigbarer Teil der Berichterstatter geäußert hat, schon seine Abmahnung kassiert zu haben oder anders dazu bewogen worden zu sein, die Beiträge zu entfernen. Im Lichte der jüngsten Ereignisse tauchen aber wieder neue Berichte auf, die noch nicht aus dem Netz geklagt worden sind:

Eine große Sammlung an kritischen Schriften gibt es bei konsumer.info.

Hier findet sich ein nicht verifizierter Insider-Bericht einer anonymen Person, die sich als ehemaliger Vertreter für die Firma ausgibt. Und hier apelliert Robert Basic an den gesunden Menschenverstand der Kunden. Beides sehr lesenswert.

Vorsicht bleibt geboten:  Was zu gut klingt, um wahr zu sein, ist nach Vertragsunterzeichnung zu wahr, um gut zu sein.

CC-Video: Der digitale Briefumschlag

John F. Nebel und ich haben uns ohne jegliche filmerische Erfahrung daran begeben, ein kleines Lehrvideo zu basteln, das das Prinzip von Email-Verschlüsselung erklären soll. Wir hoffen, damit unseren Beitrag zur Verbreitung von GPG leisten zu können.

Dank der Erstveröffentlichung auf Netzpolitik.org hat das Video in wenigen Stunden sehr viel mehr Click erlangt, als wir es uns erhofft hatten. Jetzt muss die Crypto-Charme-Offensive weitergehen. Wie einige Leser in den Kommentaren bemerken: Das Crypto-Setup ist immer noch zu kompliziert für den Massenmarkt. Das soll sich ändern. Ich pflege ja schon seit einiger Zeit hier die GPG easy install scripts, jedoch muss ich mir wohl eingestehen, dass shellscripts vielleicht nicht die Idealvorstellung von Nichtnerds in Sachen Usability sind.

Deshalb hier unser Aufruf an die Communities und an begabte Hacker, die uns helfen wollen: Das Ziel soll kein anderes als one-click-install inkl. Key-Generation, Plugin-Installationen, Upload der Keys auf den Keyserver, Backup der Keys usw. sein. Für alle Plattformen. Dazu brauchen wir natürlich auch noch viel, viel mehr Propaganda.

Also, meldet euch bei uns, wenn ihr Lust habt, irgendwas beizusteuern. Crypto is sexylf-evident.

Das Video ist unter CC-BY-Lizenz und wir würden uns freuen, wenn ihr helfen würdet, es zu verbessern und zu verbreiten. Große Freude würde es uns auch bereiten, wenn ihr durch eine Übersetzung für die gute Sache der Krypto eintreten wollt. Dazu findet ihr hier die IT-Version. Wir haben zum Beispiel schon einmal eine alemannische Version eingesprochen:

Ein kleines bisschen statistischer Hintergrund zur ARD/ZDF-Onlinestudie 2010

Das folgende ist eine Ergänzung zur Zusammenfassung der ARD/ZDF-Onlinestudie, die ich drüben bei Netzpolitik.org gepostet habe.

Auffällig ist, dass die Stichprobe 2010 mit 1.806 Personen nur noch ein Bruchteil der der Stichprobe von 1997, die mit 15.431 Personen die bisher größte war, ausmacht – obwohl sie nun einen größeren Bevölkerungsanteil abdeckt: Diese Mal wurde nicht nur die deutsche, sondern die gesamte deutschsprachige Bevölkerung über 14 Jahren mit aufgenommen (ca. 70,57 Mio Menschen), weshalb gerade der interessante Vergleich mit den Vorjahren mit Vorsicht zu genießen sei. Das ist eigentlich kein Problem, sondern eher interessant: Man nimmt für die Veränderungswerte einfach nur den “deutschen” Anteil, und kann durch diese Trennung direkt auch schön ausweisen, welchen Effekt die Aufnahme der deutschsprachigen hatte. Das tun die Autorinnen auch an einigen Stellen, jedoch nicht generell – vermutlich, weil sie wissen, dass ihre Stichprobe dafür dann doch ein bisschen klein geraten ist.
Continue reading

Another little “fix” for WordPress’ flattr-Plugin (untitled posts)

If you decide to publish a post without title, it will be un-flattr-able using the flattr-Plugin for WordPress, as the flattr-API cannot (yet?) deal with an empty title.
Possible solutions equal those I described for the empty-excerpt-problem.

1. Give the post a title – like you should have done in the first place.

– OR –

2. ‘fix’ the plugin by pasting the following code in line 179 of flattr. php (Version: 0.9.11):

// In case post has no title...
if (strlen($cleaner($params['title'])) < 1) { $params['title'] = "Untitled Post"; }

This will give untitled posts the title “Untitled Post” if you really insist on publishing untitled posts.