Das Security-Team: TYPO3 Teams im Portrait
Die Hauptaufgabe des Teams liegt in der Behandlung von Sicherheitsmeldungen, die von Anwendern über das Formular auf der Teamseite [1] eingeschickt werden. Ziel ist es, binnen 24 Stunden den Reporter des potenziellen Sicherheitsproblems zu benachrichtigen, das Problem zu verifizieren und geeignete Maßnahmen zu ergreifen. Hierbei kann es sich, abhängig von der Art des Problems, um verschiedene Maßnahmen handeln: Bei Meldungen, die den TYPO3-Kern betreffen, kann das Team auf die Mithilfe einiger Kern-Entwickler zählen, die im Security-Team engagiert mitarbeiten. Hierdurch können relevante Probleme direkt gelöst und in das SVN geladen werden.
Bei Meldungen zur Sicherheit von Extensions, die rund 95 Prozent der sicherheitsrelevanten Meldungen ausmachen, gestaltet sich die Arbeit etwas anders: Zuerst versucht ein Mitglied des Teams die Lücke zu reproduzieren. Hierbei gilt natürlich: Je detaillierter der Reporter das Problem beschreibt, desto schneller kann der Autor benachrichtigt und ein Update veröffentlicht werden. Die Nennung von Beispielseiten, auf denen der Fehler reproduziert werden kann, beschleunigt den Ablauf in der Regel.
Incident Handling
Bei der Bearbeitung von potenziellen Sicherheitsproblemen ist Eile geboten, allerdings nicht zu Lasten der Qualität. Darum hat sich das Team klare Richtlinien gesetzt, wie mit solchen Meldungen umzugehen ist. Wichtig ist vor allem die schnellstmögliche Benachrichtigung des Reporters und des Autors, um das Problem zu lösen. Meldungen über etwaige Probleme werden daher an eine Mailingliste geschickt, die von den Teammitgliedern permanent beobachtet wird. Generell gilt folgende Vorgehensweise:
- Meldung eines potenziellen Sicherheitsproblems via Formular
- Analyse und Reproduktion durch das TYPO3 Security-Team.
- Benachrichtigung des Kern-Teams/Extension-Developers.
- Veröffentlichung eines Security-Bulletins auf den Team-Seiten und auf news.typo3.org.
Die Erfahrung der letzten zwei Jahre hat gezeigt, dass die häufigsten Fehler in Extensions auf klassische Sicherheitslücken, wie zum Beispiel Cross-Site-Scripting und SQL-Injections, zurückzuführen sind. Aus diesem Grund wurde mit der Neugestaltung von typo3.org das neue Extention Repository 2 eingeführt. Nun ist es möglich, Extension-Reviews nach dem Vier-Augen-Prinzip durchzuführen: Jede Extension wird unabhängig von zwei Mitgliedern des Teams auf Sicherheitsmängel hin überprüft.
Je nach Ergebnis der Reviews taucht eine Extension in der Liste der „Trusted Extensions“ auf. Aufgrund der ständig wachsenden Zahl an Extensions wird in den nächsten Wochen eine Untergruppe des Teams ins Leben gerufen, die sich speziell mit dieser Problematik auseinandersetzt. Hierfür werden weitere interessierte Programmierer als Reviewer gesucht, die helfen diese Reviews durchzuführen. Nähere Informationen dazu unter [2].
Ziel ist es, den Agenturen und Kunden eine Möglichkeit an die
Hand zu geben, eine möglichst sichere Umgebung für ihre Projekte zu schaffen. Hierzu gehört neben dem ständigen Überprüfen des Kerns vor allem eine breite Basis an überprüften Extensions. Zur Zeit finden Gespräche mit dem Certification-Team statt, um im Rahmen der TYPO3-Zertifizierungen auch Richtlinien für sichere Extensions zu veröffentlichen und Entwickler zu zertifizieren.
Unabhängig davon sollte aber jeder Extension-Entwickler die Coding Guidelines unter [3] beherzigen und sich mit Problemen wie Cross-Site-Scripting und SQL-Injections auseinandersetzen und seine Extensions daraufhin überprüfen.
Mitarbeit
Durch die Verteilung des Teams über halb Europa finden persönliche Meetings traditionell auf der Snowboardtour und der T3CON statt. Dies sind gute Gelegenheiten, mit dem Team in Kontakt zu treten und bei Interesse mitzuarbeiten. Außerdem können sich Interessierte jederzeit per Mail an security@typo3.org wenden. Voraussetzung sind fundierte PHP- und MySQL-Kenntnisse sowie die Bereitschaft, sich bei Reviews und Problemlösungen einzubringen.