OpenSSL im Visier von einem “IT-Experten”

Eigentlich wollte ich mich aus dem ganzen Hype um Heartbleed raus halten. Aber leider gibt es viele IT-Firmen, die durch diese Lücke versuchen Profit zu schlagen, indem sie OpenSSL extrem in den Dreck ziehen um ihre eigenen Produkte irgendwie an den Mann zu bekommen.

So probiert es dem Anschein nach auch ein gewisser Klaus Brandstätter, CEO der Firma HOB GmbH & Co. KG (www.hob.de).
Dieser verfasste einen Artikel namens „Internet-Sicherheit und Heartbleed“ auf der Internetseite von HOB (http://www.hob.de/news/2014/news0814.jsp). Ich bitte euch darum diesen Artikel zu lesen, auch wenn es einem sehr schwer fällt, diese Selbstverliebtheit zu ertragen.

In der Einleitung erzählt der Autor ein wenig über seine Person und wo er programmieren gelernt hat. Dies war vor 40 Jahre in der Schule, was wohl auf die Qualität der Fähigkeiten schließen lässt.
In der Einleitung geht der Autor auch darauf ein, dass er den Quellcode von OpenSSL angesehen hat und verstanden hat. Das ganze ist nicht besonders schwer, nichtmal wenn man vor 40 Jahren programmieren in der Schule gelernt hat.
Dazu schaut man einfach in die d1_both.c und schaut sich die Funktion dtls1_process_heartbeat an. Nun ist unschwer zu erkennen, dass der payload nicht auf seine Länge geprüft wird, bevor die Funktion memcpy den Inhalt des Arbeitsspeichers ausliest.

[...]
1472  if (hbtype == TLS1_HB_REQUEST)
1473       {
1474        unsigned char *buffer, *bp;
1475         int r;
1476
1477          /* Allocate memory for the response, size is 1 byte
1478          * message type, plus 2 bytes payload length, plus
1479          * payload, plus padding
1480          */
1481           buffer = OPENSSL_malloc(1 + 2 + payload + padding);
1482           bp = buffer;
1483
1484           /* Enter response type, length and copy payload */
1485           *bp++ = TLS1_HB_RESPONSE;
1486            s2n(payload, bp);
1487            memcpy(bp, pl, payload);
1488            bp += payload;
1489            /* Random padding */
1490            RAND_pseudo_bytes(bp, padding);
1491
1492            r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding);
[...]

Die problematische Zeile ist wie schon angedeutet die Zeile 1487.
Anschließend wird der Autor sogar beleidigen und bezeichnet den Entwickler dieses Codes als „nicht übermäßig intelligent“ und behauptet, dass dieser „auch nicht die notwenigen Grundkenntnisse hat“.

Der betreffende Entwickler hat diesen (einfachen) Grundsatz nicht beachtet. Also ist der betreffende Entwickler nicht übermäßig intelligent und hat auch nicht die notwendigen Grundkenntnisse.


Nach der kurzen Einleitung hat der Artikel nur zwei wesentliche Aussagen:
Zum einen, wie schlecht OpenSSL ist. Dabei geht der Autor besonders darauf ein, dass es sich bei OpenSSL um ein Open Source Projekt handelt, was Qualitativ schlecht ist, da es hauptsächlich von 17 Jahre alten Entwicklern entwickelt wird.

OpenSSL ist Open-Source Software. Entwickelt wird meist ohne Entlohnung, als Hobby, neben dem Beruf. Solche Open-Source Entwickler sind oft erst 17 Jahre alt.

Außerdem ist der Autor in seinem kurzen Fazit der Meinung, dass die Verwendung von OpenSSL unverantwortlich ist.

Fazit: alle, welche Lösungen basierend auf OpenSSL einsetzen, handeln unverantwortlich.

Diesen Punkt finde ich extrem interessant und wir sollten ihn uns merken, dazu aber später mehr.
Dem aufmerksamen Leser sollte an dieser Stelle schon aufgefallen sein, dass der Autor nur die negativen Aspekte eines Open Source Projektes hervorhebt und diese auch noch unglaublich übertreibt.

Nun folgt auch schon der zweite wichtige Teil des Artikels. Und zwar die Selbstbeweihräucherung der Produkte von der HOB GmbH & Co. KG. Dabei geht es vor allem um das eigene SSL Produkt HOB-SSL. Dieses wurde laut Autor von hochqualifizierten Entwicklern entwickelt und getestet. Außerdem wurde es von „teuren Tools“ geprüft, welche Open Source Entwickler nicht zur Verfügung haben, und die besser prüfen, als jeder Mensch ohne Tool.

Die HOB Programme werden mit teueren Tools überprüft; diese Tools prüfen so wie es ein Mensch (ohne Tools) nicht tun könnte. (Open-Source Entwickler habe keine teueren Tools zur Verfügung.) HOB-SSL wurde vom BSI nach Common Criteria EAL 4+ zertifiziert.

An dieser Stelle möchte ich anmerken, dass eigentlich jeder weiß, dass ein händischer Test (von jemanden der wirklich Ahnung hat) jedem Test eines Tools überlegen ist. Dies scheint aber für die hochqualifizierten Entwickler von der HOB GmbH & Co. KG nicht zuzutreffen.


Des weiteren hebt der Autor innerhalb von neun aufeinander folgenden Sätzen insgesamt drei mal hervor, dass HOB-SSL von dem BSI nach der „Common Criteria EAL 4+“ zertifiziert wurde. Anschließend wird eigentlich nurnoch darauf eingegangen, wie sicher HOB-SSL dadurch sein muss und wie unglaublich sicher ein Closed Source Projekt ist.

Nachdem ich nach dem Lesen dieses Artikels fast gebrochen habe, dachte ich mir, dass ich doch mal schaue, wie sich HOB-SLL dem Benutzer gegenüber zeigt.
Durch einen simplen GET Request via Telnet konnte ich mich den ganzen Tag amüsieren und über Klaus lachen.
req.png
Zu aller erst: Ist das wirklich deren Ernst? Eine Sicherheitsfirma lässt den eigenen Server so viel über sich selbst erzählen?! Das ist wirklich traurig.
Aber okay. Fangen wir mit den orange markierten Zeilen an.
Es wird die PHP Version 5.2.0 verwendet. Diese ist absolut veraltet und enthält tausende von Sicherheitslücken (siehe http://www.cvedetails.com/vulnerability-list/vendor_id-74/product_id-128/version_id-38979/opbyp-1/PHP-PHP-5.2.0.html). Eine Sicherheitsfirma mit veralteter PHP Version, die Unmengen an Angriffsmöglichkeiten bietet? Das ist einfach lächerlich.

Aber es geht direkt weiter mit der Apache Version, die die HOB GmbH & Co. KG verwendet. Version 2.0.51 wird hier verwendet. Diese ist mindestens genauso alt wie die PHP Version und bietet noch mehr kritische Lücken für Angreifer. (http://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-66/version_id-15943/Apache-Http-Server-2.0.51.html).
Abgesehen davon, dass ich da schon das Gefühl hatte, dass da anscheinend keiner von denen ernstzunehmen ist, kommt nun der Knaller.


Die HOB GmbH & Co. KG verwendet selber OpenSSL (rot markiert). Uuuuuuuuuuuuups. Eben noch schön über OpenSSL herziehen und wie schlecht dieses doch ist, aber es selber verwenden.
Hier erinnere ich gerne auch nochmal an den Satz von Klaus Brandstätter, dass „[…] alle, welche Lösungen basierend auf OpenSSL einsetzen, unverantwortlich handeln“.
Damit sagt er also in aller Öffentlichkeit, dass er und seine Firma selber unverantwortlich handeln. Das ist zwar durchaus mutig, aber ob man eine solche Person ernst nehmen sollte, weiß ich nicht so recht, ich würde es nicht tun.

Abschließend kann ich nur sagen, dass ich es traurig finde, wie einige Leute versuchen OpenSSL samt seiner Entwickler in den Dreck zu ziehen. Wenn ich vor 40 Jahren Programmieren durch den Informatik Untericht an der Schule gelernt hätte, würde ich mich nicht trauen anderen Entwicklern vorzuwerfen, dass sie „nicht übermäßig intelligent ist“, vor allem wenn man selber diese Lösung verwendet.
Da habe ich eber das Gefühl, dass da jemand anderes „nicht übermäßig intelligent ist“, wenn man nicht weiß, welche Technologien man in der eigenen Firma einsetzt.