Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Die Gretchenfrage bei jeglicher Art von Filtern ist stets: Sollte man einem Whitelist- oder einem Blacklist-Ansatz folgen? Auch bei Filtermodulen für Apache stellt sich diese Frage, verfolgen doch mod_security und mod_parmguard jeweils einen dieser Ansätze. Während mod_security in seinem typischen Anwendungsfeld eine Blacklist implementiert, also unerwünschte Variablen, Aufrufe etc. herausfiltert, geht mod_parmguard genau andersherum vor. Mit einer Whitelist werden hier für alle in der PHP-Software verwendeten Variablen die erwünschten Wertebereiche festgelegt – und diese Whitelist muss stets befolgt werden.
Grundsätzlich ist eine Whitelist dem Blacklist-Ansatz vorzuziehen, denn sie ist prinzipbedingt gegen neue Angriffsarten oder Exploits sicherer als die ständig zu aktualisierende Blacklist. Da der Angreifer dem Verteidiger stets einen Schritt voraus ist, kann eine Blacklist Werte »übersehen«, die zwar einen Angriff darstellen, aber noch nicht in der Liste stehen. Eine Whitelist kennt diese Probleme nicht, da sie stets nur die Werte enthält, die auch in der Anwendung benötigt werden, und alle anderen Variablen und Variablenwerte außerhalb des legalen Geltungsbereiches entsorgt. Sie muss jedoch mit sehr hohem initialen Aufwand konfiguriert werden, um genau zur Anwendung zu passen.Wenn die Anwendung erweitert wird, müssen entsprechende Anpassungen stattfinden.