Search and Find

Book Title

Author/Publisher

Table of Contents

Show eBooks for my device only:

 

Security@Work - Pragmatische Konzeption und Implementierung von IT-Sicherheit mit Lösungsbeispielen auf Open-Source-Basis

of: Jörg Eschweiler, Daniel E. Atencio Psille

Springer-Verlag, 2006

ISBN: 9783540362265 , 334 Pages

Format: PDF, Read online

Copy protection: DRM

Windows PC,Mac OSX Apple iPad, Android Tablet PC's Read Online for: Windows PC,Mac OSX,Linux

Price: 6,28 EUR



More of the content

Security@Work - Pragmatische Konzeption und Implementierung von IT-Sicherheit mit Lösungsbeispielen auf Open-Source-Basis


 

20 Interpretersprachen zur Web-Ausgabe (S. 279-280)

In diesem Kapitel beschäftigen wir uns mit IT-Sicherheit im Hinblick auf (Web-)Skriptsprachen. Dabei wurde PHP (PrettyHomePage Hypertext Processor) als Beispiel gewählt, da es sich hier um eine mittlerweile recht stabile Version einer solchen Sprache handelt, sie über eine Fülle von Funktionalitäten verfügt und der Einsatz im Feld recht weit verbreitet ist. Entsprechend liegt es in der Natur der Dinge, dass statistisch gesehen PHP-basierte Websitesöfters Opfer von Angriffen werden.

Skriptsprachen wie PHP werden meist eingesetzt, um dynamische Webseiten zu schaffen, wozu ebenfalls einige Features aus bekannten, aber eher klassischen Sprachen wie Perl, C oder auch Java entliehen wurden. Je kraftvoller und funktionsreicher ein solches Werkzeug ist, umso mehr Möglichkeiten für Fehlfunktionen, suboptimales Design und daraus resultierenden Problemen bietet es. Insbesondere kommt bei Web-Skriptsprachen wie PHP oftmals zum Tragen, dass die Benutzer zwar mit HTML etc. und Grundlagen der Programmierung vertraut sind, aber nicht unbedingt mit Design- und Coding-Grundsätzen aus der klassischen Programmierung. Entsprechend gilt es, einige potentielle Sicherheitsprobleme mit optimiertem Design oder auch Programmierverfahren im Keim zu ersticken, anstatt die (Er-)Lösung in weiteren Features oder Zusätzen zu suchen!

Durch Beachtung einiger Regeln und Gedanken zur sicheren Programmierung kann auch beim Einsatz von Tools wie PHP das Risiko von Sicherheitslöchern oder deren Kompromittierung signifikant gesenkt werden. Auf den folgenden Seiten werden also weniger "Kernel Hacker’s Coding Hints" als vielmehr praktische Erfahrungen (beziehungsweise Lehren daraus) und Designaspekte im Vordergrund stehen. Klar, dass sich diese Aspekte auch auf andere Sprachen wie z.B. Python, regul¨are CGIs etc. übertragen lassen.

20.1 Mögliche Schwachstellen
20.1.1 Allgemeines

Um die folgenden Betrachtungen aus Sicht der IT-Sicherheit, aber auch allgemeiner Systemadministration besser einschätzen zu können, sei der werten Leserschaft angeraten, Folgendes im Hinterkopf zu halten: Prinzipell bietet PHP zwei verschiedene Ausführungsmodi: einmal als CGI-Applikation und einmal als in den Webserver integriertes Modul. Unabhängig vom gewählten Modus verfügt der im System installierte und laufende PHP-Interpreter (unabhängig vom Betriebssystem) über das Potential, zur Laufzeit auf jeden Teil des Systems zugreifen zu können. Dies bedeutet, Prozesssystem, Dateisysteme, Netzwerkverbindungen etc. stehen zur Verfügung – auch beziehungsweise gerade im Falle eines Missbrauchs! Um also Risiko und Auswirkung von Attacken oder Fehlfunktionen eingrenzen zu können, sollten sich Programmierer und Administrator darüber im Klaren sein, was zur Laufzeit der Programme im Rahmen deren Ausf¨uhrung, aber auch auf Ebene der genutzten Schnittstellen passieren kann. Das ist natürlich in Anbetracht der doch mitunter recht komplexen Softwaresysteme auf PHP-Basis nicht trivial. Dies bedingt erst recht eine ordentliche konzeptionelle Grundlage, um Ursachen – sofern möglich – proaktiv eliminieren zu könen und nicht späer "nur" Symptome oder Auswirkungen eingrenzen zu müssen.