Bücher über Cybersicherheit: Anwendungssicherheit
Der Block für Entwickler: die Schwachstellen, die man selbst einbaut, und die Wege, sie nicht einzubauen.
Bücher über Cybersicherheit: Anwendungssicherheit
Teil fünf von neun. Der Block für Entwickler: die Schwachstellen, die man selbst einbaut, und die Wege, sie nicht einzubauen.
Praktisch die gesamte Liste lässt sich am Montagmorgen bei der Arbeit anwenden.
Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook (2. Auflage, 2011)
Ein dickes Nachschlagewerk zu Angriffen auf das Web. Zu modernen Frontends und APIs steht darin nichts, doch die Klassifikation der Schwachstellen und die Testmethodik bleiben die besten des Genres.
Themen: Mechanismen der Authentifizierung und Sitzungsverwaltung, Zugriffskontrolle, Injektionen aller Art, Angriffe auf die Anwendungslogik, Angriffe auf den Nutzer, Methodik für den vollständigen Durchgang durch eine Anwendung.
Michal Zalewski. The Tangled Web (2011)
Wie Browser tatsächlich funktionieren und warum das Sicherheitsmodell des Web genau so aussieht. Geschrieben von dem Mann, der diese Probleme gefunden hat.
Themen: Ursprünge und die Same-Origin-Regel, das DOM und seine Isolation, Cookies und ihre Grenzen, die Verarbeitung von Inhalten durch den Browser, Sicherheits-Header, aus den Neunzigern ererbte Mechanismen.
Malcolm McDonald. Web Security for Developers (2020)
Ein kompaktes, aktuelles Buch für alle, die Code schreiben statt fremden zu testen. Ein guter Einstieg vor den beiden vorherigen.
Themen: wie Browser und HTTP arbeiten, Injektionen, XSS und CSRF, sichere Speicherung von Passwörtern, Abhängigkeiten und deren Schwachstellen, Serverkonfiguration, Schutz vor automatisierten Angriffen.
Tanya Janca. Alice and Bob Learn Application Security (2020)
Darüber, Sicherheit in den Entwicklungsprozess einzubauen, statt sie als eigene Stufe vor dem Release zu behandeln.
Themen: Sicherheitsanforderungen und Entwurf, sicheres Programmieren, Tests und Werkzeuge in der Pipeline, Umgang mit Geheimnissen, die Kultur der Zusammenarbeit von Entwicklung und Sicherheit.
Adam Shostack. Threat Modeling: Designing for Security (2014)
Das einzige Buch, das lehrt, die Frage „was kann hier schiefgehen“ systematisch zu beantworten, bevor der Code geschrieben ist.
Themen: Datenflussdiagramme, die STRIDE-Methodik, Angriffsbäume, Priorisierung der gefundenen Bedrohungen, Einbindung der Bedrohungsmodellierung in den Arbeitsablauf.
Neil Madden. API Security in Action (2020)
API-Sicherheit von einfacher Authentifizierung bis zu verteilten Systemen, mit lauffähigem Code.
Themen: Authentifizierung und Autorisierung in APIs, Token und ihre Aufbewahrung, OAuth 2 und OpenID Connect, Begrenzung der Anfragerate, Sicherheit in Microservices und Kubernetes, gegenseitiges TLS.
Justin Richer, Antonio Sanso. OAuth 2 in Action (2017)
Das Protokoll von innen zerlegt: Die Autoren lassen einen Client, Autorisierungsserver und geschützte Ressource mit eigenen Händen bauen.
Themen: die OAuth-2-Abläufe und wann welcher passt, typische Implementierungsfehler auf Client- und Serverseite, Access- und Refresh-Token, JWT, der Zusammenhang mit OpenID Connect.
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano. Secure by Design (2019)
Die These des Buchs: Die meisten Schwachstellen entstehen aus schlechtem Domänenentwurf und nicht aus einer vergessenen Prüfung. Es zeigt, wie ein strenges Domänenmodell ganze Fehlerklassen beseitigt.
Themen: Typen statt Validierung, unveränderliche Objekte, Kontextgrenzen, Fehlerbehandlung, Sicherheit in Cloud- und verteilten Architekturen, Arbeit mit Altcode.
Nächster Teil: Verteidigung und Reaktion.
Die ganze Reihe: