Beschreibung
Architektur ist die Menge der riskanten bzw. schwierigen Entscheidungen. Oftmals müssen viele davon bereits zu Beginn eines Projektes getroffen werden und sind später schwer, wenn nicht sogar aus ökonomischer oder technischer Sicht unmöglich, zu ändern.
Insbesondere die Qualitätsmerkmale eines Systems werden von solchen schwierigen Entscheidungen geprägt. In der Regel ist es deutlich einfacher einen weiteren Anwendungsfall umzusetzen als z.B. die Performance drastisch zu verbessern oder die Bedienbarkeit spürbar zu steigern. Oder ein System abzusichern.
Im Gegensatz zu Sicherheitslücken, welche durch bloße Implementierungsfehler entstehen, sind Sicherheitslücken in der Architektur meist nur mit erheblichem Umstrukturierungsaufwand zu beheben, im schlimmsten Fall werden wesentliche Sicherheitskonzepts überhaupt nicht abgedeckt. Sicherheitslücken in der Implementierung, wie beispielsweise SQL Injection, Cross Site Scripting oder Buffer Overflow, lassen sich in der Regel leicht in einer „Version 1.1“ durch reine Code-Änderungen beheben. Hingegen kann nachlässiges Management von Identitäten und Privilegien beispielsweise nicht „mal eben so“ ausgebessert werden.
In dieser Schulung lernst du, wie du Sicherheitsaspekte beim Systementwurf von Anfang an berücksichtigst, ohne dabei „Big Design Up Front“ zu betreiben. Erfahre, wie Bedrohungen identifiziert und gemanagt werden können, und verstehe grundlegende Konzepte der Kryptographie, damit du für dein System sinnvolle und sichere Architekturentscheidungen treffen kannst.
Du wirst alles, was du theoretisch erlernst direkt in einem praktischen Beispiel anwenden. Im Verlauf der Schulung wirst du eine Architektur entwerfen, diese mittels Bedrohungsanalyse untersuchen und gegebenenfalls iterativ verbessern.