Sicherheit von C++-Anwendungen. Schutz des Codes vor Angriffen und Schwachstellen
Sicherheit von C++-Anwendungen. Schutz des Codes vor Angriffen und Schwachstellen
Zusammenfassung:
Moderne C++-Anwendungen sind mit zahlreichen Bedrohungen konfrontiert: vom klassischen Pufferüberlauf bis hin zu komplexen Angriffen auf die Speicherintegrität. Das Buch „Sicherheit von C++-Anwendungen“ ist ein praktischer Leitfaden, der Ihnen beibringt, Schwachstellen in allen Entwicklungsphasen zu erkennen, zu verhindern und zu beheben.
Der Autor, Alexei Sacharow, Senior-Entwickler mit 15 Jahren Erfahrung in den Bereichen Systemprogrammierung und Pentest, systematisiert die besten Praktiken für sicheres Programmieren. Sie erfahren, wie Hacker Schwachstellen in C++-Code ausnutzen und wie Sie einen zuverlässigen Schutz aufbauen.
Für wen ist dieses Buch?
- C++-Entwickler (Junior, Middle, Senior), die die Sicherheit ihrer Projekte verbessern möchten
- Team-Leads und Architekten, die für die Qualität der Codebasis verantwortlich sind
- Fachleute für Informationssicherheit, die sich mit dem Schutz auf Quellcode-Ebene befassen
- Studenten technischer Fachrichtungen, die sich vertieft mit C++ beschäftigen
Was werden Sie aus dem Buch lernen?
- Typische C++-Schwachstellen: Pufferüberlauf, Use-after-free, Double-Free, Datenrennen
- Sicherer Umgang mit Speicher: Regeln für die Verwendung von Smart Pointern (unique_ptr, shared_ptr), RAII und Vermeidung von Lecks
- Schutz vor Angriffen: ASLR, DEP, Stack Canaries, CFG (Control Flow Guard) und deren Implementierung in C++
- Sicherheit der Standardbibliothek: Wie man gefährliche Konstrukte in STL, Containern und Algorithmen vermeidet
- Statische und dynamische Analyse: Einrichtung von Clang Static Analyzer, PVS-Studio, AddressSanitizer, UndefinedBehaviorSanitizer
- Multithreading-Sicherheit: Mutexe, Lock-freie Strukturen, Vermeidung von Deadlocks und Datenrennen
- Sicherheits-Antipattern: Beispiele für anfälligen Code und deren Refactoring
- Sicherer Umgang mit externen Daten: Eingabevalidierung, Schutz vor SQL-Injection (falls C++ im Backend verwendet wird), XSS
Besonderheiten des Buches
- Über 50 reale Beispiele für anfälligen und geschützten Code
- Schritt-für-Schritt-Anleitungen zur Einrichtung von Analysetools
- Checklisten für Code-Review und Sicherheitsaudits
- Kapitel zu den modernen Standards C++17/20/23 und deren Sicherheitsfunktionen
- Betrachtung sowohl von Desktop-Anwendungen als auch von eingebetteten Systemen in C++
Dieses Buch wird Ihr Nachschlagewerk für sicheres Programmieren. Sie lernen nicht nur, Code zu schreiben, der gegen Angriffe resistent ist, sondern können auch Audits bestehender Projekte durchführen. Nach der Lektüre werden Sie in der Lage sein, Fragen in Vorstellungsgesprächen zur C++-Sicherheit souverän zu beantworten und Ihre Anwendungen vor den häufigsten Bedrohungen zu schützen.
Hinweis: Das Buch richtet sich an Praktiker. Alle Beispiele wurden mit aktuellen Compilern (GCC, Clang, MSVC) getestet und können sofort in der Praxis eingesetzt werden.