Was kostet ein Penetration Test?

Die Kosten eines Penetrationstests sind primär von zwei Faktoren abhängig: Vom Aufwand und vom Tagessatz.

1. Der zeitliche Aufwand eines Penetration Tests

Die Dauer eines Penetrationstests ist abhängig von der Größe und Komplexität einer Anwendung oder einer IT-Infrastruktur. Grundsätzlich gibt es keine pauschalen Schätzwerte und es kommt immer auf den Einzelfall an. Angebote ohne vorherige Aufwandschätzung halte ich für grundsätzlich nicht seriös und rate davor ab.

Die grobe Richtung sieht aber wie folgt aus: Bei einer kleinen Webanwendung, also eine zweistellige Anzahl von Seiten mit ein paar Formularen und Parametern liegt man inklusive der Vorbesprechung, dem eigentlich Pentest und der Berichtserstellung bei etwa einem Tag. Der Aufwand wächst danach bei Webanwendungen weniger mit der Anzahl der Links, sondern eher mit einer steigenden Komplexität: Session Management, Rollen- und Benutzermanagement, AJAX usw. können schnell den notwendigen Aufwand erhöhen.

Den Aufwand eines IT-Infrastruktur-Penetrationstests pauschal zu beziffern ist noch schwieriger. Es hängt hier vom eigentlichen Ziel, der Anzahl der Hosts, der Anwendungen und Dienste ab. Manchmal macht es hier mehr Sinn, die eigentlichen Ziele des Tests zu konkretisieren und dann eine fixe Anzahl von Tagen dafür einzuplanen.

2. Der Tagessatz des Penetration Tester

Der Tagessatz im Penetration Testing ist auch hier von verschiedenen Faktoren abhängig: Zum Beispiel von der Erfahrung und Qualifikation vom Penetration Tester, von der dazugehörigen Unternehmensgröße, dem Unternehmensstandort, den Vertriebszielen usw.

Ist man auf der Suche nach einem qualifizierten Pentest-Freelancer landet man schnell bei Tagessätzen von 800€ und höher. Wobei alle Beispielpreise aus meinen Erfahrungen hier für Unternehmen netto wären. Beauftragt man ein Unternehmen mit ein paar Mitarbeitern mit einem Pentest liegt man anfänglich irgendwo bei 1.000€, man kann aber auch schnell 1.200€ bis 1.300€ pro Tag zahlen. Nach oben wie immer offen.

Die c’t Security – mehr iX als c’t

Früher war ich c’t-Leser, heute stöbere ich manchmal noch in der iX. Der Heise-Verlag hat nun wieder ein Sonderheft herausgegeben. Dieses Mal zum Thema IT-Security – die Zeitschrift „c’t Security“. Ob ich hier für mich noch etwas Interessantes finden kann, wagte ich zu bezweifeln.

Nach einer halben Stunde querlesen bin ich doch positiv überrascht. Das Niveau der Themen ist irgendwo zwischen dem Anspruch der c’t und der iX angesiedelt. Wobei, vielleicht doch eher in Richtung iX. Die Themen sind überraschend breit gestreut: Passwort-Strategien, Forensik-Tools, Router-Sicherheit, DANE, Smartphones und vieles mehr. Die c’t Security hat es tatsächlich auf meinen Nachttisch geschafft.

Die Ausgabe wurde mir vom Verlag kostenlos zur Verfügung gestellt. Der Preis ist mit 9,90€ relativ hoch, wobei ich das Geld vermutlich auch dafür ausgegeben hätte. Wer sich für IT-Security interessiert, sollte im Bahnhofsladen zumindest das Inhaltsverzeichnis überfliegen. Der nächste Streik der GDL kommt bestimmt ;-).

Änderungen im PCI 3.0 Req. 11.3 Penetration Testing – Erläuterungen und Diskussion

Der PCI DSS 3.0 verlangt in Requirement 11.3 die Durchführung von Penetrationstests. Im älteren PCI-Standard 2.0 umfasste das bisher primär einen Penetrationstest auf Netzwerk- sowie auf Anwendungsebene, der sowohl von extern als auch von intern durchgeführt werden musste. Der Penetration Tester musste dabei natürlich qualifiziert und unabhängig sein.

Diese Punkte sind zwar inhaltlich auch im neuen PCI DSS 3.0 enthalten, jedoch wurden die Anforderungen und auch der Umfang der Penetrationstests erhöht. Nachfolgend möchte ich das neue Requirement 11.3 besprechen und auf die neuen Details eingehen.

11.3 Implement a methodology for penetration testing that includes the following:
– Is based on industry-accepted penetration testing approaches (for example, NIST SP800-115)

Durch den zwingenden Verweis auf eine allgemeine akzeptierte Best-Practice Vorgehensweise wie NIST SP800-115 sind damit alle Pentest-Monkeys raus, die einfach nur ein paar Tools wie Metasploit, Nessus & Co benutzen und das ganze dann in einen Report fassen. Andere aus meiner Sicht akzeptierte Vorgehensweisen sind der OWASP Testing Guide oder auch OSSTMM. Interessanterweise beinhaltet der NIST SP800-115 zwar auch Vorgehensweisen zum klassischen Penetration Testing, behandelt aber insgesamt das Thema „Information Security Testing and Assessment“. Ich hätte hier eigentlich einen Verweis auf ein reines Pentesting-Dokument erwartet. Damit deutet sich eine Erweiterung des eigentlichen Penetration Testing im Sinne des PCI DSS an, der z.B. zusätzlich auch technische Reviews beinhalten kann.

– Includes coverage for the entire CDE perimeter and critical systems
– Includes testing from both inside and outside the network
– Includes testing to validate any segmentation and scope-reduction controls

Die ersten beiden Punkte sind nicht neu. Der Pentest muss die gesamte PCI-Umgebung umfassen und von außen sowie von innen durchgeführt werden. Der dritte Punkt hat es dafür in sich: Die (oftmals vorhandene) Netzwerksegmentierung zwischen PCI-Scope und Nicht-PCI sowie die dafür eingesetzten Sicherheitsmaßnahmen müssen auf ihre Wirksamkeit hin geprüft werden. Mein erster Gedanke dabei war: Wie soll ein Penetration Tester das umsetzen? Eigentlich geht das nur über einen kompletten Review der Netzwerkpläne, Kommunikationsverbindungen und Firewall-Regeln, die für die PCI-Umgebung und die daran angeschlossenen Bereiche relevant sind. Das kann dann sicherlich durch einzelne klassische Techniken des Penetration Testing ergänzt werden, aber eigentlich fordert dieser Punkt mehr einen technischen Security-Audit. Diese Änderung geht dabei in die gleiche Richtig wie der vorher beschriebene Verweis auf den NIST SP 800-115. Der Penetrationstest wird mehr zu einem Security Assessment erweitert. Kernbestandteil bleibt zwar weiterhin der eigentliche Penetration Test, jedoch wird das der Umfang eines Penetrationstest im Sinne des PCI DSS durch die Änderung im neuen Standard 3.0 deutlich erweitert.

– Defines application-layer penetration tests to include, at a minimum, the vulnerabilities listed in Requirement 6.5
– Defines network-layer penetration tests to include components that support network functions as well as operating systems
– Includes review and consideration of threats and vulnerabilities experienced in the last 12 months
– Specifies retention of penetration testing results and remediation activitiesresults.

Die letzten Punkte konkretisieren noch etwas genauer, was eigentlich geprüft werden soll, und dass gefundene Schwachstellen natürlich angemessen behandelt werden wollen. Das ist inhaltlich identisch mit dem alten Standard, außer dass noch ein Augenmerk auf die Bedrohungen und Schwachstellen der letzten 12 Monate gelegt werden muss. Die Umsetzung erfordert in diesem Punkt eine sehr gut gepflegte Dokumentation eines Unternehmens, welchen Bedrohungen und Schwachstellen es ausgesetzt war. Der Penetration Tester muss dann diese Punkte speziell nochmals verifizieren.

11.3.1 Perform external penetration testing at least annually and after any significant infrastructure or application upgrade or modification (such as an operating system upgrade, a sub-network added to the environment, or a web server added to the environment).
11.3.2 Perform internal penetration testing at least annually and after any significant infrastructure or application upgrade or modification (such as an operating system upgrade, a sub-network added to the environment, or a web server added to the environment).
11.3.4 If segmentation is used to isolate the CDE from other networks, perform penetration tests at least annually and after any changes to segmentation
controls/methods to verify that the segmentation methods are operational and effective, and isolate all out-of-scope systems from in-scope systems.

In der Häufigkeit der Pentests gab es keine inhaltliche Änderung: Jährlich oder nach signifikanten Änderungen. An der Frage, was eigentlich genau signifikante Änderungen sind, scheiden sich immer noch die Geister. Eigentlich ist der PCI-Standard da sehr deutlich, so ist z.B. ein neuer Webserver bereits eine signifikante Änderung. In der Praxis hängt das von der Bewertung des Auditors ab. Aus der reinen sicherheitsrelevanten Betrachtung wäre es natürlich optimal, nach jeder (signifikanten) Änderung einen Test durchführen zu lassen. In der Realität müsste man jedoch bei Tagessätzen von über 1.000€ für Pentester gleich das Security-Budget enorm aufwerten. Unternehmen müssen in der Praxis für die Auslegung des schönen Begriffs „signifikant“ viel Feingefühl verwenden. Ansonsten muss auch bei Änderungen der Segmentierung zwischen Scope vs. Non-Scope ein neuer Pentest durchgeführt werden.

