Internet-Security
Web-Scripts müssen von Fehlern bereinigt werden

IT-ManagementIT-ProjekteNetzwerk-ManagementNetzwerkeSicherheitSicherheitsmanagement

Für Web-Entwickler ist die Zeit gekommen, die Verantwortung für die Sicherheit zu übernehmen und eine entsprechende Praxis einzuhalten, meint unser Autor Tim Anderson.

Internet-Security

Wie überzeugt man Web-Entwickler davon, sicheren Code zu schreiben? Der neueste Versuch kommt in Form des PHP Security Consortium, das sich selbst beschreibt als ?eine Gruppe von PHP-Experten, die sich der Aufgabe gewidmet haben, sichere Programmierpraktiken in der PHP-Community voranzutreiben?. Das Konsortium will über seine Website Ressourcen wie Dokumente und Utilities anbieten sowie einen nützlichen PHP-Sicherheits-Führer.

Mangelndes Interesse

Viel Glück, aber das ist eine ziemliche Herausforderung. Bei einem Presse-Briefing hat mir ein leitender Mitarbeiter von Microsoft kürzlich von einer Reihe von Seminaren erzählt, die seine Firma durchführen wollte mit dem Ziel, Entwickler darüber zu informieren, wie man sicheren Code schreibt. Die Veranstaltungen wurden wegen Mangel an Interesse abgesagt.

Vielleicht sind Entwickler ja vollständig damit ausgelastet, Anwendungen dazu zu bringen, richtig zu funktionieren, und so gehen sie davon aus, dass die Sicherheit in die Verantwortung von irgend jemand anders fällt. Leider ist das nicht der Fall. Kurz vor Weihnachten wurden viele Websites von einem Wurm namens Santy befallen ? und diese Attacke hat zur Gründung des PHP Security Consortiums geführt.

Santy nutzt eine Code-Zeile in einer weitverbreiteten Anwendung namens phpBB, die es Websites ermöglicht, Diskussionsforen zu hosten. Einige Daten in den Web-Requests waren nicht richtig verarbeitet, so dass Daten, die Anführungszeichen enthielten, nicht sicher waren.

Anführungszeichen sind gefährlich, weil sie von anderen Anwendungen wie etwa SQL-Datenbank-Engines genutzt werden, um Daten von Befehlen zu trennen. Im Fall von Santy konnten die Hacker den Bug nutzen, um mit denselben Privilegien wie der Web-Server selbst Systembefehle auszuführen.

Patches sofort nutzen

Der Gebrauch der Open-Source-Anwendung phpBB ist weit verbreitet, und der Code wurde genauestens untersucht. Ihre Entwickler hatten, noch bevor der Wurm ausgebrochen war, einen Fix für den Bug veröffentlicht, den Santy nutzte. Die meisten Web-Anwendungen stoßen auf weniger Interesse als phpBB, enthalten aber mit mindestens genauso großer Wahrscheinlichkeit Fehler, die Hacker ausnutzen können. Das Problem bei Fehlern in Anwendungen ist, dass Firewalls und sichere HTTP-Verbindungen wenig Schutz bieten können.

Jede Anwendung, die Daten von Web-Formularen oder Web-Requests akzeptiert, ist gefährdet, einschließlich XML-Web-Services. Die Lösung besteht darin, jeglichen derartigen Input mit Argwohn zu betrachten, aber leicht rutscht dabei etwas durch.
CompuWare bietet ein neues Tool namens DevPartner SecurityChecker, das automatisierte Tests bei ASP.Net-Anwendungen durchführt. Wenn man eine einfache Web-Anwendung mit den netten Schnellentwicklungs-Tools von Microsoft Visual Studio .Net zusammenbaut und sie dann durch SecurityChecker laufen lässt, wird das Ergebnis wahrscheinlich alarmierend sein. Das Problem besteht nicht darin, dass Visual Studio .Net ein schlechtes Tool wäre. Andere Web-Entwicklungs-Tools und andere Plattformen haben ähnliche Probleme. Die wahre Lektion ist, dass Web-Anwendungen selten standardmäßig oder durch Zufall sicher sind.

Sicherer Code bringt Sicherheit

Web-Entwickler, die nicht die besten Sicherheitspraktiken beachten, werden wahrscheinlich unsicheren Code schreiben. Ein Tool wie SecurityChecker kann helfen ? es hat aber einen Preis, der viele Entwickler ausschließen wird, und automatisierte Tools finden selten alle Schwachstellen. Wichtiger ist es, die essentiellen Anforderungen an das Codieren sicherer Web-Anwendungen zu lernen.

Der Santy-Wurm ist ein Weckruf, nicht nur für PHP-Entwickler, sondern für alle Entwickler und Unternehmen, deren Anwendungen dem Internet ausgesetzt sind.

Links zum Thema:

phpSec.org
tinyurl.com