Ich schreibe aus meinem Praxisalltag über Architekturentscheidungen, Application Security und den Umgang mit Komplexität.
Weitere Informationen:
‐ Softwarearchitektur & Architektur-Reviews
‐ Application Security & Secure SDLC
Fehlerhafte Autorisierung auf Anwendungsebene tritt auf, wenn geschützte Funktionen oder administrative Ressourcen ohne serverseitige Prüfung zugänglich sind, weshalb ein konsistentes Autorisationsmodell und die strikte Validierung jeder Benutzeranfrage auf dem Server unerlässlich sind.
Der Verlust der Vertraulichkeit sensibler Daten lässt sich durch den konsequenten Einsatz von HTTPS, den Verzicht auf unsichere "Mixed Mode"-Inhalte und eine starke kryptografische Abspeicherung in Datenbanken und Backups effektiv verhindern.
Die Integration von Zwei-Faktor-Authentifizierung mittels TOTP lässt sich nutzerfreundlich über QR-Codes realisieren, wobei die Sicherheit durch den Abgleich zeitgesteuerter Einmalpasswörter zwischen Server und Smartphone-App gewährleistet wird.
Die Generierung sequenzieller und kollisionsfreier IDs in verteilten Systemen lässt sich hocheffizient mit dem UniqueIdGenerator lösen, der nach dem Vorbild von Twitters Snowflake-Algorithmus 64-Bit-Zahlen aus Zeitstempel, Maschinen-ID und Sequenz kombiniert.
Die Sicherheit eines Passworts hängt nicht nur von seiner Länge ab, sondern massgeblich von seiner Entropie und der Unvorhersehbarkeit für Angreifer, was sich durch visuelle Feedback-Anzeigen und integrierte Passwort-Generatoren direkt im Registrierungsprozess massiv verbessern lässt.
Sicherheitsrelevante Fehlkonfigurationen in Betriebssystemen, Servern oder Bibliotheken wie ELMAH können Angreifern unfreiwillig tiefe Einblicke in Systeminterna gewähren, weshalb eine konsequente Härtung und das Deaktivieren unnötiger Debug-Schnittstellen für den Schutz Ihrer Anwendung unerlässlich sind.
Polly ist eine leistungsstarke .NET-Bibliothek, mit der sich die Widerstandsfähigkeit von Anwendungen durch Strategien wie Retry, Wait-and-Retry oder das Circuit-Breaker-Pattern mit nur wenigen Zeilen Code massiv erhöhen lässt.
HOTP und TOTP bieten als standardisierte Algorithmen für Einmalpasswörter eine bewährte Alternative zu Hardware-Tokens, indem sie entweder zählerbasiert oder zeitgesteuert sechsstellige Sicherheitscodes generieren, die bequem per App oder SMS genutzt werden können.
Die Kombination aus Benutzername und Passwort reicht heute oft nicht mehr aus, weshalb moderne Standards wie FIDO U2F durch den Einsatz physischer Sicherheitsschlüssel eine deutlich robustere Zwei-Faktor-Authentifizierung ermöglichen.
Unsichere direkte Objektreferenzen (IDOR) ermöglichen es Angreifern, durch einfaches Manipulieren von Parametern in der URL auf fremde Datensätze zuzugreifen, weshalb eine strikte Zugriffskontrolle in Kombination mit indirekten, zufälligen Referenzen für den Schutz sensibler Daten unerlässlich ist.
Token und Credential Cracking sind automatisierte Angriffe, bei denen Gutscheincodes oder Login-Daten massenhaft durchprobiert werden, um finanzielle Schäden zu verursachen oder Konten zu übernehmen – ein Risiko, das sich mittels Sliding Time Windows und Complex Event Processing (CEP) effektiv in Echtzeit überwachen lässt.
Cross-Site Scripting (XSS) ist eines der Top-Sicherheitsrisiken. Lesen Sie, wie Sie Ihre Webanwendung durch konsequente Validierung, kontextbasierte Encodierung und Sicherheits-Flags wie „HTTP only“ vor Schadcode schützen können.
Die sichere Speicherung von Benutzerkennwörtern erfordert den konsequenten Verzicht auf Klartext oder Verschlüsselung zugunsten moderner, gesalzener Hash-Verfahren wie PBKDF2, bcrypt oder scrypt.
Fehler in der Authentifizierung und im Session-Management ermöglichen es Angreifern, fremde Identitäten zu übernehmen, weshalb Sicherheitsmaßnahmen wie das Setzen von Secure- und HTTP-Only-Flags sowie ein durchdachter Passwort-Vergessen-Prozess für jede Webanwendung unverzichtbar sind.
Automatisierte Angriffe auf Webseiten lassen sich durch Complex Event Processing (CEP) und die .NET Reactive Extensions anhand ihrer typischen Verhaltensmuster in Echtzeit identifizieren und abwehren.
Injection-Angriffe, allen voran SQL Injection, gehören zu den gefährlichsten Sicherheitsrisiken und lassen sich durch den Einsatz von parametrisierten Abfragen und strikter Datentrennung effektiv unterbinden.