Category Archives: Allgemeines

IT-Sicherheitsgesetz im irights-Jahresrückblick “Das Netz 2014”

Im gerade erschienenen netzpolitischen Jahresrückblick “Das Netz 2014” von irights findet sich ein kleiner Artikel von mir zum geplanten IT-Sicherheitsgesetz.

Welchen Sinn macht die Einführung staatlicher Sicherheitsgesetze zur Bekämpfung von Sicherheitslücken und Massenüberwachung, wenn sie es der Regierung erlauben, Überwachungsmechanismen sogar noch zu erweitern?

Im November hatte ich zu dem Thema auch einen Vortrag bei der Deepsec 2014 gehalten, der bisher leider nicht online verfügbar ist. Beim 31C3 werde ich sicherlich auch noch ein paar kurze Worte dazu verlieren.

Den Artikel gibt es hier online zu lesen, das Heft hier zu bestellen.

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.

a little bugfix for the flattr-plugin for WordPress (Errors occuring for image or video only posts)

Update: Here’s another little fix for untitled posts

So, I decided to install the flattr-plugin for WordPress.
In settings, I decided my general category for posts is written/text – because it usually is.

I’ve been running this blog for longer than flattr exists, so a total of 323 posts was now equipped with flattr-Buttons. Among these were posts that did not contain any (or just very short) text, but only videos or images. For these, the flattr-Button looked like this:


not good. Fix needed.

This “Error” was due to the labeling as “text”, which causes the plugin to try to create an excerpt for flattr. This, of course, fails. The ‘fix’ for that would be labelling image- or video-only posts appropriately. I am too lazy for that, though. I promise to label my future posts correctly, but I will not work through all my past posts.

So, here’s the fix. In case the excerpt is shorter than 10 characters, this will fill in “This post is textless.” as the excerpt, and the button renders just fine, as you can see here.

