In the wake of Edward Snowden's activities, several new communication services started catering towards security-minded users. In principle, this is a good thing. However, these companies need to take the burden of proof more seriously. It is simply not good enough to claim that you "value the privacy of your costumers". Quotes such as

We take your privacy seriously. We will never collect data about you. We use state-of-the-art encryption to guarantee that your files cannot be accessed by unauthorized persons.

simply evoke a "Huh, I guess that's good for you" response from myself. In the worst case, they might trick users into believing your company without good cause. Why am I being so harsh? A simple reason: Good cryptography is hard to do right. Repeat after me: Good cryptography is hard to do right.

Take the guys from, for instance. They "talk the talk" and even give some insights into their algorithms, yet a detailed analysis by neXus shows that they violated even the most basic principles of security. Darn. At least, I award them some points for being somewhat open about their protocols.

If your company does not talk openly about the detailed steps you are going to take to ensure that my data are encrypted properly, I will not even remotely trust you. Sorry. Shannon coined the adage "The enemy knows the system". And at least in the cryptographic context, this is what I am assuming as well.

If you are unwilling to prove the security of your algorithms, I will assume that you are incapable of doing so. To be fair: I myself am incapable as well. To clarify: I consider myself capable of using established cryptographic systems such as Off-the-Record and GnuPG. But it is a very large step from being able to understand the workings of, say, RSA, to designing and running my own cryptosystem.

Would that all people and companies were aware of their limitations! As the aftermath of the recent Adobe hack shows, it is very easy to get things wrong. Adobe, for example, did not hash passwords properly. That is an epic on the fail scale. Some people are already working on analysing the passwords statistically or analysing the security problems in general. And it appears that there is already a list of the top 100 passwords used. I very much hope that the majority of the users did not use the same password for other services. Since their e-mail addresses have been included in the data dump, this would allow attackers to target things like e-mail accounts, e-commerce stuff (amazon, eBay, ...), and so on. And what does Adobe have to say? The usual drivel, it turns out:

We value the trust of our customers. We will work aggressively to prevent these types of events from occurring in the future. Again, we deeply regret any inconvenience this may cause you.

In the official security announcement, there is not a word about their abysmal security practices. Not even an honest summary of the situation.

So, if even a large company like Adobe can get something that basic that wrong–why should I trust your new & hot startup? If you pretend to care about the privacy of your customers, you are required to disclose your algorithms completely. Not because somebody should poke fun at them but rather because you might have overlooked something, which in turn might negatively affect the efficiency of your encryption schemes. This happens to the best of us. The most recent example is probably Moxie Marlinkspike's critique of Lavabit. Cryptocat, had its share of problems, as well.

To all the people involved in privacy-aware services, be it, Cryptocat, myIDkeeper, Lavabit, or something else entirely, I say: Thanks for your work and dedication. If you really want the trust of your users, please disclose your algorithms. Prove the security to me, don't just claim it. Given enough eyeballs, all bugs are shallow. Even those in cryptography.

Posted mid-morning Saturday, November 9th, 2013 Tags:

After making the switch to Ubuntu 13.10 (Saucy Salamander), my friend's laptop was unable to play flash videos in fullscreen mode with Chromium. Taking a closer look at the problem, it seemed as if the window manager was unable to focus the fullscreen window correctly. Usually, only the first video would play in fullscreen mode.

Scouring the usual places for some answers, we only found the usual "helpful" suggestions, i.e. reinstalling the system, replacing the laptop with a better model, sacrificing a goat to the Gods of Canonical...

Luckily, I remembered similar problems a while back, back in the days of yore, when Metacity was still the window manager of (then) GNOME 2: Use the excellent Devil's Pie to match the flash window and force the window manager to focus it. This resulted in the following configuration, which should be placed as fullscreen_flash.ds in ~/.devilspie:

  (is (application_name) "exe")

While the syntax looks pretty insane, Devil's Pie does an admirable job and forces the window manager to behave correctly. Note that if you are using Mozilla Firefox, you should look for plugin-flashcontainer or something similar. xwininfo and related tools are very helpful in this regard.

To end on a more critical note: While it is certainly nice that Linux gives us the tools to deal with its deficiencies (see also the XKCD comic about command line fu), I sometimes feel that GNOME has been steadily going downhill for some years now. At work, every Ubuntu upgrade broke something different in GNOME, finally driving me straight into the arms of KDE (for now). Configurations have become inconsistent and very complex, while the user interface nowadays seems extremely constrained. And for a setup with multiple displays, the "new" desktop environments (I am looking at you, GNOME 3 and Unity) seem very clunky to me. At home, I long ago ditched GNOME for the awesome window manager on my laptop (mostly due to screen space considerations). My friend is also more or less determined to make the switch (possibly to XFCE). Although she generally likes the look and feel of GNOME 3, her foremost wish is a stable and consistent system–and at least at the moment, GNOME 3 is neither.

Posted Sunday evening, November 17th, 2013 Tags:

The recent security blunder by Adobe (definitely an epic on the fail scale) should have reached everyone by now. In case the consequences are still not clear, I decided to visualize parts of the leaked database dump. More precisely, I wanted to get a sense of the password hints used by people in order to see if some trends emerged. I started out by simply counting the frequencies of words used in the password hints–not removing anything stop words, just a simple frequency analysis. Here's the (very simple) Python script:

#!/usr/bin/env python

import re
import collections

word_frequencies = collections.Counter()

with open( "cred" ) as f:
  for line in f:
    line   = line.strip()
    line   = line[:-3]

    fields =  re.split( '-\|-', line )

    if len( fields ) >= 5 and fields[4]:
      for word in fields[4].split():
        word_frequencies[ word.lower() ] += 1

for pair in word_frequencies.most_common():
  print pair[0], "\t", pair[1]

Afterwards, I used wordle to generate a word cloud of the password hints. This is the result (click the image for a larger version):

Word cloud of password hints

Not surprisingly, people seem to use names very often when generating passwords. This is why spouses are also mentioned very often, along with pets. Interestingly, dog was mentioned more often than cat. Some lone number either refer to a password scheme, i.e. combining passwords 1 and 2 to form a longer one, or to the actual password–I did not check this for the same reason I am not releasing any data other than the word cloud. Those poor users already have enough problems as it is, they do not need one more idiot (yours truly) trying to guess stuff about them.

There are some appalling things, though: First, note how often the word usual appears. This is not a good idea, people! If you use the same "usual" password for multiple services, all it takes is one weak link and attackers will be able to compromise large parts of your digital life, and probably at least some parts of your real life, as well. Furthermore, there are obviously still many people who believe that birthdays or social security numbers are good passwords. In short, they don't. In fact, professional attackers will check those low-hanging fruits first. Checking names for a hubby, a cat, a dog, or the date of a birthday takes tremendously less time than checking all possible combination in a, say, 52-character alphabet.

The security community thus obviously still has some work to do here. First, one should start with explaining people how to choose secure passwords. Second, incompetence of this scale needs to be punished. To clarify: The fact that Adobe's data got copied does not bother me as much as their stupidity in storing it! I again refer you to this very enlightening article about the errors in storing passwords (and password hints) the way Adobe did. This is inexcusable for a company this large.

Posted late Sunday evening, November 24th, 2013 Tags: