Krieg und Frieden Marc Ruef | 23.03.2006 Penetration Tests sind immer eine spannende Sache. Aufgrund der Tatsache, dass man nicht nur einen handelsüblichen Vulnerability Scanner heranziehen kann, um in eine Umgebung einzubrechen, erfordert das Ganze in bisschen geistige Experimentierfreudigkeit. Der Penetration Tester hat mit viel Elan und Geschick unbekannte oder nur schlecht untersuchte Schwachstellen zu seinen Gunsten auszunutzen. Dies ist natürlich nicht immer einfach, in einer Zeit, in der sich jedes Management schon mindestens einmal Gedanken über Hardening-Konzepte, Patch-Management und Firewall-Lösungen gemacht hat. Erst vor kurzem war ich in einm Projekt involviert, bei dem sich meine Spürnase und das erforderliche Pensum an Glück als Vorteilhaft erweisen würden. Mein Ziel war es, in einer topologisch komplex ausgelegten Umgebung in ein jeder Zone ein System komplett zu übernehmen, um diese - dank der indirekten Umgehung der Segmentierung - komplett zu kompromittieren. Dies war mir auch innert kürzester Zeit gelungen, wiesen die gegebenen Windows-Installation nicht den Stand der Dinge auf, den man in einer "sicheren" Umgebung erwarten müsste. Aus reinem Interesse, das eigentliche Ziel hatte ich ja schon längst erreicht, schaute ich mir ebenfalls die Unix-Systeme an. Auf diesen kamen Individual-Software zum Einsatz, was sich hervorragend eignete, um meinen grauen Hirnzellen doch noch etwas abzugewinnen. Ein kurzes Testing, bei dem ich jüngst entwickelte Angriffstechniken einsetzte, förderte zu Tage, dass eben diese Lösungen gegen einige Eingabeungültigkeiten verwundbar waren. Das Auslesen und Schreiben von Daten sowie das Ausführen von Programmcode mit den Rechten der eingesetzten Datenbank waren die mögliche Folge. Für mich ist das immer ein riesen Spass - Viel besser weder ein guter Film (http://www.computec.ch/news.php?item.96) im Kino! Da es sich um eine bis dato unentdeckte Schwachstelle handelte, informierte ich wie üblich nach meiner Rückkehr ins Büro unverzüglich den Hersteller per Email. Diesen wies ich auf das Problem hin, aufgrund eines Non Disclosure Agreements (NDA) ohne den Kunden zu nennen, und bat darum, dass man sich dieser Sache so schnell wie möglich annimmt. Die eigene Einstufung, die angestrebten Gegenmassnahmen und einen Termin für die Erwartung derer solle man mir doch kurz mitteilen, damit ich meinen Kunden über den Stand der Dinge informieren und die Informationen in den Report übernehmen kann. Zuersteinmal verging eine Woche ohne Antwort. Das ist meistens der Fall, weshalb ich exakt nach 7 Tagen ein Erinnerungs-Mail schrieb, auf mein letzten Zeilen verwies und sagte, dass ich eine ausbleibende Antwort als fehlendes Interesse taxiere und in diesem Falle nichts anderes machen könne, weder sofort mit einem Advisory an die Öffentlichkeit zu gehen. Dieser mediale Druck ist oftmals die letzte Möglichkeit, um einen ignoranten Hersteller doch noch zur Einsicht zu bewegen. Eine Taktik, die auch im Patentrecht gerne herangezogen wird. Nach diesem Email kam auch prompt eine Antwort des für das Produkt zuständigen Projektleiters. In seinen Zeilen schrieb er, dass er aus Sicherheitsgründen das Problem nicht mit mir besprechen wolle (Moment, eigentlich bin ich ja derjenige, der eine brisante Information sein Eigen nennt?!). Und er wolle wissen, wieso ich überhaupt das Produkt angeschaut habe und was ich mir davon verspreche, sie als Firma zu schädigen. Dies ist nicht das erste Mal, dass ein Hersteller derartig reagiert. Manche von ihnen fühlen sich doch tatsächlich betupft, weist man auf einen Sicherheitsfehler hin. Ich als Entwickler bin stets froh, informiert man mich frühzeitig über potentielle Probleme, so dass ich das Zeitfenster für den erfolgreichen Missbrauch (oder generelle Fehler) minimieren kann. Diese Ideologie teilte ich meinem Gegenüber höflich mit, obschon ich mich innerlich fragte, ob es denn wirklich meine Aufgabe sei, jedermann belehren zu müssen. Das übernehmen scheinbar schon Gerichte in Afghanistan (http://www.nzz.ch/2006/03/22/al/newzzEL39XHKM-12.html). Zwischenzeitlich hielt ich Rücksprache mit meinem Kunden, eine angesehene Bank, und erklärte kurz den Sachverhalt. Da mein dortiger Ansprechspartner ebenfalls Gast auf computec.ch ist und sich generell für die Sicherheits-Kultur interessiert, wusste ich, dass er voll und ganz hinter meinem Vorgehen stehen würde. So war es dann auch, war ihm vollkommen bewusst, dass die Bestrebungen in dieser Art längerfristig am meisten Qualität versprechen werden. Wir einigten uns darauf, dass ich dem Hersteller den Kundennamen nennen darf und dass ich weiterhin technische Ansprechspartner in Bezug auf das Sicherheitsproblem bleiben werde. Ich war mich schon im Begriff nocheinmal beim Hersteller zu melden, als bei mir im Büro das Telefon klingelte. "Es ist der besagte Hersteller", meinte Simon zu mir. Ich ärgerte mich schon innerlich, rechnete ich damit, dass mich dieser nun anrufen würde, um Gegendruck zu machen und seinen Unmut über die vermeintlich unvorteilhafte Situation zum Ausdruck zu bringen. Zu meinem Erstaunen war die Situation jedoch eine ganz andere. Mein Gesprächspartner meinte, dass er sehr zufrieden mit unserer professionellen Abwicklung des Problems sei. Man sei begeistert von der technischen Raffinesse, wie man ein ursprünglich als "lediglich theoretisch" eingestuftes Problem entdeckt und ausgenutzt habe. Dies möchte man zum Anlass nehmen, um eine direkte längerfristige Zusammenarbeit aufzubauen. So würden sich Code-Reviews, Reverse Engineering und Penetration Tests neuer Entwicklungen anbieten, um diese frühzeitig resistent gegen Angriffe auf dem Markt zu machen. Natürlich musste ich lachen, nachdem ich den schwarzen Hörer meines absolut unergonomischen Siemens-Telefons in die Gabel gelegt habe. Und zwar ab der absolut unerwarteten Wendung in diesem Fall. Der Hersteller hat tatsächlich das Potential eines soliden Partners erkannt und will dieses nun zu seinen Vorteilen nutzen. Das ist natürlich das Beste, was einem als Auditor passieren kann. Ich mag es, wenn ich durch die Qualität meiner Arbeit überzeugen kann. Und ganz arrogant will ich behaupten, dass dies alleine zu den neuen Möglichkeiten geführt hat. Dies gänzlich ohne irgendjemandem einen Nachteil einbringen zu müssen. Die klassische Win-Win-Stuation halt.