Exponentieller Aufwand bei umfangreichen Tests Marc Ruef | 01.12.2008 Wer in der Armee gedient hat und dort gar einen höheren Dienstgrad bekleidet hat, dem wird die Abkürzung PQQZD nicht unbekannt sein. Das Akronym steht für Produkt, Qualität, Quantität, Zeit und Dauer. Diese fünf Attribute müssen geklärt sein, um einen Auftrag erfüllen zu können. Das Produkt kann die Aufklärung eines Feindgebiets sein, die Qualität als grober Überblick eingestuft werden, die Quantität mit aktuellen Informationen definiert sein, als Zeit die nächsten drei Tage und die Dauer durch ihre Einmaligkeit ausgemacht werden. Auch in der normalen Arbeitswelt werden diese allgemeinen Kriterien definiert, um Aufgaben wahrnehmen zu können. Bei einer Sicherheitsüberprüfung stellen sich somit eigentlich die gleichen Fragen. So kann ein Auftrag wie folgt lauten: "Finden von Schwachstellen in einem Firewall-Regelwerk mittels einer formalen Untersuchung, Ausmachen restlos aller potentiellen und existenten Sicherheitslücken, maximaler Aufwand des Testings auf fünf Arbeitstage beschränken, Durchführung in der kommenden Arbeitswoche, bis auf weiteres eine einmalige Ausführung erwünscht." Gehen wir davon aus, dass das Firewall-Regelwerk lediglich 10 Regeln aufweist. Diese bestehen normalerweise aus den sechs Attributen Quell-IP-Adresse, Quell-Port, Ziel-IP-Adresse, Ziel-Port, Transportprotokoll und Aktion. Eine einfache Regel für den Zugriff auf einen Webserver aus dem Internet sähe zum Beispiel nach einer Formalisierung und Normalisierung folgendermassen aus: code0.0.0.0/0 >1023 10.0.0.11 80 tcp allow/code Das Analysieren dieser Regel dauert für einen geübten Auditor einige wenige Minuten. Schliesslich ist auf den ersten Blick ersichtlich, dass hier den gängigen Konventionen für sichere Firewall-Regeln gefolgt wird. Die Quell-IP-Adresse lässt sich ob des Zugriffs aus dem Internet nicht genauer spezifizieren als mit dieser ANY-Regel (solche sind normalerweise unerwünscht oder mindestens auf den ersten Blick verdächtig). Dafür ist der Quell-Port mit >1023 den Erwartungen für kurzlebige Portbereiche von Client-Sockets folgend. Die Ziel-IP-Adresse und der Ziel-Port beschränken sich auf den Webserver, ebenso das definierte Transportprotokoll. Und der Zugriff ist wie erwartet zugelassen. Soweit alles in Ordnung mit dieser Regel. Bräuchte man nun 5 Minuten für das Analysieren und Dokumentieren einer solchen Regel, wäre rund eine Stunde für das Untersuchen des gesamten Firewall-Regelwerks mit seinen 10 Regeln erforderlich (sofern diese in etwa die gleiche Simplizität mitbringen). Die Frage stellt sich nun, ob bei 20 Regeln doppelt so viel Aufwand oder gar ein exponentieller Anstieg erwartet werden muss. Was ist, wenn eine zweistufige Firewall-Umgebung mit zwei mal 10 Regeln (also wieder insgesamt 20 Regeln) untersucht werden muss? Wahrhaftig steigt der Aufwand für das Untersuchen komplexerer Systeme, und dies beschränkt sich nicht nur auf Firewall-Installationen, in exponentieller Weise (http://www.computec.ch/projekte/tractatus/?s=tractatus&h=2.1.2.1.3) an. Betrachtet man die zweistufige Implementierung dieses Regelwerks, wobei FW-ext die externe Firewall und FW-int die interne Firewall darstellt, so ergeben sich ein überproportionales Mehr an Analyseaufwand: codeFW-ext: 0.0.0.0/0 >1023 10.0.0.11 80 tcp allow FW-int: 192.168.0.1/32 >1023 10.0.0.11 80 tcp allow/code Der Auditor muss nun nämlich zusätzlich das Routing zwischen den beiden Elementen verstehen. Er muss wissen, dass 192.168.0.1/32 die IP-Adresse der internen Schnittstelle der externen Firewall ist. Die Regel 2 ist sehr strikt und würde es verhindern, dass auch noch andere Elemente der DMZ auf den Webserver zugreifen können. Damit wären Hopping-Attacken, die gerne unterschätzt werden, gut eingedämmt. In vielen Bereichen wird aber auch die zweite Regel die Quell-IP-Adresse der Einfachheit halber mit 0.0.0.0/0 definieren. Das wäre suboptimal und müsste eine Empfehlung bezüglich einer Korrektur hervorrufen. Viele Kunden verstehen leider nicht, dass mit der linearen Erweiterung eines Auftragsvolumens oftmals eine exponentielle Erweiterung der Aufwände stattfindet. In gewissen Bereichen geschieht dies weniger. Und zwar dann, wenn diese quasi 2-dimensional sind und nicht von anderen Faktoren abhängen. Ob bei einem Web Application Penetration Test über das Internet nun 2 oder 4 Web-Formulare untersucht werden, verdoppelt den Aufwand in der Regel (werden die gleichen Funktionen für die Datenannahme und -verarbeitung verwendet, steigt er gar nur um einen Bruchteil an). Wird jedoch anstelle eines einstufigen Firewall-Systems mit 10 Regel eine zweistufige Lösung mit zwei mal 10 Regeln untersucht, ist im schlimmsten Fall der Aufwand um 10*10 angestiegen (normalerweise steigt er "nur" um etwa 230 % an). Nicht selten kommt es vor, dass die Auditoren beim Stellen einer Offerte und den damit verknüpften Diskussionen nicht auf diesen Umstand des explosiven Wachtums hinweisen. Manchmal geschieht dies aus Nachlässigkeit, weil man es halt nicht besser weiss. Ab und an wird es aber auch absichtlich verheimlicht, um gegen Mitbewerben einen Vorteil erlangen zu können. Für den Kunden sieht es auf den ersten Blick nämlich so aus, als könne man den Auftrag in einem Bruchteil der Aufwände der anderen Offertsteller erledigen. Das Aufwachen kommt dann meistens später, wenn entweder die Qualität eingebüsst werden musste oder man das Kostendach doch nicht recht halten kann. Doch dann ist es zu spät, weil dann hat zwischenzeitlich derjenige verloren, der von Vornherein mit Aufrichtigkeit den wahrheitsgetreuen Kostenvoranschlag erarbeitet hatte.