Kapitel 1. Die Geschichte der Software-Sicherheit
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Bevor du dich mit den eigentlichen offensiven und defensiven Sicherheitstechniken beschäftigst, ist es wichtig, die lange und interessante Geschichte der Softwaresicherheit zu verstehen. Ein kurzer Überblick über die wichtigsten Sicherheitsereignisse der letzten hundert Jahre sollte ausreichen, um dir ein Verständnis für die grundlegende Technologie zu vermitteln, die den heutigen Webanwendungen zugrunde liegt. Darüber hinaus wird die kontinuierliche Beziehung zwischen der Entwicklung von Sicherheitsmechanismen und der Improvisation von vorausschauenden Hackern deutlich, die nach Möglichkeiten suchen, diese Mechanismen zu brechen oder zu umgehen.
Die Ursprünge des Hackens
Auf haben Hackerinnen und Hacker in den letzten zwei Jahrzehnten mehr Aufmerksamkeit und Berühmtheit erlangt als je zuvor. Daher ist es für jeden, der nicht über den entsprechenden Hintergrund verfügt, leicht anzunehmen, dass Hacken ein Konzept ist, das eng mit dem Internet verbunden ist und dass die meisten Hacker/innen in den letzten 20 Jahren entstanden sind.
Aber das ist nur eine Teilwahrheit. Zwar ist die Zahl der Hackerinnen und Hacker mit dem Aufkommen des World Wide Web explodiert, aber Hackerinnen und Hacker gibt es schon seit Mitte des 20. Jahrhunderts - möglicherweise sogar schon früher, je nachdem, was man unter "Hacken" versteht. Viele Expertinnen und Experten streiten darüber, welches Jahrzehnt der wahre Ursprung der modernen Hackerinnen und Hacker ist, denn einige wichtige Ereignisse in den frühen 1900er Jahren haben große Ähnlichkeit mit dem Hacken, das wir heute kennen.
So gab es zum Beispiel in den 1910er und 1920er Jahren vereinzelte Vorfälle, die man als Hacking bezeichnen könnte. In den meisten Fällen ging es um die Manipulation von Morsecode-Sendern und -Empfängern oder um die Störung der Übertragung von Radiowellen. Diese Vorfälle kamen zwar vor, waren aber nicht alltäglich, und es ist schwierig, groß angelegte Operationen auszumachen, die durch den Missbrauch dieser Technologien unterbrochen wurden.
Es ist auch wichtig zu erwähnen, dass ich kein Historiker bin. Ich bin ein Sicherheitsexperte, der Lösungen für tiefgreifende Sicherheitsprobleme auf Architektur- und Codeebene in Unternehmenssoftware gefunden hat. Davor habe ich viele Jahre als Softwareentwickler gearbeitet und Webanwendungen in verschiedenen Sprachen und Frameworks geschrieben. Heute schreibe ich weiterhin Software in Form von Sicherheitsautomatisierung und trage in meiner Freizeit als Hobby zu verschiedenen Projekten bei. Das heißt, ich bin nicht hier, um über Einzelheiten zu streiten oder alternative Entstehungsgeschichten zu diskutieren. Stattdessen wurde dieser Abschnitt auf der Grundlage langjähriger unabhängiger Recherchen zusammengestellt, wobei der Schwerpunkt auf den Lehren liegt, die wir aus diesen Ereignissen ziehen und heute anwenden können.
Da dieses Kapitel kein umfassender Überblick sein soll, sondern eine Referenz für wichtige historische Ereignisse, beginnen wir unsere Zeitleiste in den frühen 1930er Jahren. Ohne weitere Unterbrechung wollen wir nun eine Reihe von historischen Ereignissen untersuchen, die das Verhältnis zwischen Hackern und Ingenieuren heute geprägt haben.
Die Enigma-Maschine, ca. 1930
Die Enigma-Maschine verwendete elektrisch betriebene mechanische Rotoren, um über Funkwellen gesendete Textnachrichten zu ver- und entschlüsseln (siehe Abbildung 1-1). Das Gerät stammte aus Deutschland und wurde zu einer wichtigen technologischen Entwicklung während des Zweiten Weltkriegs.
Das Gerät sah aus wie eine große quadratische oder rechteckige mechanische Schreibmaschine. Bei jedem Tastendruck bewegten sich die Rotoren und zeichneten ein scheinbar zufälliges Zeichen auf, das dann an alle Enigma-Maschinen in der Nähe übertragen wurde. Diese Zeichen waren jedoch nicht zufällig, sondern wurden durch die Drehung des Rotors und eine Reihe von Konfigurationsoptionen bestimmt, die jederzeit am Gerät geändert werden konnten. Jede Enigma-Maschine mit einer bestimmten Konfiguration konnte Nachrichten lesen oder "entschlüsseln", die von einer anderen Maschine mit einer identischen Konfiguration gesendet wurden. Das machte die Enigma-Maschine extrem wertvoll, um wichtige Nachrichten zu versenden und gleichzeitig ein Abfangen zu verhindern.
Es ist schwer zu sagen, wer den Drehverschlüsselungsmechanismus der Maschine erfunden hat, aber die Technologie wurde von einer Zwei-Mann-Firma namens Chiffriermaschinen AG in Deutschland bekannt gemacht. In den 1920er Jahren reiste die Chiffriermaschinen AG durch ganz Deutschland, um die Technologie zu demonstrieren. 1928 übernahm das deutsche Militär die Technologie, um streng geheime militärische Nachrichten während der Übertragung zu sichern.
Die Möglichkeit, das Abfangen von Nachrichten über große Entfernungen zu vermeiden, war eine radikale Entwicklung, die vorher nicht möglich war. In der Softwarewelt von heute ist das Abfangen von Nachrichten immer noch eine beliebte Technik, die Hacker versuchen, oft als Man-in-the-Middle-Angriff bezeichnet. Die heutige Software verwendet ähnliche (aber viel leistungsfähigere) Techniken wie die Enigma-Maschine vor hundert Jahren, um sich vor solchen Angriffen zu schützen.
Obwohl die Enigma-Maschine für ihre Zeit eine unglaublich beeindruckende Technologie war, war sie nicht ohne Fehler. Da das einzige Kriterium für das Abhören und Entschlüsseln eine Enigma-Maschine war, deren Konfiguration mit der des Absenders übereinstimmte, konnte ein einziges kompromittiertes Konfigurationsprotokoll (oder ein privater Schlüssel, wie man heute sagt) ein ganzes Netzwerk von Enigma-Maschinen unbrauchbar machen.
Um dies zu verhindern, änderten alle Gruppen, die Nachrichten über die Enigma-Maschine verschickten, regelmäßig ihre Konfigurationseinstellungen. Das Umkonfigurieren der Enigma-Maschinen war ein zeitaufwändiger Prozess. Zunächst mussten die Konfigurationsprotokolle persönlich ausgetauscht werden, da es noch keine sicheren Möglichkeiten gab, sie aus der Ferne auszutauschen. Der Austausch von Konfigurationsprotokollen zwischen einem Netzwerk mit zwei Maschinen und zwei Bedienern ist vielleicht nicht so schwierig. Aber bei einem größeren Netzwerk mit z. B. 20 Rechnern waren mehrere Boten nötig, um die Konfigurationsprotokolle zu übermitteln - was die Wahrscheinlichkeit erhöhte, dass ein Konfigurationsprotokoll abgefangen und gestohlen oder sogar weitergegeben oder verkauft wurde.
Das zweite Problem bei der gemeinsamen Nutzung von Konfigurationsprotokollen war, dass manuelle Anpassungen an der Maschine selbst erforderlich waren, damit die Enigma-Maschine neue Nachrichten lesen, verschlüsseln und entschlüsseln konnte, die von anderen Enigma-Maschinen gesendet wurden. Das bedeutete, dass ein spezialisierter und geschulter Mitarbeiter anwesend sein musste, falls eine Konfigurationsaktualisierung erforderlich war. Das alles geschah in einer Zeit, in der es noch keine Software gab, so dass diese Konfigurationsanpassungen Eingriffe in die Hardware und eine Anpassung der physischen Anordnung und Verdrahtung der Steckplatte erforderten. Der Einsteller musste sich mit Elektronik auskennen, was in den frühen 1900er Jahren sehr selten war.
Da es schwierig und zeitaufwändig war, diese Maschinen zu aktualisieren, wurden sie in der Regel monatlich aktualisiert - bei geschäftskritischen Kommunikationsleitungen sogar täglich. Wenn ein Schlüssel abgefangen wurde oder durchgesickert ist, konnten alle Übertragungen für den Rest des Monats von einem böswilligen Akteur abgefangen werden - das Äquivalent zu einem Hacker heute.
Die Art der Verschlüsselung, die diese Enigma-Maschinen verwendeten, ist heute als symmetrischer Schlüsselalgorithmus bekannt. Dabei handelt es sich um eine besondere Art der Verschlüsselung, die die Ver- und Entschlüsselung einer Nachricht mit einem einzigen kryptografischen Schlüssel ermöglicht. Diese Art der Verschlüsselung wird auch heute noch in Software verwendet, um Daten während der Übertragung (zwischen Sender und Empfänger) zu sichern, allerdings mit vielen Verbesserungen gegenüber dem klassischen Modell, das mit der Enigma-Maschine populär wurde.
In der Software können die Schlüssel viel komplexer gestaltet werden. Moderne Algorithmen zur Schlüsselerzeugung erzeugen so komplexe Schlüssel, dass der Versuch, alle möglichen Kombinationen(Brute-Forcing- oder Brute-Force-Angriff) mit der schnellstmöglichen modernen Hardware durchzuführen, leicht mehr als eine Million Jahre dauern könnte. Außerdem können sich Software-Schlüssel im Gegensatz zu den Enigma-Maschinen der Vergangenheit schnell ändern.
Je nach Anwendungsfall können die Schlüssel bei jeder Benutzersitzung (pro Login), bei jeder Netzwerkanfrage oder in einem geplanten Intervall neu generiert werden. Wenn diese Art der Verschlüsselung in der Software verwendet wird, kann ein durchgesickerter Schlüssel bei der Regeneration pro Anfrage für eine einzige Netzwerkanfrage oder im schlimmsten Fall für ein paar Stunden bei der Regeneration pro Login (pro Sitzung) ausgestellt werden.
Wenn du die Geschichte der modernen Kryptografie weit zurückverfolgst, kommst du schließlich zum Zweiten Weltkrieg in den 1930er Jahren. Man kann mit Sicherheit sagen, dass die Enigma-Maschine ein wichtiger Meilenstein für die Sicherung der Fernkommunikation war. Daraus können wir schließen, dass die Enigma-Maschine eine wichtige Entwicklung für das war, was später zum Bereich der Softwaresicherheit werden sollte.
Die Enigma-Maschine war auch eine wichtige technologische Entwicklung für diejenigen, die später als "Hacker" bekannt werden sollten. Die Übernahme der Enigma-Maschinen durch die Achsenmächte während des Zweiten Weltkriegs führte zu einem extremen Druck auf die Alliierten, Techniken zum Knacken der Verschlüsselung zu entwickeln. General Dwight D. Eisenhower selbst behauptete, dass dies für den Sieg gegen die Nazis unerlässlich sei.
Im September 1932 wurde einem polnischen Mathematiker namens Marian Rejewski eine gestohlene Enigma-Maschine zur Verfügung gestellt. Zur gleichen Zeit konnte ihm ein französischer Spion namens Hans-Thilo Schmidt gültige Konfigurationen für September und Oktober 1932 zur Verfügung stellen. So konnte Marian Nachrichten abfangen, anhand derer er das Geheimnis der Enigma-Maschinenverschlüsselung zu analysieren begann.
Marian versuchte herauszufinden, wie die Maschine mechanisch und mathematisch funktionierte. Er wollte verstehen, wie eine bestimmte Konfiguration der Hardware der Maschine dazu führen konnte, dass eine völlig andere verschlüsselte Nachricht ausgegeben wurde.
Marians Entschlüsselungsversuche basierten auf einer Reihe von Theorien darüber, welche Maschinenkonfiguration zu einem bestimmten Ergebnis führen würde. Durch die Analyse von Mustern in den verschlüsselten Nachrichten und das Aufstellen von Theorien, die auf der Mechanik der Maschine basierten, gelang es Marian und zwei Mitarbeitern, Jerzy Różycki und Henryk Zygalski, das System zurückzuentwickeln. Mit dem tiefen Verständnis der Mechanik des Enigma-Rotors und der Konfiguration der Platine, das das Team entwickelte, konnten sie Vermutungen darüber anstellen, welche Konfigurationen zu welchen Verschlüsselungsmustern führen würden. Sie konnten dann eine Karte mit angemessener Genauigkeit neu konfigurieren und nach mehreren Versuchen den verschlüsselten Funkverkehr lesen. Bis 1933 fing das Team täglich den Funkverkehr der Enigma-Maschine ab und entschlüsselte ihn.
Ähnlich wie die Hackerinnen und Hacker von heute haben Marian und sein Team Verschlüsselungssysteme abgefangen und zurückentwickelt, um an wertvolle Daten zu gelangen, die von einer anderen Quelle als ihnen selbst stammen. Aus diesen Gründen würde ich Marian Rejewski und das Team, das ihn unterstützte, zu den ersten Hackern der Welt zählen.
In den folgenden Jahren erhöhte Deutschland kontinuierlich die Komplexität der Verschlüsselung der Enigma-Maschine. Dies geschah, indem die Anzahl der Rotoren, die zur Verschlüsselung eines Zeichens erforderlich waren, schrittweise erhöht wurde. Schließlich wurde es für Marians Team zu schwierig, eine Konfiguration in einem vernünftigen Zeitrahmen zu knacken. Diese Entwicklung war auch deshalb wichtig, weil sie einen Einblick in die sich ständig verändernde Beziehung zwischen Hackern und denen, die versuchen, das Hacken zu verhindern, bot.
Diese Beziehung besteht auch heute noch, da kreative Hacker ihre Techniken zum Einbruch in Softwaresysteme ständig weiterentwickeln und verbessern. Auf der anderen Seite entwickeln clevere Ingenieure ständig neue Techniken, um sich gegen die innovativsten Hacker zu verteidigen.
Automatisches Knacken des Enigma-Codes, ca. 1940
Alan Turing war ein englischer Mathematiker, der vor allem für die Entwicklung eines Tests bekannt ist, der heute als "Turing-Test" bezeichnet wird. Der Turing-Test wurde entwickelt, um Gespräche, die von Maschinen generiert wurden, anhand der Schwierigkeit zu bewerten, diese Gespräche von denen echter Menschen zu unterscheiden. Dieser Test wird oft als eine der grundlegenden Philosophien auf dem Gebiet der künstlichen Intelligenz (KI) angesehen.
Alan Turing ist vor allem für seine Arbeit im Bereich der Künstlichen Intelligenz bekannt, aber er war auch ein Pionier der Kryptografie und Automatisierung. Tatsächlich lag Alans Forschungsschwerpunkt vor und während des Zweiten Weltkriegs eher auf der Kryptografie als auf der KI. Ab September 1938 arbeitete Alan in Teilzeit an der Government Code and Cypher School (GC&CS). Die GC&CS war eine von der britischen Armee finanzierte Forschungs- und Nachrichtendienststelle mit Sitz in Bletchley Park, England.
Alans Forschung konzentrierte sich hauptsächlich auf die Analyse der Enigma-Maschinen. In Bletchley Park erforschte Alan die Kryptografie der Enigma-Maschinen an der Seite seines damaligen Mentors Dilly Knox, der zu dieser Zeit ein erfahrener Kryptograf war.
Ähnlich wie die polnischen Mathematiker vor ihnen wollten auch Alan und Dilly einen Weg finden, die (inzwischen deutlich leistungsfähigere) Verschlüsselung der deutschen Enigma-Maschinen zu knacken. Durch ihre Partnerschaft mit dem polnischen Cipher Bureau hatten die beiden Zugang zu allen Forschungsergebnissen, die Marians Team fast ein Jahrzehnt zuvor erarbeitet hatte. Das bedeutete, dass sie bereits ein tiefes Verständnis der Maschine hatten. Sie kannten die Zusammenhänge zwischen den Rotoren und der Verdrahtung und wussten um den Zusammenhang zwischen der Gerätekonfiguration und der Verschlüsselung, die ausgegeben werden würde(Abbildung 1-2).
Marians Team war in der Lage, Muster in der Verschlüsselung zu finden, die es ihnen ermöglichten, fundierte Vermutungen über die Konfiguration einer Maschine anzustellen. Aber das war nicht mehr möglich, da die Anzahl der Rotoren in der Maschine um das Zehnfache gestiegen war. In der Zeit, die nötig wäre, um alle möglichen Kombinationen auszuprobieren, wäre bereits eine neue Konfiguration ausgegeben worden. Deshalb suchten Alan und Dilly nach einer anderen Art von Lösung; einer Lösung, die sich skalieren ließ und mit der man neue Arten von Verschlüsselung knacken konnte. Sie wollten eine Allzwecklösung und keine hochspezialisierte Lösung.
Wir stellen die "Bombe" vor
Eine bombe war ein elektrisch betriebenes mechanisches Gerät, das versuchte, die Position der mechanischen Rotoren in einer Enigma-Maschine durch mechanische Analyse der von diesen Maschinen gesendeten Nachrichten automatisch zu entschlüsseln (siehe Abbildung 1-3).
Die ersten Bomben wurden von den Polen gebaut, um die Arbeit von Marian zu automatisieren. Leider waren diese Geräte darauf ausgelegt, die Konfiguration von Enigma-Maschinen mit sehr spezifischer Hardware zu ermitteln. Vor allem gegen Maschinen mit mehr als drei Rotoren waren sie unwirksam. Da die polnische Bombe nicht mit der Entwicklung komplexerer Enigma-Maschinen mithalten konnte, kehrten die polnischen Kryptographen schließlich zu manuellen Methoden zurück, um die deutschen Kriegsnachrichten zu entschlüsseln.
Alan Turing glaubte, dass die ursprünglichen Maschinen fehlschlugen, weil sie nicht für einen allgemeinen Zweck geschrieben waren. Um eine Maschine zu entwickeln, die jede Enigma-Konfiguration (unabhängig von der Anzahl der Rotoren) entschlüsseln konnte, ging er von einer einfachen Annahme aus: Um einen Algorithmus zum Entschlüsseln einer verschlüsselten Nachricht zu entwickeln, muss man zunächst ein Wort oder einen Satz in dieser Nachricht und seine Position kennen.
Zum Glück für Alan hatte das deutsche Militär sehr strenge Kommunikationsstandards. Jeden Tag wurde über verschlüsselte Enigma-Funkwellen eine Nachricht mit einem detaillierten regionalen Wetterbericht gesendet. Auf diese Weise stellte das deutsche Militär sicher, dass alle Einheiten über die Wetterbedingungen informiert waren, ohne dass diese für jeden, der den Funkverkehr abhörte, öffentlich zugänglich waren. Die Deutschen wussten nicht, dass Alans Team in der Lage sein würde, den Zweck und die Position dieser Berichte zu entschlüsseln.
Das Wissen um die Eingaben (Wetterdaten), die durch eine richtig konfigurierte Enigma-Maschine gesendet wurden, machte die algorithmische Bestimmung der Ausgaben viel einfacher. Alan nutzte dieses neu gewonnene Wissen, um eine Bombenkonfiguration zu bestimmen, die unabhängig von der Anzahl der Rotoren der Enigma-Maschine, die er zu knacken versuchte, funktionieren konnte.
Alan beantragte ein Budget für den Bau einer Bombe, die die Anforderungen an die Konfiguration, die zum Abfangen und Lesen verschlüsselter Nachrichten von deutschen Enigma-Maschinen erforderlich war, genau erfüllen konnte. Nachdem das Budget bewilligt worden war, baute Alan eine Bombe, die aus 108 Trommeln bestand, die sich mit einer Geschwindigkeit von 120 Umdrehungen pro Minute drehten. Diese Maschine konnte fast 20.000 mögliche Konfigurationen der Enigma-Maschine in nur 20 Minuten durchspielen. Das bedeutete, dass jede neue Konfiguration schnell kompromittiert werden konnte. Die Enigma-Verschlüsselung war nicht länger ein sicheres Kommunikationsmittel.
Heute ist Alans Reverse-Engineering-Strategie als Klartextangriff oder KPA bekannt. Dabei handelt es sich um einen Algorithmus, der viel effizienter wird, wenn er mit vorherigen Ein- und Ausgabedaten versorgt wird. Ähnliche Techniken werden von modernen Hackern eingesetzt, um die Verschlüsselung von Daten zu knacken, die in Software gespeichert oder verwendet werden. Die von Alan gebaute Maschine markiert einen wichtigen Punkt in der Geschichte, denn sie war eines der ersten automatisierten Hacking-Werkzeuge überhaupt.
Telefon-"Phreaking", ca. 1950
Nach dem Aufkommen der Enigma-Maschine in den 1930er Jahren und der kryptografischen Schlacht zwischen den Weltmächten ist die Einführung des Telefons das nächste wichtige Ereignis in unserer Zeitleiste. Das Telefon ermöglichte es den Menschen, über große Entfernungen und mit hoher Geschwindigkeit miteinander zu kommunizieren. Als die Telefonnetzwerke wuchsen, mussten sie automatisiert werden, um in großem Umfang zu funktionieren.
In den späten 1950er Jahren begannen Telekommunikationsunternehmen wie AT&T mit der Einführung neuer Telefone, die auf der Grundlage von Tonsignalen, die von der Telefoneinheit ausgesendet wurden, automatisch an eine Zielnummer weitergeleitet werden konnten. Das Drücken einer Taste auf der Telefontastatur gab eine bestimmte Tonfrequenz ab, die über die Leitung übertragen und von einer Maschine in einer Vermittlungsstelle interpretiert wurde. Eine Vermittlungsmaschine übersetzte diese Töne in Nummern und leitete den Anruf an den entsprechenden Empfänger weiter.
Dieses System wurde als Tonwahl bekannt und war eine wesentliche Entwicklung, ohne die Telefonnetzwerke in großem Umfang nicht funktionieren konnten. Das Tonwahlverfahren reduzierte den Aufwand für den Betrieb eines Telefonnetzes drastisch, da das Netz nicht länger einen Betreiber benötigte, um jeden Anruf manuell zu verbinden. Stattdessen konnte ein einziger Betreiber, der das Netz auf Probleme hin überwachte, Hunderte von Anrufen in der gleichen Zeit abwickeln, die zuvor für einen einzigen Anruf benötigt wurde.
Innerhalb kurzer Zeit begannen kleine Gruppen von Menschen zu erkennen, dass jedes System, das auf der Interpretation von Tönen aufbaut, leicht manipuliert werden kann. Wenn man lernte, wie man identische Tonfrequenzen neben dem Telefonhörer reproduziert, konnte man die beabsichtigte Funktion des Geräts beeinträchtigen. Hobbyisten, die mit der Manipulation dieser Technologie experimentierten, wurden schließlich als Phreakerbekannt - einefrühe Art von Hackern, die sich auf das Knacken oder Manipulieren von Telefonnetzen spezialisiert haben. Der wahre Ursprung des Begriffs "Phreaking" ist nicht bekannt, obwohl es mehrere allgemein akzeptierte mögliche Ursprünge gibt. Am häufigsten wird angenommen, dass er von den beiden Wörtern "freaking" und "phone" abgeleitet ist.
Es gibt einen alternativen Vorschlag, der meiner Meinung nach mehr Sinn ergibt. Ich glaube, dass der Begriff "Phreaking" von "Audiofrequenz" abstammt, und zwar in Anlehnung an die Audio-Signalsprache, die die Telefone damals verwendeten. Ich glaube, dass diese Erklärung mehr Sinn macht, da der Ursprung des Begriffs zeitlich sehr nah an der Einführung des ursprünglichen Tonwahlsystems von AT&T liegt. Vor der Einführung des Tonwahlsystems war es viel schwieriger, Telefongespräche zu manipulieren, da für jeden Anruf eine Telefonistin oder ein Telefonist benötigt wurde, um die beiden Leitungen zu verbinden.
Wir können Phreaking auf mehrere Ereignisse zurückführen, aber der berüchtigtste Fall von frühem Phreaking war die Entdeckung und Nutzung des 2600-Hz-Tons. Die 2600-Hz-Tonfrequenz wurde von AT&T intern verwendet, um zu signalisieren, dass ein Anruf beendet wurde. Es war im Wesentlichen ein "Verwaltungsbefehl", der in das ursprüngliche Tonwahlsystem eingebaut war. Das Aussenden eines 2600-Hz-Tons verhinderte, dass ein Telekommunikationsvermittlungssystem erkannte, dass ein Anruf noch offen war (der Anruf wurde als beendet protokolliert, obwohl er noch im Gange war). So konnten teure Auslandsgespräche geführt werden, ohne dass eine Rechnung aufgezeichnet oder an den Anrufer geschickt wurde.
Die Entdeckung des 2600-Hz-Tons wird oft auf zwei Ereignisse zurückgeführt. Erstens war ein Junge namens Joe Engressia dafür bekannt, dass er eine Tonhöhe von 2600 Hz pfeifen konnte, und er gab vor seinen Freunden damit an, einen Ton zu pfeifen, der das Wählen von Telefonen verhindern konnte. Manche halten Joe für einen der ersten Telefonversteher, obwohl seine Entdeckung eher zufällig war.
Später entdeckte ein Freund von Joe Engressia namens John Draper, dass die Spielzeugpfeifen in den Cap'n Crunch-Müslipackungen einen 2600-Hz-Ton imitierten. Wenn man die Pfeife richtig einsetzt, kann man mit der gleichen Technik auch kostenlose Ferngespräche führen. Das Wissen um diese Technik verbreitete sich in der gesamten westlichen Welt und führte schließlich zur Entwicklung von Geräten, die auf Knopfdruck bestimmte Tonfrequenzen abgleichen konnten.
Das erste dieser Hardware-Geräte war als Blue Box bekannt. Blue Boxes spielten ein nahezu perfektes 2600-Hz-Signal ab, das es jedem, der eine Blue Box besaß, ermöglichte, den Fehler des kostenlosen Telefonierens in den Vermittlungssystemen der Telekom auszunutzen. Spätere Generationen von Phreakern manipulierten Münztelefone, verhinderten das Starten von Abrechnungszyklen, ohne ein 2600-Hz-Signal zu verwenden, emulierten militärische Kommunikationssignale und fälschten sogar die Anrufer-ID.
Daraus können wir ersehen, dass die Architekten der frühen Telefonnetzwerke nur normale Menschen und ihre Kommunikationsziele berücksichtigten. In der Software-Welt von heute ist dies als "Best-Case-Szenario"-Design bekannt. Das war ein fataler Fehler, aber es wurde zu einer wichtigen Lektion, die auch heute noch relevant ist: Bei der Entwicklung komplexer Systeme sollte immer zuerst das Worst-Case-Szenario berücksichtigt werden.
Mit der Zeit wurde das Wissen um die Schwachstellen der Tonwahlsysteme immer bekannter, was dazu führte, dass Budgets für die Entwicklung von Gegenmaßnahmen bereitgestellt wurden, um die Gewinne der Telekommunikationsunternehmen und die Integrität der Anrufe vor Phreakern zu schützen.
Anti-Diebstahl-Technologie, ca. 1960
Auf wurden in den 1960er Jahren Telefone mit einer neuen Technologie ausgestattet, die als Mehrfrequenzwahlverfahren (DTMF) bekannt ist. DTMF war eine audiobasierte Signalisierungssprache, die von Bell Systems entwickelt und unter dem bekannteren Markennamen "Touch Tones" patentiert wurde. DTMF war untrennbar mit der heute bekannten Telefonwählscheibe verbunden, die aus drei Spalten und vier Reihen von Zahlen besteht. Jede Taste auf einem DTMF-Telefon sendet zwei ganz bestimmte Tonfrequenzen aus, im Gegensatz zu einer einzigen Frequenz wie bei den ursprünglichen Tonwahlsystemen.
Diese Tabelle zeigt die "Berührungstöne" oder Töne (in Hertz), die ältere Telefone bei Tastendruck erzeugen:
1 |
2 |
3 |
(697 Hz) |
4 |
5 |
6 |
(770 Hz) |
7 |
8 |
9 |
(852 Hz) |
* |
0 |
# |
(941 Hz) |
(1209 Hz) |
(1336 Hz) |
(1477 Hz) |
Die Entwicklung des DTMF-Systems war vor allem darauf zurückzuführen, dass Betrüger die Vorteile von Tonwahlsystemen ausnutzten, weil diese Systeme so leicht zu manipulieren waren. Bell Systems war der Meinung, dass es für böswillige Akteure viel schwieriger sein würde, das DTMF-System auszunutzen, weil es zwei verschiedene Töne gleichzeitig verwendet.
DTMF-Töne konnten nicht einfach von einer menschlichen Stimme oder einer Pfeife nachgeahmt werden, was bedeutete, dass die Technologie wesentlich sicherer war als ihre Vorgängerin. DTMF war ein Paradebeispiel für eine erfolgreiche Sicherheitsentwicklung, die zur Bekämpfung von Phreakern, den Hackern jener Zeit, eingeführt wurde.
Die Mechanik der DTMF-Tonerzeugung ist ziemlich einfach. Hinter jeder Taste befindet sich ein Schalter, der einem internen Lautsprecher signalisiert, zwei Frequenzen auszusenden: eine Frequenz, die auf der Zeile der Taste basiert, und eine Frequenz, die auf der Spalte basiert. Daher kommt auch der Begriff Dual-Tone.
DTMF wurde von der Internationalen Fernmeldeunion (ITU) als Standard angenommen und wurde später nicht nur in Telefonen, sondern auch im Kabelfernsehen (zur Angabe von Werbeunterbrechungen) verwendet.
DTMF ist eine wichtige technologische Entwicklung, weil sie zeigt, dass Systeme so gestaltet werden können, dass sie bei entsprechender Planung schwerer zu missbrauchen sind. Diese DTMF-Töne können zwar auch dupliziert werden, aber der Aufwand dafür wäre wesentlich größer. Schließlich wurden die Vermittlungsstellen auf digitale (statt analoge) Eingänge umgestellt, so dass es fast kein Phreaking mehr gab.
Die Ursprünge des Computer-Hackings, um 1980
Im Jahr 1976 brachte Apple den Apple 1 Personal Computer heraus. Dieser Computer war nicht fertig konfiguriert und erforderte, dass der Käufer eine Reihe von Komponenten bereitstellte und sie an die Hauptplatine anschloss. Es wurden nur ein paar hundert dieser Geräte gebaut und verkauft.
1982 brachte Commodore International sein Konkurrenzgerät heraus. Es handelte sich um den Commodore 64, einen Personalcomputer, der direkt nach dem Auspacken vollständig konfiguriert war. Er verfügte über eine eigene Tastatur, unterstützte Audio und konnte sogar mit mehrfarbigen Displays verwendet werden.
Der Commodore 64 wurde bis Anfang der 1990er Jahre fast 500.000 Mal pro Monat verkauft. Von diesem Zeitpunkt an sollten die Verkaufszahlen von Personal Computern in den kommenden Jahrzehnten Jahr für Jahr kontinuierlich steigen. Computer wurden bald zu einem alltäglichen Werkzeug in Haushalten und Unternehmen und übernahmen häufig wiederkehrende Aufgaben wie die Verwaltung von Finanzen, Personalwesen, Buchhaltung und Verkauf.
1983 schuf Fred Cohen, ein amerikanischer Informatiker, mit den allerersten Computervirus. Der von ihm geschriebene Virus war in der Lage, Kopien von sich selbst zu erstellen und ließ sich leicht per Diskette von einem Computer zum anderen verbreiten. Es gelang ihm, den Virus in einem legitimen Programm zu speichern und ihn so vor allen zu verbergen, die keinen Zugang zum Quellcode hatten. Fred Cohen wurde später als Pionier im Bereich der Softwaresicherheit bekannt, da er bewies, dass es fast unmöglich ist, Viren mit Algorithmen in legitimer Software zu erkennen.
Einige Jahre später, im Jahr 1988, war ein anderer amerikanischer Informatiker namens Robert Morris die erste Person, die einen Virus entwickelte, der Computer außerhalb eines Forschungslabors infizierte. Der Virus wurde als Morris Worm bekannt, wobei "Wurm" ein neuer Begriff für einen sich selbst reproduzierenden Computervirus ist. Der Morris Worm verbreitete sich innerhalb des ersten Tages nach seiner Veröffentlichung auf etwa 15.000 mit dem Netzwerk verbundene Computer.
Zum ersten Mal in der Geschichte schaltete sich die US-Regierung ein und erwog offizielle Regelungen gegen Hackerangriffe. Das US Government Accountability Office (GAO) schätzte den durch diesen Virus verursachten Schaden auf 10.000.000 $. Robert erhielt drei Jahre Bewährung, vierhundert Stunden gemeinnützige Arbeit und eine Geldstrafe von 10.050 Dollar. Damit war er der erste verurteilte Hacker in den Vereinigten Staaten.
Heutzutage entwickeln die meisten Hacker keine Viren, die Betriebssysteme infizieren, sondern zielen auf Webbrowser ab. Moderne Browser bieten eine extrem robuste Sandbox, die es einer Website erschwert, ausführbaren Code außerhalb des Browsers (gegen das Host-Betriebssystem) ohne ausdrückliche Erlaubnis des Nutzers auszuführen.
Obwohl es Hacker heute vor allem auf Nutzer und Daten abgesehen haben, auf die über den Webbrowser zugegriffen werden kann, gibt es viele Ähnlichkeiten mit Hackern, die es auf das Betriebssystem abgesehen haben. Skalierbarkeit (Springen von einem Nutzer zum anderen) und Tarnung (Verstecken von bösartigem Code in einem legitimen Programm) sind Techniken, die bei Angriffen auf Webbrowser eingesetzt werden.
Heutzutage verbreiten sich Angriffe oft über E-Mails, soziale Medien oder Instant Messaging. Manche Hacker bauen sogar legitime Netzwerke aus echten Websites auf, um eine einzige bösartige Website zu bewerben.
Oftmals verbirgt sich bösartiger Code hinter einer legitim aussehenden Oberfläche. Phishing-Angriffe (Diebstahl von Anmeldedaten) finden auf Websites statt, die genauso aussehen wie Websites von sozialen Medien oder Banken. Browser-Plug-ins werden häufig beim Datendiebstahl erwischt, und manchmal finden Hacker sogar Wege, ihren eigenen Code auf Websites auszuführen, die ihnen nicht gehören.
Der Aufstieg des World Wide Web, ca. 2000
Das World Wide Web (WWW) entstand in den 1990er Jahren, aber seine Popularität begann Ende der 1990er und Anfang der 2000er Jahre zu explodieren.
In den 1990er Jahren wurde das Web fast ausschließlich zum Austausch von in HTML geschriebenen Dokumenten genutzt. Auf Websites wurde nicht auf die Benutzerfreundlichkeit geachtet, und nur sehr wenige erlaubten es dem Benutzer, Eingaben an den Server zu senden, um den Ablauf der Website zu ändern. Abbildung 1-4 zeigt eine Apple.com-Website aus dem Jahr 1997 mit rein informativen Daten.
Die frühen 2000er Jahre markierten eine neue Ära für das Internet, weil Websites begannen, von den Nutzern übermittelte Daten zu speichern und die Funktionalität der Seite auf der Grundlage von Nutzereingaben zu ändern. Dies war eine wichtige Entwicklung, die später unter als Web 2.0 bekannt wurde. Web 2.0-Websites ermöglichten es den Nutzern, miteinander zusammenzuarbeiten, indem sie ihre Eingaben über Hypertext Transport Protocol (HTTP) an einen Webserver übermittelten, der die Eingaben dann speicherte und sie auf Anfrage an andere Nutzer weitergab.
Diese neue Ideologie beim Aufbau von Websites war die Geburtsstunde der sozialen Medien, wie wir sie heute kennen. Das Web 2.0 ermöglichte Blogs, Wikis, Media-Sharing-Seiten und vieles mehr.
Dieser radikale Wandel in der Web-Ideologie führte dazu, dass sich das Web von einer Plattform zum Austausch von Dokumenten zu einer Plattform zum Vertrieb von Anwendungen entwickelte. Abbildung 1-5 zeigt eine Apple.com Storefront aus dem Jahr 2007, auf der du Dinge kaufen kannst. Beachte den Account-Link in der oberen rechten Ecke, der darauf hinweist, dass die Website Benutzerkonten und Datenpersistenz unterstützt. Den Account-Link gab es schon in früheren Versionen der Apple-Website in den 2000er Jahren, aber 2007 wurde er oben rechts auf der UX platziert, anstatt unten. Möglicherweise war er vorher experimentell oder wurde nicht ausreichend genutzt.
Diese große Veränderung in der Architektur von Websites veränderte auch die Art und Weise, wie Hacker Webanwendungen angreifen. Zu diesem Zeitpunkt waren bereits ernsthafte Anstrengungen unternommen worden, um Server und Netzwerke zu sichern - die beiden wichtigsten Angriffsvektoren für Hacker in den letzten zehn Jahren. Mit dem Aufkommen von anwendungsähnlichen Websites wurde der Nutzer zum perfekten Ziel für Hacker.
Es war eine perfekte Lösung. Die Nutzer würden bald über das Internet Zugang zu geschäftskritischen Funktionen haben. Militärische Kommunikation, Banküberweisungen und vieles mehr sollten über Webanwendungen (eine Website, die wie eine Desktop-Anwendung funktioniert) abgewickelt werden. Leider gab es damals nur sehr wenige Sicherheitskontrollen, um die Nutzer/innen vor Angriffen zu schützen, die auf sie gerichtet waren. Außerdem gab es nur wenig Aufklärung über Hackerangriffe oder die Mechanismen, auf denen das Internet beruhte. Nur wenige frühe Internetnutzer/innen in den 2000er Jahren konnten die zugrundeliegende Technologie auch nur ansatzweise begreifen.
Anfang der 2000er Jahre legten die ersten öffentlichkeitswirksamen Denial-of-Service-Angriffe (DoS) Yahoo!, Amazon, eBay und andere beliebte Websites lahm. Im Jahr 2002 wurde Microsofts ActiveX-Plug-in für Browser mit einer Schwachstelle versehen, die es ermöglichte, Datei-Uploads und -Downloads von einer Website mit böswilligen Absichten aus der Ferne aufzurufen. Mitte der 2000er Jahre nutzten Hacker regelmäßig "Phishing"-Websites, um Anmeldedaten zu stehlen. Damals gab es noch keine Kontrollmechanismen, um die Nutzer vor diesen Websites zu schützen.
Cross-Site-Scripting (XSS)-Schwachstellen, die es einem Hacker ermöglichten, den Code eines Nutzers in dessen Browser-Sitzung auf einer legitimen Website auszuführen, grassierten in dieser Zeit im Web, da die Browser-Hersteller noch keine Abwehrmaßnahmen gegen solche Angriffe entwickelt hatten. Viele der Hackingversuche in den 2000er Jahren waren darauf zurückzuführen, dass die Technologie, die das Web vorantreibt, für einen einzigen Nutzer (den Eigentümer der Website) entwickelt wurde. Diese Technologien kollabierten, wenn sie für ein System verwendet wurden, das die gemeinsame Nutzung von Daten durch viele Nutzer/innen ermöglichte.
Hacker in der Neuzeit, ca. 2015+
Der Punkt, an dem wir das Hacken in früheren Epochen besprochen haben, diente dazu, eine Grundlage zu schaffen, von der aus wir unsere Reise in diesem Buch beginnen können.
Durch die Analyse der Entwicklung und Kryptoanalyse der Enigma-Maschinen in den 1930er Jahren haben wir einen Einblick in die Bedeutung von Sicherheit und in die Mühe, die andere auf sich nehmen, um diese Sicherheit zu knacken.
In den 1940er Jahren sahen wir einen frühen Anwendungsfall für die Sicherheitsautomatisierung. Dieser spezielle Fall wurde durch den ständigen Kampf zwischen Angreifern und Verteidigern angetrieben. In diesem Fall hatte sich die Technologie der Enigma-Maschine so stark verbessert, dass sie mit manuellen Kryptoanalysetechniken nicht mehr zuverlässig geknackt werden konnte. Alan Turing wandte sich der Automatisierung zu, um die Sicherheitsverbesserungen zu schlagen.
Die 1950er und 1960er Jahre haben uns gezeigt, dass Hacker und Tüftler viel gemeinsam haben. Wir haben auch gelernt, dass Technologien, die ohne Rücksicht auf böswillige Nutzer entwickelt werden, irgendwann geknackt werden. Wir müssen immer das Worst-Case-Szenario in Betracht ziehen, wenn wir Technologien entwickeln, die in großem Umfang und für eine breite Nutzerbasis eingesetzt werden sollen.
In den 1980er Jahren wurde der Personal Computer immer beliebter. Zu dieser Zeit traten die Hacker auf, die wir heute kennen. Diese Hacker machten sich die Möglichkeiten der Software zunutze, tarnten Viren in legitimen Anwendungen und nutzten Netzwerke, um ihre Viren schnell zu verbreiten.
Schließlich führte die Einführung und rasche Verbreitung des World Wide Web zur Entwicklung von Web 2.0, das die Art und Weise, wie wir über das Internet denken, veränderte. Anstatt das Internet als Medium für den Austausch von Dokumenten zu betrachten, wurde es zu einem Medium für den Austausch von Anwendungen. Infolgedessen entstanden neue Arten von Exploits, die den Nutzer und nicht das Netzwerk oder den Server ausnutzen. Das ist eine grundlegende Veränderung, die auch heute noch gilt, denn die meisten Hacker sind dazu übergegangen, Webanwendungen über Browser ins Visier zu nehmen und nicht mehr Desktop-Software und Betriebssysteme.
Machen wir einen Sprung ins Jahr 2019, das Jahr, in dem ich dieses Buch zu schreiben begann. Zum Zeitpunkt, an dem ich dieses Buch schreibe, gibt es Tausende von Websites im Internet, hinter denen Millionen- und Milliarden-Dollar-Unternehmen stehen. Viele Unternehmen erwirtschaften sogar ihren gesamten Umsatz über ihre Websites. Einige Beispiele, die du wahrscheinlich kennst, sind Google, Facebook, Yahoo!, Reddit, Twitter, usw.
YouTube ermöglicht es den Nutzern, miteinander und mit der Anwendung selbst zu interagieren (siehe Abbildung 1-6). Kommentare, Video-Uploads und Bild-Uploads werden alle unterstützt. Für alle diese Uploads gibt es variable Berechtigungen, mit denen der Uploader festlegen kann, für wen der Inhalt sichtbar sein soll. Viele der gehosteten Daten bleiben dauerhaft und sitzungsübergreifend erhalten, und bei einigen Funktionen werden Änderungen zwischen den Nutzern fast in Echtzeit (über Benachrichtigungen) übertragen. Außerdem werden viele wichtige Funktionen auf den Client (Browser) verlagert, anstatt auf dem Server zu liegen.
Einige traditionelle Desktop-Softwareunternehmen versuchen jetzt, ihre Produktpalette ins Internet zu verlagern, in die sogenannte Cloud, die einfach ein komplexes Netzwerk von Servern ist. Beispiele dafür sind Adobe mit Creative Cloud, einem Abo-Angebot, das Photoshop und andere Adobe-Tools über das Internet zur Verfügung stellt, und Microsoft Office, das Word und Excel anbietet, aber jetzt als Webanwendung.
Weil so viel Geld in Webanwendungen steckt, steht so viel auf dem Spiel wie nie zuvor. Das bedeutet, dass die Anwendungen im Web heute reif für die Ausbeutung sind, und die Belohnungen für die Ausbeutung dieser Anwendungen sind enorm hoch.
Dies ist wirklich eine der besten Zeiten für Hacker und Ingenieure, die Wert auf Sicherheit legen. Arbeit für beide ist sehr gefragt, und zwar auf beiden Seiten des Gesetzes.
Browser sind heute wesentlich fortschrittlicher als noch vor 10 Jahren. Mit diesen Fortschritten sind auch eine Reihe neuer Sicherheitsfunktionen einhergegangen. Auch die Netzwerkprotokolle, die wir für den Zugang zum Internet verwenden, haben sich weiterentwickelt.
Die heutigen Browser bieten eine sehr robuste Isolierung zwischen Websites unterschiedlicher Herkunft, die einer Sicherheitsspezifikation folgt, die als Same Origin Policy (SOP) bekannt ist. Das bedeutet, dass Website A nicht von Website B aufgerufen werden kann, selbst wenn beide gleichzeitig geöffnet sind oder eine als Iframe in die andere eingebettet ist.
Die Browser akzeptieren auch eine neue Sicherheitskonfiguration, die sogenannte Content Security Policy (CSP). Mit CSP kann der Entwickler einer Website verschiedene Sicherheitsstufen festlegen, z. B. ob Skripte inline (im HTML) ausgeführt werden können. So können Webentwickler ihre Anwendungen noch besser gegen gängige Bedrohungen schützen.
HTTP, das Hauptprotokoll für die Übertragung von Internetdaten, hat sich auch in puncto Sicherheit verbessert. HTTP hat Protokolle wie SSL und TLS eingeführt, die eine strenge Verschlüsselung aller Daten, die über das Netzwerk übertragen werden, erzwingen. Das macht es für Man-in-the-Middle-Angriffe sehr schwierig, erfolgreich zu sein.
Aufgrund dieser Fortschritte bei der Browsersicherheit zielen viele der erfolgreichsten Hacker heute auf die von den Entwicklern geschriebene Logik ab, die in ihren Webanwendungen läuft. Anstatt den Browser selbst ins Visier zu nehmen, ist es viel einfacher, erfolgreich in eine Website einzudringen, indem man Fehler im Code der Anwendung ausnutzt. Zum Glück für Hacker sind die heutigen Webanwendungen um ein Vielfaches größer und komplexer als die Webanwendungen der Vergangenheit.
Heutzutage kann eine bekannte Webanwendung ( ) Hunderte von Open-Source-Abhängigkeiten, Integrationen mit anderen Websites und mehrere Datenbanken unterschiedlicher Art haben und von mehr als einem Webserver an mehr als einem Ort bereitgestellt werden. Das sind die Arten von Webanwendungen, die du am erfolgreichsten ausnutzen kannst und auf die wir uns in diesem Buch konzentrieren werden.
Zusammenfassend lässt sich sagen, dass die heutigen Webanwendungen viel größer und komplexer sind als ihre Vorgänger. Als Hacker kannst du dich jetzt darauf konzentrieren, in Webanwendungen einzubrechen, indem du Logikfehler im Anwendungscode ausnutzt. Oft entstehen diese Fehler als Nebeneffekt einer erweiterten Benutzerinteraktion innerhalb der Webanwendung.
Die Hacker des letzten Jahrzehnts konzentrierten sich vor allem darauf, in Server, Netzwerke und Browser einzubrechen. Der moderne Hacker verbringt die meiste Zeit damit, in Webanwendungen einzubrechen, indem er Schwachstellen im Code ausnutzt.
Zusammenfassung
Die Ursprünge der Softwaresicherheit und die Ursprünge der Hacker, die versuchen, diese Sicherheit zu umgehen, liegen mindestens hundert Jahre zurück. Die heutige Software baut auf den Lektionen auf, die wir aus der Technologie der Vergangenheit gelernt haben, und das gilt auch für die Sicherheit dieser Software.
In der Vergangenheit hatten es Hacker anders auf Anwendungen abgesehen als heute. Während ein Teil des Anwendungsstapels immer sicherer wird, gehen Hacker dazu über, neue Technologien ins Visier zu nehmen. Diese neuen Technologien haben oft nicht dasselbe Maß an Sicherheitskontrollen eingebaut, und nur durch Versuch und Irrtum sind Ingenieure in der Lage, die richtigen Sicherheitskontrollen zu entwickeln und zu implementieren.
Ähnlich wie einfache Websites in der Vergangenheit mit Sicherheitslücken durchsetzt waren (insbesondere auf Server- und Netzwerkebene), bieten moderne Webanwendungen Angreifern neue Angriffsflächen, die aktiv genutzt werden. Dieser kurze historische Abriss ist wichtig, weil er deutlich macht, dass die heutigen Sicherheitsbedenken in Bezug auf Webanwendungen nur eine Phase in einem zyklischen Prozess sind. Die Webanwendungen der Zukunft werden sicherer sein, und die Hacker werden sich wahrscheinlich einer neuen Angriffsfläche zuwenden (z. B. RTC oder Web Sockets).
Tipp
Jede neue Technologie hat ihre eigene Angriffsfläche und Schwachstellen. Eine Möglichkeit, ein exzellenter Hacker zu werden, besteht darin, sich immer über die neuesten Technologien auf dem Laufenden zu halten - diese haben oft Sicherheitslücken, die noch nicht veröffentlicht oder im Internet gefunden wurden.
In der Zwischenzeit zeigt dir dieses Buch, wie du in moderne Webanwendungen einbrechen und sie sichern kannst. Aber moderne offensive und defensive Sicherheitstechniken sind nur eine Facette des Lernens, das du aus diesem Buch ziehen solltest. Letztlich ist die Fähigkeit, eigene Lösungen für Sicherheitsprobleme zu finden, die wertvollste Fähigkeit, die du als Sicherheitsexperte haben kannst. Wenn du aus den kommenden Kapiteln sicherheitsrelevante Fähigkeiten zum kritischen Denken und zur Problemlösung ableiten kannst, wirst du in der Lage sein, dich von deinen Mitstreitern abzuheben, wenn neue oder ungewöhnliche Exploits gefunden werden - oder wenn dir bisher unbekannte Sicherheitsmechanismen im Weg stehen.
Get Sicherheit von Webanwendungen now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.