Moin Moin!
Gibt es akute Sicherheitslücken bei PHP
Geh davon aus, dass es sie gibt, so lange keiner das Gegenteil beweisen kann.
Das hat nur sehr, sehr wenig mit PHP zu tun. PHP ist ein komplexes Stück Software, und selbst mit sorgfältigstem Auditing (das meines Wissens bislang nicht erfolgt ist) kann man Sicherheitslücken nicht komplett ausschließen. Dazu kommt, dass PHP nicht alleine da steht, sondern in eine Umgebung aus Betriebssystem und typischerweise Webserver eingebettet ist. Das öffnet weitere mögliche Sicherheitslücken. Und die Sicherheit von PHP hängt unter anderem von der Konfiguration von PHP, Webserver und Betriebssystem ab, so dass auch die Sicherheit einer konkreten Installation zu beurteilen wäre.
Auf diesen großen Haufen, dessen Sicherheit niemand garantieren kann und will, kommt dann noch Deine eigene Software, die noch einmal die selben Probleme hat: Fehlendes oder unvollständiges Auditing, Konfigurierbarkeit, Abhängigkeit von anderer Software und der Umgebung.
Du kannst nur dafür sorgen, dass angefangen bei der Hardware bis hoch zu Deinem Script alles dafür getan wird, Sicherheitslücken zu vermeiden und bei möglichen Einbrüchen den anrichtbaren Schaden zu reduzieren.
Möglichst wenig Rechte, Einschränkungen von Speicher und CPU-Zeit, eine möglichst eingeschränkte Umgebung, möglichst wenig installierte Software, möglichst wenig aktive Software, zügiges Einspielen aller Sicherheitspatches und ein ausreichend weit in die Vergangenheit reichendes, verifiziertes Backup sind einige der Techniken, um die Umgebung für deine Software möglichst sicher zu machen.
Deine Software selbst sollte extrem paranoid gegenüber allen Daten sein, die aus dem Netz, von der Kommandozeile, und aus dem Environment kommen. Sie sollte alle Eingaben validieren, im Zweifel die Arbeit sofort verweigern, und im Zweifel lieber Whitelists statt Blacklists benutzen. Dazu kommen Selbstverständlichkeiten wie korrektes Escaping und Unescaping, wo immer das notwendig ist. Natürlich werden keine Benutzereingaben ungeprüft an andere Systeme weiter gereicht, insbesondere ist es nicht möglich, über das Netz Dateien an beliebiger Stelle anzulegen, zu überschreiben oder auch nur zu lesen, schon gar nicht ist es möglich, beliebige Programme aufzurufen. Auch diese Liste ist natürlich nicht vollständig.
Sicherheit ist kein Zustand, sondern ein Prozess.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".