In der aktuellen FAZ (Frankfurter Allgemeinen Zeitung) vom Samstag, 19. April 2014 findet sich im Wirtschaftsteil auf Seite 23 eine ganzseitige Anzeige der HOB GmbH & Co. KG aus Cadolzburg mit der Überschrift „Internet-Sicherheit und Heartbleed“.
Der Heartbleed-Bug in OpenSSL ist als sehr kritisch anzusehen und hat viele Systeme betroffen. Als Geschäftsführer des Beratungsunternehmens binsec betreute ich selbst Kunden, die davon betroffen waren und wie viele andere war auch ich nicht sonderlich begeistert über den Fehler und den Vorfall. Der Code-Fehler wurde von einem der vielen Open Source-Entwicklern begannen, denen wir das Internet in der aktuellen Form zu verdanken haben. Ohne Linux, freie BSD-Varianten, die Apache-Projekte, OpenSSH, OpenSSL usw. sähe das Internet heute anders aus.
Der Fehler von OpenSSL wurde von einem mittlerweile namentlich bekannten Mitarbeiter eines der größten IT-Unternehmen Deutschlands verursacht. Ich möchte am aktuellen Shit-Storm gegenüber ihm nicht teilnehmen und verzichte deswegen auf die namentliche Nennung. Der betroffene Code soll im Rahmen seiner Promotionsarbeit entstanden sein. Im Review-Prozess bei OpenSSL wurde der Fehler leider übersehen, sodass wir nun weltweit um einen hochkritischen Bug reicher sind.
Herr Klaus Brandstätter, Diplom-Ingenieur (vermutlich ohne vorhandene Promotion), 59 Jahre alt und CEO der Firma HOB GmbH & Co. KG verkündet nun auf seiner Werbeanzeige für sein Unternehmen auf etwas über 15 Textabsätzen, warum die Anwendungen HOB RD VPN basierend auf HOB-SSL viel sicherer als OpenSSL sind. Die Common Criteria EAL 4+ Zertifizierung mag ihm da eventuell Recht geben. Das möchte ich nicht beurteilen. Dass er aber auf 9 Absätzen einen Shit-Storm auf OpenSSL, den deutschen Entwickler und Open Source im Allgemeinen loslässt, damit mag ich mich nicht abfinden.
Ich zitiere den dritten Absatz, 1. Teil:
„Es gibt den Grundsatz: alles was der Benutzer eingibt muss sorgfältig geprüft werden. Das wissen eigentlich alle, auch die Entwickler von Webseiten. Des weiteren gibt es den Grundsatz, dass alles was vom Netzwerk kommt grundsätzlich geprüft werden muss – insbesondere wenn es aus dem Public Internet kommt, vielleicht von Hackern.“
Ob das wirklich alle wissen, sei einmal dahingestellt. Ansonsten gebe ich Herrn Brandstätter soweit reicht. Im zweiten Teil seines dritten Absatzes wird er aber ausfällig:
„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. Das ist die eine Seite.“
Auf gut deutsch: Der deutsche, promovierte Entwickler soll einfach dumm sein. Ich hoffe, dass den Mitarbeitern der HOB GmbH & Co KG sowie Herrn Klaus Brandstätter nie Fehler unterlaufen. Ansonsten könnte man meinen, sie wären nach Ansicht des CEO von HOB nicht übermäßig intelligent. Er schreibt weiter:
„Wie kommt es, dass ein so qualifizierter Entwickler an hochsensibler Sicherheits-Software arbeiten darf? Dafür sind andere verantwortlich. OpenSSL ist Open-Source Software. Entwickelt wird meinst ohne Entlohnung, als Hobby, neben dem Beruf. Solche Open-Source Entwickler sind oft erst 17 Jahre alt.“
Ich denke die Aussagen sprechen für sich selbst. Aber er ist noch nicht fertig:
„Es gibt hervorragende Open-Source Lösungen. Aber der überwiegende Teil der Open-Source Software ist von wirklich minderer Qualität. Open-Source Projekte werden gemanaged. Wie wird OpenSSL gemanaged? Wie kann das Management (egal in welcher Art) zulassen, dass unqualifizierte Bastler an hochsensibler Sicherheits-Software mitentwickeln? Eine Software zu programmieren, welche irgendwie funktioniert, das schaffen auch wenig qualifizierte Entwickler. Qualität ist eine andere Sache.“
Ich fordere von Herrn Klaus Brandstätter eine Klarstellung und Entschuldigung gegenüber dem deutschen Entwickler von OpenSSL sowie gegenüber allen anderen qualifizierten OpenSource Entwicklern und der Open Source-Gemeinschaft. Und zwar in einer wieder ganzseitigen Anzeige in der Frankfurt Allgemeinen Zeitung!
1. Ergänzung: Mittlerweile wurde von jemand anderem die Werbeanzeige online gestellt.
2. Ergänzung: Die Werbeanzeige soll angeblich auch im Handelsblatt erschienen sein.
3. Ergänzung: Auf der Homepage von HOB existiert eine Presse-News, in der Heartbleed erklärt wird. Ich möchte die URL absichtlich nicht verlinken, deswegen Plaintext: http://www.hob.de/news/2014/news0714.jsp Wer Heartbleed „wirklich“ verstanden hat, kann ein bisschen schmunzeln ;-).
4. Ergänzung: HOB nutzt OpenSSL: https://www.hobsoft.com/error-message
Apache/2.0.52 (Unix) mod_ssl/2.0.52 OpenSSL/0.9.7k mod_jk/1.2.6 PHP/5.2.0 Server at www.hobsoft.com Port 443
Powered by OpenSSL ;-)
5. Ergänzung: Die Werbeanzeige ist nun im Wortlaut auf der Homepage von HOB online: http://www.hob.de/news/2014/news0814.jsp
6. Ergänzung: Jan Wildeboer hat die Anzeige ins Englische übersetzt: https://plus.google.com/112648813199640203443/posts/KLtMf6m4bSE
7. Ergänzung: Die Anzeige soll sich nun auch in der ZEIT finden.
8. Ergänzung. Die Anzeige erschien auch in englisch im Wall Street Journal.
Bernd Eckenfels
Eine EAL4 Zertifizierung ist mitnichten eine Bescheinigung der Fehlerfreiheit durch einen Auditor. Der Quellcode wird dabei garnicht betrachtet. (Semi)formale Verifikation erfolgt auch erst auf höheren Stufen. Von daher ist eine solche Zertifizierung zwar lobenswert, würde aber vor Programmierfehlern wie dem buffer-overread nicht schützen.
Ich wage zu prophezeien dass sich HOB keine Freunde gemacht hat, und der Fehdehandschuh wird dankend aufgenommen werden.
Tobias Knoth
Ich musste ganz schön stutzen als ich die Anzeige in der ZEIT gesehen habe. Vielen Dank, dass Sie die Thematik aufarbeiten. Die angesprochene Anzeige ist dreist.
David von Oheimb
@Bernd Eckenfels: bei einer Common Criteria EAL 4(+) Zertifizierung wird sehr wohl auch der Quelltext mit betrachtet. Allerdings nicht systematisch, und eine formale Code-Verifikation findet erst bei EAL 7 statt. Es wird allerdings schon recht genau die Dokumentation der Interfaces analysiert und als Grundlage für Tests verwendet. Ein ordentlich arbeitender Evaluator hätte Heartbleed also durchaus finden können.
Nebenbei etwas allgemeiner zu dem Thema – was viele Leute nicht wissen/beachten:
* Die fehlerhaft implementierte Heartbeat-Funktionalität ist bei normalem TLS (über TCP) ziemlich unnötig. Erster grober Fehler der community (wie auch von vielen anderen Entwicklern): die trusted base ist viel zu groß und damit entsprechend unübersichtlich und fehlerträchtig.
* Ein mindestens genauso schwerer Fehler steckt schon im Design des Heartbeat (RFC 6520): statt eines variablen Feldes, das bis zu 64 KByte groß sein kann, hätte ein wenige Bytes langes Feld mit fester Länge völlig gereicht (und wäre nicht nur Heartbleed-sicher, sondern auch effizienter). Da muss man sich schon fragen, was diesen Uni-Mitarbeiter geritten hat, das so zu spezifizieren – und dann auch noch selbst falsch umzusetzen.
* Der fehlerhafte Code wurde an zwei Stellen eingebaut und, der Fehler ist beim offiziellen Review nicht aufgefallen, obwohl die Verwendung von ‚memcpy‘ und fehlende input validation als potentielle Schwachstellen gerade bei Security-Spezialisten hinlänglich bekannt sind. Für eine so weit verbreitete sicherheitskritische SW-Komponente ist die (nicht) vorhandene Qualitätssicherung ziemlich mau.
* Das Schadenspotential von Heartbleed ist nicht so katastrophal wie von Sicherheitsexperten wie z.B. Bruce Schneier anfangs behauptet wurde: Auch durch vielfaches gezieltes Ausnutzen der Lücke kann man in Prinzip zwar alle möglichen Werte aus dem Speicher auslesen, insbesondere oftmals eigentlich verschlüsselt übertragene Daten wie z.B. Yahoo-Passwörter. Aber aufgrund der typischen Speicher-Organisation ist es recht unwahrscheinlich, dabei zufällig an die besonders kritischen privaten Schlüssel des Servers (bzw. Clients) zu gelangen.
Patrick Sauer
@David von Oheimb: So unwahrscheinlich ist es leider nicht, an den privaten Schlüssel zu gelangen, die Masse an Anfragen macht es: http://blog.cloudflare.com/the-results-of-the-cloudflare-challenge
David von Oheimb
Ich kenne diese Challenge und ihre Ergebnisse. Dass bei einem bestimmten Testserver der private Schlüssel herausgefunden wurde, sagt erst mal noch recht wenig darüber aus, auf wie vielen der hunderttausenden anderen verwundbaren Server das ebenfalls möglich ist. Dazu sind genauere Analysen nötig, wie die Server bestückt sind und ihre Arbeitsspeicher SW-seitig organisiert sind.
Wenn die Private Keys in ganz anderen (etwa: statischen) Speicherbereichen als die für den Heartbeat verwendeten Puffer stehen, hilft auch eine noch so große Masse von Anfragen nichts, diese auszulesen.
Adam Zorovic
Trotz der guten Werbeideen von Klaus Brandstätter ist die Firma pleite…
Adam Bückovitz
Herr Klaus Brandstätter kann ohne Übertreibung als DAU (Dümmster Anzunehmender Unternehmer) bezeichned werden. Wer solche Anzeigen sogar in der FAZ setzt hatt Pleite verdient.
Don Adam
Wenn man die Texte von Klaus Brandstätter liest, ist seine Kompetent klar erkennbar.
Rechtschreibung: 4
Kommasetzung: 5-
Fachlicher Inhalt: 6