Wie sonst auch oft im PCI DSS verstecken sich gerne in den Prüfprozeduren für die eigentlichen Anforderungen weitere Anforderungen. Im Bereich des Requirements 11.3 ist dieses auch so:

Verify that the test was performed by a qualified internal resource or qualified external third party, and if applicable, organizational independence of the tester exists (not required to be a QSA or ASV).

Diese versteckte Anforderung in den Testprozeduren zum 11.3er wurde inhaltlich zum PCI-Standard 3.0 nicht geändert. Der Pentester muss kein QSA oder ASV sein und es wird kein konkreter Nachweis einer bestimmten Qualifikation gefordert. Sofern die Qualifikation offensichtlich ist, also der Pentester z.B. mehrere Jahre Berufserfahrung als Penetration Tester oder einschlägiger Zertifikate wie z.B. den OSCP nachweisen kann, ist die Sache klar. Ansonsten liegt es im Ermessen des Auditors. Unabhängig muss er verständlicherweise auch sein, d.h. entweder ist er gleich von einem anderen Unternehmen oder er ist innerhalb des Unternehmens unabhängig von der eigentlichen IT.

Insgesamt denke ich, dass die Änderungen im PCI DSS 3.0 bezüglich des Requirements 11.3 richtig und gut sind. Die Durchführung nach einem international akzeptierten Vorgehensmodell ist zwar keine Garantie für einen guten Penetrationstest, aber zumindest eine Voraussetzung dafür. Die neue Prüfung der Effektivität der Scope-Trennung wird primär nur durch den Einsatz von Reviews möglich sein. Letztendlich führt hier der Penetration Tester eine technisch fundiertere Analyse durch, als es ein Auditor bei der Festlegung vom Scope durchführen kann.

Literatur & mehr fürs Pentesting

Eine kleine – unvollständige – Übersicht über die verfügbare Literatur, Kurse usw. für Pentesting:

Kurse

Der OSCP (Offensive Security Certified Professional) von Offensive Security ist absolut sein Geld wert. Krassere Lernkurve geht kaum. Neben dem sehr guten Lab wird noch eine PDF und Videos mitgeliefert. Mehr Exploit Development gibts beim OSCE von Offensive..

Bücher

Für Exploit Development recht gut:

  • Hacking: Die Kunst des Exploits
  • Aus dem Tagebuch eines Bughunters: Wie man Softwareschwachstellen aufspürt und behebt

Ein älteres Buch (2007) über grundsätzliches Penetration Testing:

  • Die Kunst des Penetration Testing – Handbuch für professionelle Hacker

Metasploit ist zwar nicht gleich Pentesting, aber die Bücher sind ganz ok:

  • Penetration Testing mit Metasploit: Eine praktische Einführung
  • Metasploit: Das Handbuch zum Penetration-Testing-Framework

Online

Für Webanwendungen einfach OWASP.org besuchen. Der Pentesting Guide ist recht gut:

  • https://www.owasp.org/index.php/OWASP_Testing_Project

Für Metasploit gibts noch:

  • http://www.offensive-security.com/metasploit-unleashed/Requirements

 

Hausarbeit in Recht: Sicherheitsstandards zur sicheren Zahlung

Beim Sortieren alter Unterlagen vom Master-Studium Security Management bin ich über eine Hausarbeit aus der Vorlesung Recht gestolpert – vielleicht interessiert sich jemand dafür:

Download PDF: Sicherheitsstandards zur sicheren Zahlung – Übersicht über die internationalen, europäischen und nationalen Standards zur Sicherung von elektronischen Zahlungen sowie die Bewertung der Regelungen nach Verbindlichkeit und Freiwilligkeit

Google, Du hast gewonnen: Ich nutze ab sofort Google Drive für meine Daten

Der Security-Spezialist in mir weigerte sich jahrelang Cloud-Dienste in größerem Umfang zu nutzen. Gibt man schließlich private Daten in die Cloud, gibt man die absolute Kontrolle darüber ab. Meine Meinung darüber hat sich nicht wesentlich geändert, ich habe nur kapituliert.

Gegen die Geheimdienste bin ich ohnehin weitgehend machtlos und Krypto ist einfach für gewöhnliche private Daten viel zu aufwendig. Gegen 08/15-Hacker-Attacken wird sich Google sicherlich zu verteidigen wissen. Zumindest erscheint mir das Security-Konzept von Google auf den ersten Blick vorbildlich zu sein. Ich vertraue der Datenkrake Google unter Security-Aspekten wesentlich mehr als den Datenkraken Facebook oder Dropbox. Microsoft erwähne ich besser gar nicht erst.

