{"id":883,"date":"2018-03-26T10:03:27","date_gmt":"2018-03-26T10:03:27","guid":{"rendered":"http:\/\/enginsight.com\/?p=883"},"modified":"2023-07-05T11:14:15","modified_gmt":"2023-07-05T09:14:15","slug":"beruehmt-beruechtigte-sicherheitsluecken-der-heartbleed-bug","status":"publish","type":"post","link":"https:\/\/enginsight.com\/de\/blog\/beruehmt-beruechtigte-sicherheitsluecken-der-heartbleed-bug\/","title":{"rendered":"Ber\u00fchmt-ber\u00fcchtigte Sicherheitsl\u00fccken: Der Heartbleed-Bug"},"content":{"rendered":"<p><em>Der Heartbleed-Bug ist ein Programmierfehler, der im April 2014 &#xF6;ffentlich gemacht wurde. Obwohl Heartbleed aufgrund seiner schwerwiegenden Auswirkungen gro&#xDF;e Bekanntheit erlangte, existieren auch heute immer noch angreifbare Systeme.&#xA0;In diesem Artikel erfahren Sie mehr &#xFC;ber die Sicherheitsl&#xFC;cke, die auch nach ihrem Bekanntwerden immer noch so weit verbreitet war, dass es einem kanadischen Teenager gelang, rund 900 Sozialversicherungsnummern von den Servern der kanadischen Steuerbeh&#xF6;rde CRA zu&#xA0;stehlen.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"diegrundlagen\">Heartbleed-Bug: Die Grundlagen<\/h2>\n\n\n\n<p>Nehmen wir an, ein<strong> Benutzer Herbert m&#xF6;chte eine Webseite im Internet aufrufen<\/strong>, zum Beispiel den Steine &amp; Unkraut Online-Shop. Dazu muss Herberts Computer eine Verbindung zu dem Server aufbauen, auf dem diese Webseite liegt. Da &uuml;ber diese Verbindung <strong>sensible Daten<\/strong>, wie z.B. Herberts Benutzername, sein Passwort oder eventuell seine Zahlungsdaten gesendet werden, wird die Verbindung verschl&#xFC;sselt. Im Internet passiert das in der Regel mit einem Verschl&#xFC;sselungsprotokoll namens TLS (Transport Layer Security).<\/p>\n\n\n\n<p>F&#xFC;r das <strong>TLS Protokoll<\/strong> gibt es die sogenannte&#xA0;<em>&#x201E;Heartbeat<\/em>-Erweiterung&#x201C;. Diese Erweiterung erlaubt es eine TLS Verbindung aktiv zu halten, obwohl seit l&#xE4;ngerem keine Daten mehr dar&#xFC;ber geflossen sind. Bevor es die Heartbeat-Erweiterung gab, wurde eine <strong>TLS Verbindung<\/strong> immer beendet, wenn eine bestimmte Zeit lang keine Daten ausgetauscht wurden. Das kann f&#xFC;r l&#xE4;ngere Wartezeiten beim Benutzer sorgen, da die Aushandlung einer neuen TLS Verbindung mit etwas Aufwand verbunden ist. Die Heartbeat-Erweiterung wurde auch genutzt, um zu &#xFC;berpr&#xFC;fen, ob der Kommunikationspartner &#xFC;berhaupt noch &#x201E;da ist&#x201C; oder ob der andere Computer z.B. abgeschaltet wurde.<\/p>\n\n\n\n<p><a href=\"https:\/\/enginsight.com\/de\/blog\/ssl-tls-best-practice-monitoring-mit-nur-drei-klicks\/\"><strong>Mehr erfahren: SSL\/TLS: Best-Practice-Monitoring<\/strong><\/a><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Wie funktioniert der Heartbleed-Bug konkret?<\/h3>\n\n\n\n<p>Die <strong>Heartbeat-Erweiterung<\/strong> sieht vor, dass eine bis zu 16 kByte gro&#xDF;e Menge an beliebigen Daten and die Gegenseite gesendet wird, das ist die sogenannte &#x201E;Heartbeat-Anfrage&#x201C;. Sie besteht aus einer sogenannten &#x201E;Payload&#x201C; (typischerweise ein Text) und der Gr&#xF6;&#xDF;e dieser Payload. Der antwortende Computer schickt die Payload anschlie&#xDF;end unver&#xE4;ndert zur&#xFC;ck. Man kann sich diese Unterhaltung ungef&#xE4;hr so vorstellen:<\/p>\n\n\n\n<p><strong>Herberts Computer:<\/strong>&#xA0;&#x201E;Hallo, ist noch jemand da? Wenn ja, dann gib bitte das 5 Buchstaben lange Wort&#xA0;<em>Katze<\/em>&#xA0;zur&#xFC;ck.&#x201C;<br><strong>Server des Steine &amp; Unkraut Online Shops:<\/strong>&#xA0;&#x201E;Katze&#x201C;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"vonheartbeatzuheartbleed\">Sicherheitsrisiko: Von Heartbeat zu Heartbleed<\/h3>\n\n\n\n<p>So weit so gut. Bei der &#xDC;bernahme dieser Erweiterung in OpenSSL ist dann allerdings ein Programmierfehler passiert.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"wasistopenssl\">Was ist OpenSSL?<\/h4>\n\n\n\n<p>OpenSSL ist eine sogenannte Verschl&#xFC;sselungsbibliothek. Wenn man als Entwickler ein neues Programm schreibt oder aus irgendeinem anderen Grund Verschl&#xFC;sselungsfunktionen braucht, dann schreibt man diese Funktionen nicht jedes Mal selbst komplett neu. Das w&#xE4;re extrem aufwendig, aber auch sehr unsicher. <\/p>\n\n\n\n<p>Denn wie man am Heartbleed Beispiel sieht, passieren selbst Profis dabei gelegentlich Fehler. Programmierer verwenden f&#xFC;r Verschl&#xFC;sselungsfunktionen also eine Bibliothek, die die von ihnen ben&#xF6;tigten Algorithmen zur Verf&#xFC;gung stellt. OpenSSL war 2014&#xA0;<em>die<\/em>&#xA0;Verschl&#xFC;sselungsbibliothek schlechthin, da der <strong>Quellcode<\/strong> &#xF6;ffentlich zug&#xE4;nglich und die Nutzung kostenlos war. <\/p>\n\n\n\n<p>SSL (Secure Sockets Layer) ist &#xFC;brigens das Vorl&#xE4;ufer-Protokoll von TLS, oft werden die beiden Bezeichnungen aber synonym verwendet.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"derfehler\">Der Fehler<\/h4>\n\n\n\n<p>Der eigentliche Fehler ist nun relativ klein, hatte aber sehr gro&#xDF;e Auswirkungen. Anstatt zu &#xFC;berpr&#xFC;fen, ob die in der Heartbeat-Anfrage mitgeschickte Gr&#xF6;&#xDF;e wirklich der tats&#xE4;chlichen Gr&#xF6;&#xDF;e der Payload entspricht, vertraute der antwortende Computer einfach so auf die Angabe.<\/p>\n\n\n\n<p>Ein Hacker kann diesen Programmierfehler ausnutzen, indem er die Heartbeat Anfrage geschickt manipuliert. Er sendet eine Heartbeat-Anfrage mit einer Payload, die z.B. 1 Byte lang ist, sagt dem anderen Computer aber, die Gr&#xF6;&#xDF;e der Payload w&#xE4;re 64kByte. Dieser sendet daraufhin auch brav 64kByte an Daten zur&#xFC;ck, die sich eben gerade an der Stelle in seinem aktiven Speicher befinden. <\/p>\n\n\n\n<p>Manchmal sind das dann unn&#xFC;tze, kryptische Zahlenreihen, aber wenn der Hacker diese Anfrage z.B. an einen Online-Shop Server schickt sind es eben manchmal auch Passw&#xF6;rter oder Zahlungsdaten der Nutzer dieses Online Shops. Um bei unserem obigen Beispiel zu bleiben, man kann sich das ungef&#xE4;hr so vorstellen:<\/p>\n\n\n\n<p><strong>Hacker:<\/strong>&#xA0;&#x201E;Hallo, ist noch jemand da? Wenn ja, dann gib bitte das 500 Buchstaben lange Wort&#xA0;<em>Katze<\/em>&#xA0;zur&#xFC;ck.&#x201C;<br><strong>Server des Steine &amp; Unkraut Online Shops:<\/strong>&#x201E;Katzedhvsjsojhghssnddnpassword=123456username=Herbert43w4344&#x2026;&#x201C;<\/p>\n\n\n\n<p>Diese Attacke kann zudem beliebig oft wiederholt werden, um an m&#xF6;glichst viel Information zu gelangen. Besonders gef&#xE4;hrlich ist die Attacke auch, weil ein Hacker mit diesem Angriff an die Schl&#xFC;ssel kommen kann, mit denen die TLS Verbindung zwischen Server und Benutzer verschl&#xFC;sselt wird. Wenn ihm das gelingt, kann er die komplette zuk&#xFC;nftige Kommunikation zwischen diesen beiden Parteien entschl&#xFC;sseln. Wenn die Einstellung &#x201E;Perfect Forward Secrecy&#x201C; im TLS Protokoll nicht aktiviert ist, dann sogar die komplette vergangene Kommunikation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"wiekannichmichschtzen\">Datensicherheit: Wie kann ich mich sch&#xFC;tzen?<\/h3>\n\n\n\n<p>Diese Sicherheitsl&#xFC;cke wurde zum Gl&#xFC;ck mittlerweile gr&#xF6;&#xDF;tenteils behoben. Als Benutzer sollten Sie allerdings Passw&#xF6;rter, Sie seit 2014 nicht ge&#xE4;ndert haben, sofort wechseln. Als Betreiber eines Servers sollten Sie generell darauf achten Ihre Software stets aktuell zu halten.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"wiekonntedasberhauptpassieren\">Wie konnte das &#xFC;berhaupt passieren?<\/h4>\n\n\n\n<p><strong>Der Heartbleed-Bug schlummerte 2 Jahre lang unentdeckt im Quellcode von OpenSSL<\/strong>. Es ist auch nicht auszuschlie&#xDF;en, dass der Bug w&#xE4;hrend dieser 2 Jahre bereits ausgenutzt wurde. Da der Quellcode &#xF6;ffentlich zug&#xE4;nglich und einsehbar war und OpenSSL auch von gro&#xDF;en, namenhaften Firmen eingesetzt wurde, erzeugt die Existenz dieser Sicherheitsl&#xFC;cke ein gewisses Unverst&#xE4;ndnis. <\/p>\n\n\n\n<p>Zumindest bis man herausfindet, dass OpenSSL zu jenem Zeitpunkt von nur einem Vollzeit Mitarbeiter entwickelt wurde und einer kleinen Gruppe Freiwilliger, die in ihrer Freizeit daran arbeiteten. Obwohl OpenSSL so h&#xE4;ufig verwendet wurde, wurde der Code schlichtweg nicht oft genug von den einsetzenden Unternehmen &#xFC;berpr&#xFC;ft.<\/p>\n\n\n\n<p>Genau deswegen ist IT-Monitoring ein so hilfreiches Werkzeug. Sie erfahren sofort von verd&#xE4;chtigen Aktionen auf Ihrer Webseite und k&#xF6;nnen direkt handeln. Auch auf den Heartbleed-Bug testen wir von Enginsight nat&#xFC;rlich.<\/p>\n\n\n\n<p><a href=\"https:\/\/app.enginsight.com\/#\/signup\" target=\"_blank\" rel=\"noreferrer noopener\">Registrieren&#xA0;Sie sich einfach <\/a>bei uns und testen Sie selbst 14 Tage lang, ob wir Sie beim Aufbau der IT-Sicherheit in Ihrem Unternehmen unterst&#xFC;tzen sollen.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Der Heartbleed-Bug ist ein Programmierfehler, der im April 2014 &#xF6;ffentlich gemacht wurde. Obwohl Heartbleed aufgrund seiner schwerwiegenden Auswirkungen gro&#xDF;e Bekanntheit erlangte, existieren auch heute immer noch angreifbare Systeme.&#xA0;In diesem Artikel erfahren Sie mehr &#xFC;ber die Sicherheitsl&#xFC;cke, die auch nach ihrem Bekanntwerden immer noch so weit verbreitet war, dass es einem kanadischen Teenager gelang, rund 900 [&#x2026;]<\/p>\n","protected":false},"author":8,"featured_media":884,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_eb_attr":"","footnotes":""},"categories":[10],"tags":[],"class_list":["post-883","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-endpoint-netzwerksicherheit"],"_links":{"self":[{"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/posts\/883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/comments?post=883"}],"version-history":[{"count":0,"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/posts\/883\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/media\/884"}],"wp:attachment":[{"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/media?parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/categories?post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enginsight.com\/de\/wp-json\/wp\/v2\/tags?post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}