Diese Arbeit betrachtet die Web-Komponenten: Asp.net Forms, MVC, SignalR und Web Api unter sicherheitskritischen Aspekten. Dabei werden zwei Ziele verfolgt: Zum einen sollen Verbesserungspotential und Sicherheitslücken aufgezeigt werden, und zum anderen soll der Leser in die Lage versetzt werden, seine Asp.net Anwendungen zu härten. Die Strukturierung der Arbeit orientiert sich an dem Aufbau des .Net Frameworks. Deswegen ist die Arbeit in zwei Abschnitte unterteilt. Der erste Abschnitt beschäftigt sich mit dem Asp.net Forms Framework. Dabei werden auch die grundlegenden Elemente im .Net Framework betrachtet. Der zweite Teil geht dann auf MVC, SignalR und die Web Api ein- Allerdings werden dort nur ergänzende Aspekte betrachtet. Der Grund ist, dass alle Technologien im Kern dieselben Komponenten des .Net Framework verwenden, welche schon im ersten Teil analysiert wurden. Der Leser erhält so einen umfassenden Einblick in die Sicherheitstechnologien von Microsoft und lernt sie praktisch zu nutzen. Da gerade der Praxisbezug bei dieser Arbeit im Vordergrund stand, sind alle Aussagen mit Beispielen und Schaubildern belegt.
Inhaltsverzeichnis
1 Einführung
1.1 Sicherheitsupdates
2 Allgemeines
2.1 Injektion
2.1.1 Request Validation Mode
2.1.2 AntiXss
2.1.3 Validator Controls
3 Authentifizierung
3.1 SSL
3.2 Web.config
3.3 ViewState
3.4 Cookies & Session
3.4.1 Cookieless
3.5 Bilder & CAPTCHA
3.6 Upload
3.7 Fehlerbehandlung
3.8 Logging
4 Code Access Security
5 Statische Variablen
6 Web API in Forms Websites
7 CSRF bei Web Api, Update Panel, Ajax und co.
8 Security Tools
8.1 Websiteverwaltungs‐Tool
8.2 UrlScan 3.1
8.3 Lens
9 Pragmatische ASP.MVC Sicherheit
9.1 Einleitung
9.2 Injektionen
9.3 Authentifizierung
9.3.1 OpenID & Oauth
9.3.2 Claims
9.4 XSRF/CSRF Prevention in ASP.NET MVC
9.5 SSL
9.6 Json
9.7 SignalR
9.7.1 Authentifizierung
9.7.2 Validation
9.8 Web API
9.8.1 Web API Pipeline
9.8.2 Authentifizierung in Web API
9.8.3 Firewalls umgehen
9.8.4 Caching Probleme
Zielsetzung & Themen
Diese Arbeit zielt darauf ab, Sicherheitslücken und Verbesserungspotenziale in ASP.NET-Webanwendungen (Forms, MVC, Web API, SignalR) aufzuzeigen und dem Leser praktische Strategien zur Härtung seiner Applikationen an die Hand zu geben.
- Analyse sicherheitskritischer Aspekte moderner .NET-Webtechnologien.
- Praktische Implementierung von Schutzmaßnahmen gegen Injektionsangriffe (z.B. XSS, CSRF).
- Optimierung der Authentifizierungs- und Autorisierungsmechanismen.
- Sichere Konfiguration von Systemkomponenten und Fehlerbehandlung.
Auszug aus dem Buch
2.1 Injektion
Eine der größten Gefahren für Websites sind Codeinjektions. Bei einem solchen Vorgang sind alle Schichten betroffen, die Code zur Laufzeit interpretieren, zum Beispiel: JavaScript, SQL, HTML... . Aufgrund der breiten Angriffsfläche und der enormen Verbreitung stuft die OWASP Injektionen als die größte Bedrohung für Websites ein. Ist ein Injektionsangriff erfolgreich, können die Auswirkungen von leicht bis schwer variieren. Deswegen ist es wichtig diese Art von Angriffen beim Design der Anwendung zu berücksichtigen. In ASP.NET wurde dies sogar schon noch früher gemacht, nämlich beim Design des DotNet Frameworks.
Zusammenfassung der Kapitel
1 Einführung: Bietet einen Überblick über die Notwendigkeit von Sicherheitsupdates für IIS und das .NET Framework.
2 Allgemeines: Behandelt grundlegende Sicherheitsaspekte wie Precompilation und Codeinjektions.
3 Authentifizierung: Erläutert Methoden zur sicheren Benutzeridentifizierung, inklusive Session- und Cookie-Schutz.
4 Code Access Security: Beschreibt die Konfiguration von Vertrauensebenen zur Einschränkung von Anwendungsrechten.
5 Statische Variablen: Warnt vor der Verwendung statischer Variablen im produktiven Einsatz aufgrund fehlender Threadsicherheit.
6 Web API in Forms Websites: Zeigt den Einsatz von Web API zur Verschleierung der internen Struktur und für sicherere Ressourcenbereitstellung.
7 CSRF bei Web Api, Update Panel, Ajax und co.: Analysiert Cross Site Request Forgery Angriffe und entsprechende Präventionsmaßnahmen.
8 Security Tools: Stellt offizielle Microsoft-Tools zur Sicherheitsüberprüfung und -verwaltung vor.
9 Pragmatische ASP.MVC Sicherheit: Überträgt die Sicherheitskonzepte auf das MVC-Framework unter besonderer Berücksichtigung von Filtern und Modellen.
Schlüsselwörter
ASP.NET, Sicherheit, Web API, SignalR, MVC, Injektion, XSS, CSRF, Authentifizierung, IIS, Web.config, ViewState, Härtung, .NET Framework, Sicherheitstipps
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Sicherheit von ASP.NET-basierten Webanwendungen, einschließlich Forms, MVC, Web API und SignalR, und zeigt auf, wie diese gegen Angriffe gehärtet werden können.
Was sind die zentralen Themenfelder der Arbeit?
Zentrale Themen sind der Schutz vor Codeinjektionen, sichere Authentifizierungsmethoden, der richtige Umgang mit Session- und ViewState-Daten sowie die Absicherung von Web-Schnittstellen (Web API) und Echtzeit-Kommunikation (SignalR).
Was ist das primäre Ziel oder die Forschungsfrage?
Das Ziel ist es, Sicherheitslücken aufzuzeigen und dem Leser praxisnahe Anleitungen sowie Code-Beispiele zur Verfügung zu stellen, um ASP.NET-Anwendungen effektiv abzusichern.
Welche wissenschaftliche Methode wurde verwendet?
Der Autor wählt einen praxisorientierten Ansatz: Er analysiert bestehende Schwachstellen der .NET-Technologien und belegt sämtliche Lösungsansätze und Empfehlungen mit konkreten Code-Beispielen und Schaubildern.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in zwei Abschnitte: Zunächst werden Sicherheitsmechanismen im ASP.NET Forms Framework beleuchtet (u.a. Injektion, Auth, Logging), danach folgen spezifische Aspekte für MVC, Web API und SignalR.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wesentliche Begriffe sind ASP.NET, Sicherheit, XSS, CSRF, Authentifizierung, .NET Framework, Härtung und Injektion.
Wie lassen sich Injektionsangriffe wie XSS in ASP.NET verhindern?
Durch den Einsatz von Request Validation, AntiXss-Encoder sowie spezialisierten Validator Controls, die Benutzereingaben filtern und kodieren.
Warum ist das Logging für die Sicherheit so wichtig?
Das Logging ermöglicht dem Administrator die Überwachung von Anwendungen, die Analyse von Performance-Statistiken und das frühzeitige Erkennen von sicherheitsrelevanten Vorfällen oder Fehlern.
- Quote paper
- Daniel Szameitat (Author), 2014, Praktische ASP.NET Forms, MVC, Web API & SignalR Sicherheitstipps, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/269004