Mittlerweile hat man nicht mehr nur einen PC oder Laptop, sondern einen ganzen Wildwuchs an Endgeräten: PCs, Laptops, Smartphones und Tablets. Ein paar Hundert Gigabytes an MP3s, Bildern, Vorlesungsunterlagen, uvm. kann man nur noch auf großen Datenträgern auslagern. Wenn man früher noch eine verschlüsselte externe Festplatte mitnahm, ist es heute nur noch umständlich: Wie schließe ich ein Tablet an eine verschlüsselte externe Festplatte an? Gar nicht.

Google kennt viele meiner Mails, mein komplettes Suchverhalten, synchronisiert von meinem Android-Device keine Ahnung was alles auf seine Server. Habe ich eigentlich noch wirklich eine Kontrolle, wer welche Daten von mir hat? Welche App auf meinem Smartphone welche privaten Daten von mir ins Ausland schickt? Nicht wirklich. Ich habe nur noch eine Pseudo-Kontrolle.

Ich könnte mir eine eigene Private Cloud aufbauen. Es gibt freie Software dazu, das ist nicht das Problem. Fehlt noch der Server, der schön regelmäßig Geld verschlingt. Dazu ist mir meine eigene private Zeit zu kostbar geworden, um Stunden oder gar Tage in irgendwelche Setups zu investieren, die dann nur mehr oder wenig gut funktionieren. Das ist keine Alternative mehr, der Aufwand ist zu hoch.

Ich habe mir jetzt testweise 100GB in Drive geholt, und werde vermutlich auf 1TB upgraden. Ich werde sicher keine wirklich privaten Dateien in die Cloud schieben. Für den Rest ist es einfach zu praktisch von allen Clients problemlos unterwegs auf Dateien in Drive zugreifen zu können. Ich kann nicht mehr kontrollieren, wer im Zweifel darauf zugreifen kann. Ich bin mir darüber bewusst, dass Google E-Mails scannt und ein amerikanisches Unternehmen ist.

Wenn ich aber die Risiken gegenüber den Vorteilen abwäge, ist die Entscheidung klar. Google du hast gewonnen, ich kapituliere: Technischer Fortschritt und maximale Privatsphäre lässt sich nicht vereinbaren. Man muss den persönlichen Kompromiss finden…

Der Zertifikats-Kürzel-Irrsinn hinter dem Nachnamen

Aus Marketing-Gründen bin ich z.B. bei LinkedIn selbst nicht besser, trotzdem nervt es so etwas in Fachzeitschriften zu lesen (fiktives Beispiel):

Der IT-Sicherheitsexperte Patrick Sauer, MSc, Diplom(FH), CISSP, CISM, OSCP, TISP, CPSSE, DSB-TÜV hat gestern mit seinem Kollegen Max Mustermann, PhD, MSc, CISSP, CISA, CISM und Frau Maxi Musterfrau, CISA, ISMS Auditor/Lead Auditor nach ISO/IEC 27001 nichts bahnbrechendes geschaffen, allerdings mussten die Titel und Zertifikate dringend einmal wieder leicht dezent in den Vordergrund gebraucht werden.

Akademische Abschlüsse wie B.Sc., M.Sc. oder Ph.D. hinter dem Nachnamen – okay. Aber muss man wirklich Zertifikate dahinten setzen? Und dann auch noch mehrere? Ganz ehrlich: Das liest sich in Fließtexten besonders – äh – suboptimal! Eins wäre ja noch ok, man könnte es auch hinter dem Nachnamen in Klammern setzen, aber diese aktuelle Unsitte Security-Zertifikate wie akademische Abschlüsse hinter dem Namen zu führen, ist in manchen Situationen nur noch peinlich.

Aufgrund meines CISM von der ISACA steht bei Post von dieser Organisation in der Anschrift direkt „Patrick Sauer, CISM“. Manchmal frage ich mich, was mein Postbote wohl denken muss. Ich sollte beim Briefkasten vielleicht einfach meine gesammelten Zertifikate aufzählen. Hat zwar kaum jemand auch nur eine Idee, was das sein soll, aber irgendwie muss man sich hochkompetent hervorzeigen.

Nur eine Meinung vom IT-Sicherheitsexperten Patrick Sauer, MSc, Diplom(FH), CISSP, CISM, OSCP, CPSSE, DSB-TÜV zur Unsitte Zertifikate hinter den Nachnamen zu setzen…..