Download flattr.php fixed Version
Download flattr Plugin patch
(cd to directory flattr, then do ‘cat /Path/to/flattr.patch  | patch -p1

or do it manually:

1. Open flattr. php (Version: 0.9.11)
2. in line 283 (just before ‘return $excerpt;’), enter:

// If excerpt can not be created because there is no text content
if (strlen($excerpt) < 10)
{
$excerpt = "This post ist textless.";
}

Note: This is of course not perfectly the intended use, as flattr.com apparently wants quite detailed information on what people are looking at and flattr’ing. You have to decide, how much information they need. Apart from that, I believe this little patch is still useful if for any other reason the creation of an excerpt fails, and adds to the stability and fail-safe-ness of the plugin.

Ein Torrent mit Facebook-Daten

UPDATE 23:31h: Da es offensichtlich Missverständnisse gibt: ICH habe den Crawler nicht selber geschrieben! Ich verlinke Ron Bowes von Skull Security. Bitte auch an IHN wenden, wenn ihr ihm helfen wollt!

Da ich ja selber nicht bei Facebook bin, muss ich mir ja überlegen, wie ich trotzdem an die ganzen Daten komme. Ron Bowes hat ein bisschen gecrawlt und das Ergebnis als Torrent bereitgestellt.

Die 2.8GB enthalten:

  • die URL jedes suchbaren Facebook Benutzerprofils
  • den Namen jedes suchbaren Facebook-Nutzers (unique und nummeriert, perfect  zur Datenaufbereitung)
  • verarbeitete Listen, darunter Vorname mit count, Nachname mit count, potentielle Nutzernamen mit count… (leider weiß ich nicht genau, was “count” im Facebook-Universum bedeutet. Dazu müsste ich mir die Daten erst einmal ansehen. Zum Beispiel mit R. Ich vermute aber, dass es die Anzahl der Freunde bezeichnet. UPDATE: Es bezeichnet die Häufigkeit des jeweiligen Namens)
  • das Script zum Crawlen

Als nächstes sollen dann auch die Freunde der suchbaren Nutzer indiziert werden, damit man auch wirklich alle Personen hat. Dazu wird natürlich exponentiell mehr Bandbreite benötigt. Wer solche hat, und einen ssh-Zugang bereitstellen will, kann beim crawlen helfen. Wer nur mal gucken möchte, findet hier den Torrent.

PS: Die Daten sind nicht wirklich soooo besonders privacy-relevant. Ihr habt das ja alles so eingestellt…? Sie helfen nur der kleinen ideologisch verblendeten Minderheit ohne Facebook-Account ein bisschen an der “XXX ist jetzt bei Facebook. Melde dich bei Facebook an, um dich mit XXX zu vernetzen…”-Seite vorbei.

UPDATE 28.07.10 – 12:30h: Ich habe jetzt ein bisschen mit den Daten herumgespielt. Mein erster Eindruck hat sich bestätigt: Besonders privacy-relevant sind sie nicht. Entgegen meiner ersten Vermutung kommt man auch nicht den Startseiten vorbei, man kommt nur schneller dorthin. Ron hat im Prinzip die ‘interessantesten’ Analysen schon gemacht: Wie häufig sind welche Vor-/Nachnamen? Interessant würde es erst, wenn sich die Netzwerk-Daten mit erfassen ließen. Da wäre auch eine teilweise Erfassung schon aufschlussreich.

Was seine Methode ausmacht, ist eher die Effizienz, mit der sie die Daten gesichert hat, denn die numerischen IDs sind nicht fortlaufend.

Der nächste naheliegende Weg, den Infopool zu vergrößern, wäre nun mit den numerischen IDs der URLs (http://www.facebook.com/people/-Aab-Abby-Abswift/100000682157768) über http://graph.facebook.com/100000682157768 noch das Geschlecht und das locale-Setting abzugreifen. Die werden da sehr parser-freundlich dargestellt, ich denke aber, dass Facebook nach nicht allzu vielen Zugriffen darauf von einer IP selbstverständlich blocken wird – hat es schon jemand probiert?

PPS: Zum Thema noch Alexander Lehmanns aktueller Facebook-Film für Extra3.

Fixed: GPGmail Snow Leopard Update 10.6.3

If you are using GPGmail and experiencing Problems after the  Mac OS X Update to 10.6.3 as of March 30, 2010, download this file and copy it to ~/Library/Mail/Bundles to fix the error message (something like -[MimePart getNumberOfAttachments:isSigned:isEncrypted:]: unrecognized selector sent to instance 0x11b200f60) occuring when decrypting Emails. Enjoy.

“Im Kleinen sind wir sehr lebendig” – Feature über Marxloh im Deutschlandradio

Gerade kam im Deutschlandfunk das Feature “Im Kleinen sind wir sehr lebendig” – der Anfang hat mich sehr gefreut, denn auch ich habe einmal (kurz) in Marxloh am Pollmann-Eck gewohnt.

Leider driftet das Feature im Verlauf etwas auf die von der Merkez-Moschee absolut unabhängigen Probleme der katholischen Kirche Marxloh bei der Opfer-Akquise ab, die ja überhaupt nichts mit Marxloh zu tun haben. Diese Probleme hat die Kirche zu Recht überall in Deutschland, und das ist auch gut so. Klar, dass man da mit ein bisschen Neid auf die gut besuchte Moschee nebenan schaut – die wie die Kirche Manifestation einer rückständigen Gesellschaftsordnung ist, aber paradoxer-, jedoch unnötigerweise auch Symbol für die “Toleranz” “der Marxloher”.

Denn neben all dem Gefasel von “Enklave”, “die Menschen sind hier ohne wegzuziehen in die Fremde geraten, […] haben ihr innere Beheimatung verloren.” und “Sie sind hierher gekommen, und Sie müssen sich integrieren”, lässt sich in Marxloh eine Welt erkennen, wie sie nunmal sein sollte. Eine, in der die Menschen sich nicht über so einen Unsinn wie Religion zerstreiten, sondern sich auch mal für “die anderen” interessieren, um sie besser zu verstehen – sei es auch notgedrungen.

Schade, dass man das als das “Wunder von Marxloh” bezeichnen muss, und nicht als schlichte Selbstverständlichkeit. Hier geht’s zum dennoch hörenswerten Feature.

(Als schlichte Selbstverständlichkeit versteht aber hoffentlich jede(r) den Protest gegen die Deppen von ProNRW.)

fixed: GPG for Apple Mail (4.2) under Snow Leopard (32 and 64bit)

(Important) Update: If you’re already using gpgmail, and are now experiencing Problems after the Update to Mac OS 10.6.3 (issued March, 30, 2010), use this fix: Download this file and copy it to ~/Library/Mail/Bundles – Enjoy.
If you’re new to gpgmail, don’t worry about this, the fix is included in the no-wories-script below.


The following script will install GPG (ver. 1.4.10),
the corresponding plugin (bundle) for Mail.app (ver. 1.2.3 Snow Leopard Fix by Lukas Pitschl (lukele)) and
GPG Keychain access” (ver. 0.7), a key-manager.

You will instantly be able to read and write GPG-encrypted mail without going through any complicated setup-routines.

32 & 64bit-Version: consumer-gpginstall-snow-leopard-32bit-mail4.2.sh
download, chmod +x the file, execute it and you’re done!

For more detailed information on this, answers to the questions “What is GPG and why would I need it?”, and a paranoid (compile-yourself) version of the script, see my brand-new GPG-page.

Currywurst-Kuchen

Heute habe ich zum ersten Mal in meinem Leben Fleisch zubereitet (was tut man nicht alles für gute Freunde…)
Hier das Rezept:

Zutaten:
4-5 Currywürste, vom qualitätsbewussten Phosphatstangenhändler
fertig frittiert, Sauce und Pulver getrennt geben lassen.
Curry-Sauce und -pulver, haben wir ja getrennt bekommen
1 Tortenboden
1 Päcken Gelatine (12 Blatt)
6-10 Pommes-Pieker zur Dekoration

IMG_0955

Die Zubereitung

  1. Die Würste schneiden und gefällig auf dem Tortenboden anordnen
  2. Gelatineblätter ca. 5 Minuten in 700ml Wasser einweichen und leicht ausdrücken.
  3. Die gequollene Gelatine erwärmen und auflösen.
  4. Die Currysauce nach und nach unter ständigem Rühren zur Gelatine hinzugeben, niemals umgekehrt! Vorsicht! Gelatine nicht zum Kochen bringen!
  5. Die Curry-Gelatine abkühlen lassen, währenddessen schon mal ein bisschen gelbes, rotes und Madras-Currypulver über die Wurststückchen streuen.
  6. entnervt die viel zu langsam abkühlende Gelatine in ein Eiswasserbad stellen
  7. Wenn die Curry-Gelatine gerade noch flüssig genug ist, diese sorgfältig über die Wurststückchen gießen.
  8. noch mehr gelbes, rotes und Madras-Currypulver
  9. Pommes-Pieker zur Dekoration in den Kuchen stecken
  10. abkühlen lassen, bis die Gelatine fest ist.
  11. zusammen mit einem preisbewussten Bier hübsch anrichten

Webstyle / Euroweb auf Kundenfang in Friedrichshain

Weil in Friedrichshain momentan der freundliche David T. versucht, Kunden für die Firma Webstyle / Euroweb zu gewinnen, sei daran erinnert, dass man sich über Geschäftspartner eingehend informieren, also zum Beispiel auch mal nachsehen sollte, ob vielleicht gerade irgendwas vorm Bundesgerichtshof läuft… Anfangen könnte man da bei den Berichten im MDR, zum Beispiel hier, dann hier und ganz aktuell hier.

[UPDATE 2.7.10: Warum das Video nicht mehr funktioniert, steht hier]

Natürlich muss man auch sonst immer in Erinnerung behalten, dass mündliche Versprechen bei einem schriftlichen Vertrag ausgeschlossen, und somit nicht mehr als heiße Luft sind. Wem das zu spät auffällt, dem hilft der RA Musiol.

Wer bei diesem Beitrag die gewohnte Schärfe vermisst, der sei hierhin oder hierhin verwiesen, oder hierhin, oder hierhin.

Fixed: Error 150:30 (Adobe CS4 licensing problem) – MAC

The following script will solve the often and randomly occuring problem with Adobe CS4 Mac “licensing for this product has stopped working… Error:150:30

If this solves your problem (it will!) consider leaving a nice comment.
Maybe you even want to

Copy and paste this to Terminal.app, enter your user password when prompted and follow the instructions on the screen. During this process, as ~40MB Liscense recovery file provided by Adobe will be downloaded, executed and deleted afterwards. Make sure to view and agree with the license agreement for this piece of code before you run the script (chances are it will fail otherwise).

if [ "$(grep -o activate.adobe.com /etc/hosts)" = "activate.adobe.com" ];
then echo "/etc/hosts is already modified"
else
echo "127.0.0.1 activate.adobe.com" >> /etc/hosts
echo "/etc/hosts was successfully modified"
fi
sudo rm -rf "/Library/Application Support/adobe/adobe PCD/cache/cache.db"
sudo rm -rf "/Library/Preferences/FLEXnet Publisher"
say "Now, please wait for the download to finish."
curl -o LicenseRecovery111.dmg http://download.macromedia.com/pub/support/tools/LicenseRecovery111.dmg
sudo hdiutil attach LicenseRecovery111.dmg
sudo python '/Volumes/LicenseRecovery 11.6.1/LicenseRecovery/'LicenseRecover.py
sudo rm -rf ~/AdobeLicensingFilesBackup
sudo hdiutil detach "/Volumes/LicenseRecovery 11.6.1"
sudo rm LicenseRecovery111.dmg
say "Done! now start CS4 and enter your serial"
exit 0

This will perfom the steps suggested by Erik’s Brain and Jake’s Computer Blog. After completing these steps, you will need to re-enter your serial number, and CS4 will work again.

Be aware that this is not a crack! You will need a valid serial number.

If this doesn’t work for you:

  • let me know
  • check if Adobe’s Liscense Recovery tool was updated to a version other than 11.6.1 and  if so, modify this script accordingly, then let me know
  • check if you are using a Mac and if not, follow the advice given here.
  • remember that this is not a crack, you will need a valid serial number