<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dennis+Moers</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dennis+Moers"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Dennis_Moers"/>
		<updated>2026-05-30T12:53:30Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen&amp;diff=127022</id>
		<title>Talk:OWASP Review BSI IT-Grundschutz Baustein Webanwendungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen&amp;diff=127022"/>
				<updated>2012-03-28T08:34:56Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis Moers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Since it's about a review of a document in German, all the discussions will be done in German :-)&lt;br /&gt;
&lt;br /&gt;
Diskussionen rund um den Review des &amp;quot;IT-Grundschutzbausteins Webanwendungen&amp;quot; finden hier statt, sinnvollerweise auf Deutsch :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorschlag für Kriterien, die an unser Review angelegt werden sollten (.kai) ==&lt;br /&gt;
&lt;br /&gt;
* Der Baustein soll alle wichtigen Themen der Entwicklung sicherer&lt;br /&gt;
Webanwendungen enthalten.&lt;br /&gt;
&lt;br /&gt;
* Der Baustein soll die verschiedenen Phasen der Software-Entwicklung&lt;br /&gt;
vollständig abdecken.&lt;br /&gt;
&lt;br /&gt;
* Der Baustein soll zwischen verbindlichen, prüfbaren Vorgaben und&lt;br /&gt;
unverbindlichen Empfehlungen sprachlich sauber unterscheiden (hier&lt;br /&gt;
spielt mein Auditorenblick eine Rolle). Vor allem soll der Baustein&lt;br /&gt;
verbindliche Anforderungen auch tatsächlich stellen. Alle&lt;br /&gt;
verbindlichen Anforderungen müssen unabhängig von der jeweiligen&lt;br /&gt;
Umgebung auch umsetzbar sein, d.h. sie müssen entsprechend generisch&lt;br /&gt;
sein.&lt;br /&gt;
&lt;br /&gt;
* Die Maßnahmen sollen nur in (begründbaren) Ausnahmen zu Empfehlungen&lt;br /&gt;
von OWASP im Widerspruch stehen.&lt;br /&gt;
&lt;br /&gt;
* Die Maßnahmen sollen verständlich und anwendbar sein.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Goldene Regeln&amp;quot; (Matthias) ==&lt;br /&gt;
&lt;br /&gt;
Hier meine Anmerkungen zu diesem Dokument:&lt;br /&gt;
&lt;br /&gt;
; 1. Für mich fehlende Punkte&lt;br /&gt;
* Korrektur der Ursache (Root Cause) von Schwachstellen statt  Verhinderung deren Ausnutzung&lt;br /&gt;
* Bezug auf Minimierung der Angriffsfläche und Least-Privilege-Prinzip&lt;br /&gt;
* Bezug auf Defense-in-Depth-Prinzip&lt;br /&gt;
* Verwendung von getesteten Security APIs (z.B. OWASP ESAPI) statt selbstentwickelter Funktionen&lt;br /&gt;
* Bezug auf Externalisierung von Sicherheitsfunktionen, sowie deklerative vor programmatischer Sicherheit.&lt;br /&gt;
&lt;br /&gt;
; 2. Begriff &amp;quot;Web-Anwendung&amp;quot;&lt;br /&gt;
Würde ich generell durch &amp;quot;Webanwendung&amp;quot; ersetzen.&lt;br /&gt;
&lt;br /&gt;
; 3. Einleitung (&amp;quot;Web-Anwendungen stellen Funktionalität zur Verfügung, ...&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Wozu dient dieser Satz?&lt;br /&gt;
&lt;br /&gt;
; 4. &amp;quot;Die Architektur der Web-Anwendung ist im Sicherheitskonzept zu  dokumentieren.....&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Ich fände es sinnvoller, wenn hier von der &amp;quot;Sicherheitsarchitektur&amp;quot; gesprochen wird, welche etwa neben den sicherheitsrelevanten Datenflüssen, sensible Komponenten, Entry Points, Akteure architekturelle Security Controls wie Authentisierung, Kryptographie und natürlich die Trust Boundaries beinhaltet.&lt;br /&gt;
&lt;br /&gt;
; 5. &amp;quot;Bei Web-Anwendungen handelt es sich häufig um spezielle Eigenentwicklungen....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Erstens würde ich hier den geläufigen Begriff &amp;quot;Individualsoftware&amp;quot; verwenden. Zweitens würde ich statt bestimmte SDLC-Phasen vorzugeben (die Begriffe &amp;quot;Softwareverteilung&amp;quot; und &amp;quot;Integration&amp;quot; sind mir bei Webanwendungen bisher noch nicht so häufig untergekommen), besser von der Notwendigkeit sprechen, Sicherheit in allen Entwicklungsphasen zu berücksichtigen, also eines SDLs.&lt;br /&gt;
&lt;br /&gt;
; 6. &amp;quot;Alle Ein- und Ausgaben der Web-Anwendung müssen in eine normalisierte Form überführt werden....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Normalisierung ist für mich nicht gleich Kanonsierung, auch wenn beide Begriffe häufig als synonym verwendet werden.  Der Unterschied wird in der [http://owasp-esapi-java.googlecode.com/svn/trunk_doc/2.0-rc4/org/owasp/esapi/Encoder.html API-Beschreibung der ESAPI] erklärt. Die Normalisierungs-Funktion ist allerdings schon vor einiger Zeit aus der ESAPI [https://lists.owasp.org/pipermail/esapi-dev/2010-January/000266.html rausgeflogen]. Die generelle Kanonisierung von Ausgaben halte ich dazu für nicht sinnvoll.&lt;br /&gt;
&lt;br /&gt;
Zweitens, finde ich den weiteren Text zwar grundsätzlich formal korrekt, aber so allgemein, dass dieser glaube ich niemandem so richtig etwas bringt.  &lt;br /&gt;
&lt;br /&gt;
Besser fände ich hier Ein- von Ausgabevalidierung grundsätzlich voneinander abzugrenzen. Etwa was ich per Eingabevalidierung (Längenprüfung, Casting, etc. per Whitelisting) und was mit Ausgebavalidierung (Enkodierung, Escaping, Parametrisierung) machen muss und kann.&lt;br /&gt;
&lt;br /&gt;
Eingabedaten können technisch zudem auch Werte eingelesener Property-Dateien sein. Muss ich die auch validieren? Ist das dann noch Grundschutz? &lt;br /&gt;
&lt;br /&gt;
; 7. &amp;quot;Für den Zugriff auf sensitive Funktionen oder Informationen muss die Web-Anwendung eine wirksame Authentisierung und Sitzungsverwaltung unterstützen. Die Eigenschaften der Sitzungs-ID müssen so gewählt werden, dass die Sitzung ausreichend geschützt ist. ....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Besser fände ich &amp;quot;eine Authentisierung, die über eine dem Schutzbedarf der Anwendung angemessene Stärke verfügt.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Eigentlich geht es doch mehr um den Schutz der Sitzungs-ID, da diese gewöhnlich im Verlauf einer Sitzung den Client authentisiert. Oder den Schutz des Zugriffs auf eine Sitzung. &lt;br /&gt;
&lt;br /&gt;
Zudem fehlt hier meiner Meinung nach der Hinweis auf die bevorzugte Verwendung getesteter Standardkomponenten.&lt;br /&gt;
&lt;br /&gt;
; 8. &amp;quot;Die Web-Anwendung sollte die zu übermittelnden Daten schützen.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dies würde ich nur auf sensible Daten beziehen. Zusätzlich zu HTTPS würde ich hier schreiben, dass sensible Daten generell nicht in der URL übertragen werden dürfen.&lt;br /&gt;
&lt;br /&gt;
; 9. &amp;quot;Die Preisgabe interner Informationen (z.B. Kommentare, Fehlermeldungen)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hier würde ich eher schreiben &amp;quot;(IN Kommentaren, Fehlermeldungen, HTTP Headern, etc.)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; 10. &amp;quot;Fehler müssen so behandelt werden, ... müssen Fehler bei der Autorisierung zu einer Verweigerung beim Zugriff auf die angeforderte Ressource führen.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sprachlich: &amp;quot;Die Webanwendung muss sich stets in einem sicheren Zustand befinden. Beispielsweise müssen Fehler bei der Autorisierung zu einer Verweigerung des Zugriffs führen (Default-Deny-Strategie).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; 11. &amp;quot;Die Logging-Funktionen der Web-Anwendung müssen aufgetretene Ereignisse derart protokollieren, dass sicherheitskritische Vorfälle nachvollzogen werden können.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hier würde hier eher von &amp;quot;allen sicherheitsrelevanten Ereignissen&amp;quot; sprechen.&lt;br /&gt;
&lt;br /&gt;
Weiterhin sollten insbesondere beim Logging der Datenschutz berücksichtigt werden, personenbezogene Daten also nach Möglichkeit nicht oder nur anonymisiert in technischen Logdateien protokolliert werden.&lt;br /&gt;
&lt;br /&gt;
; 12. &amp;quot;Alle Sicherheitsmechanismen (z.B. Authentisierung und Zugriffskontrolle) sind serverseitig zu implementieren und können nicht durch clientseitige Mechanismen ersetzt werden.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die Aussage ist so nicht korrekt. Darüber hatten wir bereits bei der ASVS mehrfach diskutiert. &lt;br /&gt;
&lt;br /&gt;
Überall dort wo der Client angegriffen wird, also etwa bei RIAs (Stichwort DOM-Based XSS) müssen wir Security Controls clientseitig implementieren. Es gibt mittlerweile deshalb auch eine Portierung der ESAPI auf Javascript. Überall dort wo der Server oder Hintegrundsysteme angegriffen werden, ist die Aussage aber natürlich zutreffend.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Gefährdungen&amp;quot; (Markus, Dennis, .... &amp;lt;Dein Name&amp;gt;) ==&lt;br /&gt;
; Generell:&lt;br /&gt;
Reference auf RFCs fehlen.&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
; Wortwahl:&lt;br /&gt;
Ich stosse innerhalb der Texte immer wieder an die Worten '''Hintergrundsystem''' und '''Sicherheitskontext'''.&lt;br /&gt;
'''Hintergrundsystem:''' besseres Synonym?&lt;br /&gt;
'''Sicherheitskontext:''' nur weil es in den Texten um Sicherheit geht muss nicht an jeder Stelle immer wieder das Wort _Sicherheits_kontext eingebaut werden.&lt;br /&gt;
Bsp: &amp;quot;Erlangt ein Angreifer Kenntnis von einer solchen gültigen, aber nicht mehr genutzten SessionID, so kann er die Web-Anwendung im Sicherheitskontext des nicht abgemeldeten Benutzers weiter verwenden.&amp;quot; (G 5,WA12 Unzureichendes Session-Management von Web-Anwendungen)&lt;br /&gt;
Verbesserungsansansatz: ... so kann er die Web-Anwendung anstelle des eigentlichen Besitzers weiterhin verwenden.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G 2.WA01 Mangelhafte Auswahl oder Konzeption von Web-Anwendungen&amp;quot; (Matthias) ==&lt;br /&gt;
&lt;br /&gt;
Nachdem ich mir diese Gefährdung durchgelesen hatte, fehlten mir ehrlich gesagt etwas die Worte. Nicht nur, dass hier fast jeder zweite Satz entweder falsch ist bzw. massive Fehler enthält oder ich diesen schlicht nicht verstehe, ist der ganze Text sprachlich wirklich enorm verbesserungsfähig. &lt;br /&gt;
&lt;br /&gt;
Na gut, ich konzentriere mich mal auf die fachlichen Punkte:&lt;br /&gt;
&lt;br /&gt;
; 1. Security Controls&lt;br /&gt;
Werden mal mit &amp;quot;Schutzmechanismen&amp;quot;, mal mit &amp;quot;Sicherheitskomponenten&amp;quot; und dann wieder als &amp;quot;Sicherheitsfunktionen&amp;quot; bezeichnet. Hier macht eine einheitliche Benennung sicherlich Sinn und ist weniger verwirrend.&lt;br /&gt;
&lt;br /&gt;
; 2. &amp;quot;Eine Web-Anwendung ist in der Regel ein verteiltes, komplexes System bestehend aus unterschiedlichen Komponenten (z. B. Webserver, Applikationsserver, Hintergrundsysteme)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Eine Webanwendung besteht sicher nicht aus einem Webserver- oder anderer infrastruktureller Komponenten, sondern ist Software welches diese nutzt.&lt;br /&gt;
&lt;br /&gt;
; 3. &amp;quot;Bei individuell entwickelten Web-Anwendungen sind im Allgemeinen die Frameworks, Komponenten und Schnittstellen im Rahmen der Konzeption auszuwählen und deren Einbindung und Absicherung zu betrachten....Im Gegensatz dazu ist bei der Konzeption von Web-Anwendungen auf Basis von Standardsoftware insbesondere auf die Auswahl der Software und die Konfiguration der Teilkomponenten zu achten&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wir unterscheiden im Rahmen von Webanwendungen eigentlich Free or Opensource Software (FOSS bzw. FLOSS), Standardsoftware und Individualsoftware voneinander. Wir unterscheiden nicht Frameworks von Standardsoftware. Frameworks können Teil von Standardsoftware sein, wie etwa bei SharePoint, SAP, etc, oder aber FOSS, wie etwa Spring. Die ganzen Absätze machen für mich daher keinen Sinn.&lt;br /&gt;
&lt;br /&gt;
; 4. &amp;quot;Eine Sicherheitsfunktion (z. B. Authentisierung, Autorisierung) wird nicht an einer Stelle umgesetzt und verwendet, sondern ist mehrfach in der Web- Anwendung realisiert. Wird diese Sicherheitsfunktion an den verschiedenen Stellen unterschiedlich umgesetzt, führt dies zu einem uneinheitlichen Sicherheitsniveau.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Natürlich ist die mehrfache Verwendung bestimmter Security Controls, beispielsweise von Zugriffskontrollen (Complete-Mediation) oder Validierung (Robustheit) erstrebenswert. Was der Autor hier wahrscheinlich meinte, war die Notwendigkeit diese zu Kapseln bzw. zu Externalisieren. Das bezieht sich im übrigen nicht nur auf die Controls selbst, sondern auch auf ihre Parametrisierung (etwa. über Konfigdateien / XACML).&lt;br /&gt;
&lt;br /&gt;
Wichtiger wäre in diesem Zusammenhang zudem die fehlende Berücksichtigung bestimmter Security Controls.&lt;br /&gt;
&lt;br /&gt;
; 5. &amp;quot;Auswahl von Web-Anwendungen auf Basis von Standardsoftware&amp;quot;&lt;br /&gt;
Was will der Satz sagen? Ich wähle Standardsoftware aus, aber doch keine Webanwendungen. Oder heißt das, ich kaufe eine existierende Anwendung ein (Webanwendung!=Indivudualsoftware)? &lt;br /&gt;
&lt;br /&gt;
; 6. &amp;quot;Das ausgewählte Produkt verfügt nicht über die ausreichende Sicherheitsfunktionalität, ... Daher müssen die notwendigen Schutzmechanismen nachträglich hinzugefügt werden, wodurch zusätzliche Aufwände entstehen.&amp;quot;&lt;br /&gt;
Das ist etwas sehr positiv formuliert. Tatsächlich können fehlende Security Controls in zugekaufter Software (insb. Standardsoftware) in der Realität häufig gar nicht hinzugefügt werden oder nur perimetrisch (z.B. per WAF oder Access Gateway).&lt;br /&gt;
&lt;br /&gt;
; 7. &amp;quot;Die Hintergrundsysteme werden unzureichend abgesichert und dadurch ist die Datenbank der Web-Anwendung aus dem Internet erreichbar.&amp;quot;&lt;br /&gt;
Gehören fehlende Netzwerksegmentierung bzw. Firewallregeln wirklich in diesen Kontext? Das ist doch eigentlich Grundschutz der Infrastruktur, oder?&lt;br /&gt;
&lt;br /&gt;
; 8. &amp;quot;Aufgrund schwacher Parameter in der Konfiguration des Frameworks zum Session-Management werden unsichere SessionIDs erzeugt.&amp;quot;&lt;br /&gt;
Was sind &amp;quot;schwache&amp;quot; Parameter?&lt;br /&gt;
&lt;br /&gt;
Welches Framework erlaubt unsichere SessionIDs durch eine &amp;quot;schwache&amp;quot; Konfiguration zu erzeugen?&lt;br /&gt;
&lt;br /&gt;
; 9. &amp;quot;Wird die Konfiguration des Web-Browsers durch einen Angreifer manipuliert, können die clientseitig umgesetzten&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manipuliert ein Angreifer die Konfguration seines Webbroswers, wenn er einen MITM-Proxy konfiguriert?&lt;br /&gt;
&lt;br /&gt;
Wie bereits bei den &amp;quot;Goldenen Regeln&amp;quot; angemerkt, gilt auch hier, das manche Security Controls auch clientseitig umgesetzt werden dürfen (etwa. zur Verhinderung von Dom-Based XSS).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G 5.WA10 Fehler in der Web-Anwendungslogik&amp;quot; (Dennis) ==&lt;br /&gt;
; 1. &amp;quot;Damit kann aufgrund der Prüfreihenfolge ein hoher Ressourcenverbrauch provoziert werden, der für Denial-of-Service-Angriffe ausgenutzt werden kann.&amp;quot;&lt;br /&gt;
Meiner Meinung nach passt in diesem Kontext die Attacke DoS nicht ganz. Falls die nachfolgende Funktionalität wegen der langen Ausführungszeit der Filterkomponente übersprungen wird bzw. ein Fehler auftritt würde dies meiner Ansicht in die Thematik Anwendungslogik passen. Eine DoS-Attacke kann hingegen anhand jeder Funktion durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G 5.WA11 Umgehung clientseitig umgesetzter Sicherheitsfunktionen von Web-Anwendungen&amp;quot; (Dennis) ==&lt;br /&gt;
; 1. &amp;quot;Ein Angreifer kann diese ausnutzen, um beispielsweise unbefugt Befehle an Hintergrundsysteme der Web-Anwendung zu übermittlen (z.B. in Form von Datenbankanfragen bei einer SQL-Injection).&amp;quot;&lt;br /&gt;
Umformulierung des Inhalts der Klammer. Hatte beim ersten Lesen für mich den Anschein, als ob ein Formular genutzt werden könnte welches den Nutzer aufforder eine SQLI einzugeben. Ich denke &amp;quot;Datenbankanfrage zwecks Ausführung einer SQL-Injection&amp;quot; würde besser passen.&lt;/div&gt;</summary>
		<author><name>Dennis Moers</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen&amp;diff=127021</id>
		<title>Talk:OWASP Review BSI IT-Grundschutz Baustein Webanwendungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen&amp;diff=127021"/>
				<updated>2012-03-28T08:33:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis Moers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Since it's about a review of a document in German, all the discussions will be done in German :-)&lt;br /&gt;
&lt;br /&gt;
Diskussionen rund um den Review des &amp;quot;IT-Grundschutzbausteins Webanwendungen&amp;quot; finden hier statt, sinnvollerweise auf Deutsch :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorschlag für Kriterien, die an unser Review angelegt werden sollten (.kai) ==&lt;br /&gt;
&lt;br /&gt;
* Der Baustein soll alle wichtigen Themen der Entwicklung sicherer&lt;br /&gt;
Webanwendungen enthalten.&lt;br /&gt;
&lt;br /&gt;
* Der Baustein soll die verschiedenen Phasen der Software-Entwicklung&lt;br /&gt;
vollständig abdecken.&lt;br /&gt;
&lt;br /&gt;
* Der Baustein soll zwischen verbindlichen, prüfbaren Vorgaben und&lt;br /&gt;
unverbindlichen Empfehlungen sprachlich sauber unterscheiden (hier&lt;br /&gt;
spielt mein Auditorenblick eine Rolle). Vor allem soll der Baustein&lt;br /&gt;
verbindliche Anforderungen auch tatsächlich stellen. Alle&lt;br /&gt;
verbindlichen Anforderungen müssen unabhängig von der jeweiligen&lt;br /&gt;
Umgebung auch umsetzbar sein, d.h. sie müssen entsprechend generisch&lt;br /&gt;
sein.&lt;br /&gt;
&lt;br /&gt;
* Die Maßnahmen sollen nur in (begründbaren) Ausnahmen zu Empfehlungen&lt;br /&gt;
von OWASP im Widerspruch stehen.&lt;br /&gt;
&lt;br /&gt;
* Die Maßnahmen sollen verständlich und anwendbar sein.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Goldene Regeln&amp;quot; (Matthias) ==&lt;br /&gt;
&lt;br /&gt;
Hier meine Anmerkungen zu diesem Dokument:&lt;br /&gt;
&lt;br /&gt;
; 1. Für mich fehlende Punkte&lt;br /&gt;
* Korrektur der Ursache (Root Cause) von Schwachstellen statt  Verhinderung deren Ausnutzung&lt;br /&gt;
* Bezug auf Minimierung der Angriffsfläche und Least-Privilege-Prinzip&lt;br /&gt;
* Bezug auf Defense-in-Depth-Prinzip&lt;br /&gt;
* Verwendung von getesteten Security APIs (z.B. OWASP ESAPI) statt selbstentwickelter Funktionen&lt;br /&gt;
* Bezug auf Externalisierung von Sicherheitsfunktionen, sowie deklerative vor programmatischer Sicherheit.&lt;br /&gt;
&lt;br /&gt;
; 2. Begriff &amp;quot;Web-Anwendung&amp;quot;&lt;br /&gt;
Würde ich generell durch &amp;quot;Webanwendung&amp;quot; ersetzen.&lt;br /&gt;
&lt;br /&gt;
; 3. Einleitung (&amp;quot;Web-Anwendungen stellen Funktionalität zur Verfügung, ...&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Wozu dient dieser Satz?&lt;br /&gt;
&lt;br /&gt;
; 4. &amp;quot;Die Architektur der Web-Anwendung ist im Sicherheitskonzept zu  dokumentieren.....&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Ich fände es sinnvoller, wenn hier von der &amp;quot;Sicherheitsarchitektur&amp;quot; gesprochen wird, welche etwa neben den sicherheitsrelevanten Datenflüssen, sensible Komponenten, Entry Points, Akteure architekturelle Security Controls wie Authentisierung, Kryptographie und natürlich die Trust Boundaries beinhaltet.&lt;br /&gt;
&lt;br /&gt;
; 5. &amp;quot;Bei Web-Anwendungen handelt es sich häufig um spezielle Eigenentwicklungen....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Erstens würde ich hier den geläufigen Begriff &amp;quot;Individualsoftware&amp;quot; verwenden. Zweitens würde ich statt bestimmte SDLC-Phasen vorzugeben (die Begriffe &amp;quot;Softwareverteilung&amp;quot; und &amp;quot;Integration&amp;quot; sind mir bei Webanwendungen bisher noch nicht so häufig untergekommen), besser von der Notwendigkeit sprechen, Sicherheit in allen Entwicklungsphasen zu berücksichtigen, also eines SDLs.&lt;br /&gt;
&lt;br /&gt;
; 6. &amp;quot;Alle Ein- und Ausgaben der Web-Anwendung müssen in eine normalisierte Form überführt werden....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Normalisierung ist für mich nicht gleich Kanonsierung, auch wenn beide Begriffe häufig als synonym verwendet werden.  Der Unterschied wird in der [http://owasp-esapi-java.googlecode.com/svn/trunk_doc/2.0-rc4/org/owasp/esapi/Encoder.html API-Beschreibung der ESAPI] erklärt. Die Normalisierungs-Funktion ist allerdings schon vor einiger Zeit aus der ESAPI [https://lists.owasp.org/pipermail/esapi-dev/2010-January/000266.html rausgeflogen]. Die generelle Kanonisierung von Ausgaben halte ich dazu für nicht sinnvoll.&lt;br /&gt;
&lt;br /&gt;
Zweitens, finde ich den weiteren Text zwar grundsätzlich formal korrekt, aber so allgemein, dass dieser glaube ich niemandem so richtig etwas bringt.  &lt;br /&gt;
&lt;br /&gt;
Besser fände ich hier Ein- von Ausgabevalidierung grundsätzlich voneinander abzugrenzen. Etwa was ich per Eingabevalidierung (Längenprüfung, Casting, etc. per Whitelisting) und was mit Ausgebavalidierung (Enkodierung, Escaping, Parametrisierung) machen muss und kann.&lt;br /&gt;
&lt;br /&gt;
Eingabedaten können technisch zudem auch Werte eingelesener Property-Dateien sein. Muss ich die auch validieren? Ist das dann noch Grundschutz? &lt;br /&gt;
&lt;br /&gt;
; 7. &amp;quot;Für den Zugriff auf sensitive Funktionen oder Informationen muss die Web-Anwendung eine wirksame Authentisierung und Sitzungsverwaltung unterstützen. Die Eigenschaften der Sitzungs-ID müssen so gewählt werden, dass die Sitzung ausreichend geschützt ist. ....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Besser fände ich &amp;quot;eine Authentisierung, die über eine dem Schutzbedarf der Anwendung angemessene Stärke verfügt.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Eigentlich geht es doch mehr um den Schutz der Sitzungs-ID, da diese gewöhnlich im Verlauf einer Sitzung den Client authentisiert. Oder den Schutz des Zugriffs auf eine Sitzung. &lt;br /&gt;
&lt;br /&gt;
Zudem fehlt hier meiner Meinung nach der Hinweis auf die bevorzugte Verwendung getesteter Standardkomponenten.&lt;br /&gt;
&lt;br /&gt;
; 8. &amp;quot;Die Web-Anwendung sollte die zu übermittelnden Daten schützen.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dies würde ich nur auf sensible Daten beziehen. Zusätzlich zu HTTPS würde ich hier schreiben, dass sensible Daten generell nicht in der URL übertragen werden dürfen.&lt;br /&gt;
&lt;br /&gt;
; 9. &amp;quot;Die Preisgabe interner Informationen (z.B. Kommentare, Fehlermeldungen)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hier würde ich eher schreiben &amp;quot;(IN Kommentaren, Fehlermeldungen, HTTP Headern, etc.)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; 10. &amp;quot;Fehler müssen so behandelt werden, ... müssen Fehler bei der Autorisierung zu einer Verweigerung beim Zugriff auf die angeforderte Ressource führen.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sprachlich: &amp;quot;Die Webanwendung muss sich stets in einem sicheren Zustand befinden. Beispielsweise müssen Fehler bei der Autorisierung zu einer Verweigerung des Zugriffs führen (Default-Deny-Strategie).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; 11. &amp;quot;Die Logging-Funktionen der Web-Anwendung müssen aufgetretene Ereignisse derart protokollieren, dass sicherheitskritische Vorfälle nachvollzogen werden können.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hier würde hier eher von &amp;quot;allen sicherheitsrelevanten Ereignissen&amp;quot; sprechen.&lt;br /&gt;
&lt;br /&gt;
Weiterhin sollten insbesondere beim Logging der Datenschutz berücksichtigt werden, personenbezogene Daten also nach Möglichkeit nicht oder nur anonymisiert in technischen Logdateien protokolliert werden.&lt;br /&gt;
&lt;br /&gt;
; 12. &amp;quot;Alle Sicherheitsmechanismen (z.B. Authentisierung und Zugriffskontrolle) sind serverseitig zu implementieren und können nicht durch clientseitige Mechanismen ersetzt werden.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die Aussage ist so nicht korrekt. Darüber hatten wir bereits bei der ASVS mehrfach diskutiert. &lt;br /&gt;
&lt;br /&gt;
Überall dort wo der Client angegriffen wird, also etwa bei RIAs (Stichwort DOM-Based XSS) müssen wir Security Controls clientseitig implementieren. Es gibt mittlerweile deshalb auch eine Portierung der ESAPI auf Javascript. Überall dort wo der Server oder Hintegrundsysteme angegriffen werden, ist die Aussage aber natürlich zutreffend.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Gefährdungen&amp;quot; (Markus, .... &amp;lt;Dein Name&amp;gt;) ==&lt;br /&gt;
; Generell:&lt;br /&gt;
Reference auf RFCs fehlen.&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G * Allgemein&amp;quot; (Dennis) ==&lt;br /&gt;
Ich stosse innerhalb der Texte immer wieder an die Worten '''Hintergrundsystem''' und '''Sicherheitskontext'''.&lt;br /&gt;
'''Hintergrundsystem:''' besseres Synonym?&lt;br /&gt;
'''Sicherheitskontext:''' nur weil es in den Texten um Sicherheit geht muss nicht an jeder Stelle immer wieder das Wort _Sicherheits_kontext eingebaut werden.&lt;br /&gt;
Bsp: &amp;quot;Erlangt ein Angreifer Kenntnis von einer solchen gültigen, aber nicht mehr genutzten SessionID, so kann er die Web-Anwendung im Sicherheitskontext des nicht abgemeldeten Benutzers weiter verwenden.&amp;quot; (G 5,WA12 Unzureichendes Session-Management von Web-Anwendungen)&lt;br /&gt;
Verbesserungsansansatz: ... so kann er die Web-Anwendung anstelle des eigentlichen Besitzers weiterhin verwenden.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G 2.WA01 Mangelhafte Auswahl oder Konzeption von Web-Anwendungen&amp;quot; (Matthias) ==&lt;br /&gt;
&lt;br /&gt;
Nachdem ich mir diese Gefährdung durchgelesen hatte, fehlten mir ehrlich gesagt etwas die Worte. Nicht nur, dass hier fast jeder zweite Satz entweder falsch ist bzw. massive Fehler enthält oder ich diesen schlicht nicht verstehe, ist der ganze Text sprachlich wirklich enorm verbesserungsfähig. &lt;br /&gt;
&lt;br /&gt;
Na gut, ich konzentriere mich mal auf die fachlichen Punkte:&lt;br /&gt;
&lt;br /&gt;
; 1. Security Controls&lt;br /&gt;
Werden mal mit &amp;quot;Schutzmechanismen&amp;quot;, mal mit &amp;quot;Sicherheitskomponenten&amp;quot; und dann wieder als &amp;quot;Sicherheitsfunktionen&amp;quot; bezeichnet. Hier macht eine einheitliche Benennung sicherlich Sinn und ist weniger verwirrend.&lt;br /&gt;
&lt;br /&gt;
; 2. &amp;quot;Eine Web-Anwendung ist in der Regel ein verteiltes, komplexes System bestehend aus unterschiedlichen Komponenten (z. B. Webserver, Applikationsserver, Hintergrundsysteme)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Eine Webanwendung besteht sicher nicht aus einem Webserver- oder anderer infrastruktureller Komponenten, sondern ist Software welches diese nutzt.&lt;br /&gt;
&lt;br /&gt;
; 3. &amp;quot;Bei individuell entwickelten Web-Anwendungen sind im Allgemeinen die Frameworks, Komponenten und Schnittstellen im Rahmen der Konzeption auszuwählen und deren Einbindung und Absicherung zu betrachten....Im Gegensatz dazu ist bei der Konzeption von Web-Anwendungen auf Basis von Standardsoftware insbesondere auf die Auswahl der Software und die Konfiguration der Teilkomponenten zu achten&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wir unterscheiden im Rahmen von Webanwendungen eigentlich Free or Opensource Software (FOSS bzw. FLOSS), Standardsoftware und Individualsoftware voneinander. Wir unterscheiden nicht Frameworks von Standardsoftware. Frameworks können Teil von Standardsoftware sein, wie etwa bei SharePoint, SAP, etc, oder aber FOSS, wie etwa Spring. Die ganzen Absätze machen für mich daher keinen Sinn.&lt;br /&gt;
&lt;br /&gt;
; 4. &amp;quot;Eine Sicherheitsfunktion (z. B. Authentisierung, Autorisierung) wird nicht an einer Stelle umgesetzt und verwendet, sondern ist mehrfach in der Web- Anwendung realisiert. Wird diese Sicherheitsfunktion an den verschiedenen Stellen unterschiedlich umgesetzt, führt dies zu einem uneinheitlichen Sicherheitsniveau.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Natürlich ist die mehrfache Verwendung bestimmter Security Controls, beispielsweise von Zugriffskontrollen (Complete-Mediation) oder Validierung (Robustheit) erstrebenswert. Was der Autor hier wahrscheinlich meinte, war die Notwendigkeit diese zu Kapseln bzw. zu Externalisieren. Das bezieht sich im übrigen nicht nur auf die Controls selbst, sondern auch auf ihre Parametrisierung (etwa. über Konfigdateien / XACML).&lt;br /&gt;
&lt;br /&gt;
Wichtiger wäre in diesem Zusammenhang zudem die fehlende Berücksichtigung bestimmter Security Controls.&lt;br /&gt;
&lt;br /&gt;
; 5. &amp;quot;Auswahl von Web-Anwendungen auf Basis von Standardsoftware&amp;quot;&lt;br /&gt;
Was will der Satz sagen? Ich wähle Standardsoftware aus, aber doch keine Webanwendungen. Oder heißt das, ich kaufe eine existierende Anwendung ein (Webanwendung!=Indivudualsoftware)? &lt;br /&gt;
&lt;br /&gt;
; 6. &amp;quot;Das ausgewählte Produkt verfügt nicht über die ausreichende Sicherheitsfunktionalität, ... Daher müssen die notwendigen Schutzmechanismen nachträglich hinzugefügt werden, wodurch zusätzliche Aufwände entstehen.&amp;quot;&lt;br /&gt;
Das ist etwas sehr positiv formuliert. Tatsächlich können fehlende Security Controls in zugekaufter Software (insb. Standardsoftware) in der Realität häufig gar nicht hinzugefügt werden oder nur perimetrisch (z.B. per WAF oder Access Gateway).&lt;br /&gt;
&lt;br /&gt;
; 7. &amp;quot;Die Hintergrundsysteme werden unzureichend abgesichert und dadurch ist die Datenbank der Web-Anwendung aus dem Internet erreichbar.&amp;quot;&lt;br /&gt;
Gehören fehlende Netzwerksegmentierung bzw. Firewallregeln wirklich in diesen Kontext? Das ist doch eigentlich Grundschutz der Infrastruktur, oder?&lt;br /&gt;
&lt;br /&gt;
; 8. &amp;quot;Aufgrund schwacher Parameter in der Konfiguration des Frameworks zum Session-Management werden unsichere SessionIDs erzeugt.&amp;quot;&lt;br /&gt;
Was sind &amp;quot;schwache&amp;quot; Parameter?&lt;br /&gt;
&lt;br /&gt;
Welches Framework erlaubt unsichere SessionIDs durch eine &amp;quot;schwache&amp;quot; Konfiguration zu erzeugen?&lt;br /&gt;
&lt;br /&gt;
; 9. &amp;quot;Wird die Konfiguration des Web-Browsers durch einen Angreifer manipuliert, können die clientseitig umgesetzten&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manipuliert ein Angreifer die Konfguration seines Webbroswers, wenn er einen MITM-Proxy konfiguriert?&lt;br /&gt;
&lt;br /&gt;
Wie bereits bei den &amp;quot;Goldenen Regeln&amp;quot; angemerkt, gilt auch hier, das manche Security Controls auch clientseitig umgesetzt werden dürfen (etwa. zur Verhinderung von Dom-Based XSS).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G 5.WA10 Fehler in der Web-Anwendungslogik&amp;quot; (Dennis) ==&lt;br /&gt;
; 1. &amp;quot;Damit kann aufgrund der Prüfreihenfolge ein hoher Ressourcenverbrauch provoziert werden, der für Denial-of-Service-Angriffe ausgenutzt werden kann.&amp;quot;&lt;br /&gt;
Meiner Meinung nach passt in diesem Kontext die Attacke DoS nicht ganz. Falls die nachfolgende Funktionalität wegen der langen Ausführungszeit der Filterkomponente übersprungen wird bzw. ein Fehler auftritt würde dies meiner Ansicht in die Thematik Anwendungslogik passen. Eine DoS-Attacke kann hingegen anhand jeder Funktion durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;G 5.WA11 Umgehung clientseitig umgesetzter Sicherheitsfunktionen von Web-Anwendungen&amp;quot; (Dennis) ==&lt;br /&gt;
; 1. &amp;quot;Ein Angreifer kann diese ausnutzen, um beispielsweise unbefugt Befehle an Hintergrundsysteme der Web-Anwendung zu übermittlen (z.B. in Form von Datenbankanfragen bei einer SQL-Injection).&amp;quot;&lt;br /&gt;
Umformulierung des Inhalts der Klammer. Hatte beim ersten Lesen für mich den Anschein, als ob ein Formular genutzt werden könnte welches den Nutzer aufforder eine SQLI einzugeben. Ich denke &amp;quot;Datenbankanfrage zwecks Ausführung einer SQL-Injection&amp;quot; würde besser passen.&lt;/div&gt;</summary>
		<author><name>Dennis Moers</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen&amp;diff=127017</id>
		<title>OWASP Review BSI IT-Grundschutz Baustein Webanwendungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen&amp;diff=127017"/>
				<updated>2012-03-28T07:54:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis Moers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OWASP_Project|OWASP Review BSI IT-Grundschutz Baustein Webanwendungen]]&lt;br /&gt;
==Mailing-List, Coordination and Contact==&lt;br /&gt;
If you want to become a part of the OWASP review team, please subscribe to the mailing list [https://lists.owasp.org/mailman/listinfo/bsi-webbaustein-review https://lists.owasp.org/mailman/listinfo/bsi-webbaustein-review]. It is not necessary to be a member to volunteer, of course :-)&lt;br /&gt;
&lt;br /&gt;
The contact the coordinating team please mail to [mailto:bsi-webbaustein@owasp.de bsi-webbaustein@owasp.de] or contact the project leader  [mailto:ralf.reinhardt@owasp.org Ralf] [[User:Ralf Reinhardt|Reinhardt]]&lt;br /&gt;
&lt;br /&gt;
This is a project of the [[Germany | OWASP German Chapter]].&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
Technical review of the module web application&lt;br /&gt;
(&amp;quot;Baustein Webanwendungen&amp;quot;) of the IT-baseline protection catalog (&amp;quot;IT&lt;br /&gt;
Grundschutz Katalog&amp;quot;) of the German Federal Office for Information&lt;br /&gt;
Security (&amp;quot;BSI&amp;quot;) from the OWASP's point of view.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The German &amp;quot;Federal Office for Information Security&amp;quot; (BSI), which is&lt;br /&gt;
comparable to departments focused on security in organizations like NIST&lt;br /&gt;
or CCTA, offers the IT Baseline Protection (&amp;quot;IT-Grundschutz&amp;quot;) for public&lt;br /&gt;
usage, which is based on ISO/IEC 27001. The IT Baseline Protection&lt;br /&gt;
include a catalog of approx. 80 &amp;quot;Bausteine&amp;quot; (building blocks). Those&lt;br /&gt;
blocks are dealing with one particular subject of IT security. They are&lt;br /&gt;
usually written in the German language and later translated to English.&lt;br /&gt;
They become the de facto standard for IT security and related&lt;br /&gt;
certifications in Germany after they are finally released.&lt;br /&gt;
&lt;br /&gt;
In January 2012 the draft of the block &amp;quot;Webanwendungen&amp;quot; (web&lt;br /&gt;
applications) was released with a request for comments. Since this is&lt;br /&gt;
the core expertise of OWASP we invited a delegate of the BSI to attend&lt;br /&gt;
the last chapter meeting of the German Chapter which took place in&lt;br /&gt;
Frankfurt / Main on the 3rd of February. The meeting's outcome was the&lt;br /&gt;
strong wish to perform a review of that very web application block as an&lt;br /&gt;
OWASP project. This project will help to expand the visibility of OWASP&lt;br /&gt;
in the German IT security landscape broadly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Roadmap==&lt;br /&gt;
* Building a coordinating team&lt;br /&gt;
* &amp;lt;b&amp;gt;Defining the review rules&amp;lt;/b&amp;gt; [[Talk:OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen| see &amp;quot;Discussion&amp;quot;]]   &lt;br /&gt;
* Reading the BSI documents&lt;br /&gt;
* Collecting comments from the community familiar with the BSI documents&lt;br /&gt;
* Creating a common understanding&lt;br /&gt;
* Writing a review with OWASP glasses &lt;br /&gt;
* Review of OWASP's review itself&lt;br /&gt;
* Releasing the result(s)&lt;br /&gt;
&lt;br /&gt;
==Deadline==&lt;br /&gt;
06/01/2012, in German: '''01.06.2012'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Relevant links and general information==&lt;br /&gt;
==== Document download ====&lt;br /&gt;
&amp;quot;Entwurf Baustein Webanwendungen&amp;quot; of the BSI (in German language) directly: &lt;br /&gt;
[https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/Download/Vorabversionen/Baustein_Webanwendungen_Entwurf.zip https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/Download/Vorabversionen/Baustein_Webanwendungen_Entwurf.zip]&lt;br /&gt;
&lt;br /&gt;
General download section of the BSI:&lt;br /&gt;
[https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/download/download.html https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/download/download.html]&lt;br /&gt;
&lt;br /&gt;
==== Some further information about &amp;quot;BSI&amp;quot; and &amp;quot;Grundschutz&amp;quot;====&lt;br /&gt;
The BSI about itself: [https://www.bsi.bund.de/EN/Home/home_node.html https://www.bsi.bund.de/EN/Home/home_node.html ]&lt;br /&gt;
&lt;br /&gt;
Wikipedia about BSI: [http://en.wikipedia.org/wiki/Bundesamt_f%C3%BCr_Sicherheit_in_der_Informationstechnik http://en.wikipedia.org/wiki/Bundesamt_f%C3%BCr_Sicherheit_in_der_Informationstechnik]&lt;br /&gt;
&lt;br /&gt;
Wikipedia about &amp;quot;IT-Grundschutz Katalog&amp;quot;: [http://en.wikipedia.org/wiki/IT_Baseline_Protection_Catalogs http://en.wikipedia.org/wiki/IT_Baseline_Protection_Catalogs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Actual Work in Progress==&lt;br /&gt;
Will be found in [[Talk:OWASP_Review_BSI_IT-Grundschutz_Baustein_Webanwendungen| &amp;quot;Discussion&amp;quot;]]. In German :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Coordinating Team==&lt;br /&gt;
* Tobias Glemser&lt;br /&gt;
* Boris Hemkemeier&lt;br /&gt;
* Kai Jendrian&lt;br /&gt;
* Ralf Reinhardt&lt;br /&gt;
* Dirk Wetter&lt;br /&gt;
&lt;br /&gt;
==Project Contributors==&lt;br /&gt;
* Dennis Moers&lt;br /&gt;
* ''Your name here''&lt;br /&gt;
&lt;br /&gt;
==Project Licence==&lt;br /&gt;
Creative Commons Attribution ShareAlike 3.0&lt;/div&gt;</summary>
		<author><name>Dennis Moers</name></author>	</entry>

	</feed>