Die langweilige PCI-DSS-Compliance in eine sinnvolle Übung für alle verwandeln: Teil 1 - AppSec

Veröffentlicht Apr 16, 2020
von Matias Madou, Ph.D.
FALLSTUDIE

Die langweilige PCI-DSS-Compliance in eine sinnvolle Übung für alle verwandeln: Teil 1 - AppSec

Veröffentlicht Apr 16, 2020
von Matias Madou, Ph.D.
Ressource anzeigen
Ressource anzeigen

Dies ist Teil 1 einer zweiteiligen Serie über erfolgreiche PCI-DSS-Compliance innerhalb einer Organisation. In diesem Kapitel erläutern wir, wie AppSec-Spezialisten eng mit Entwicklungsmanagern zusammenarbeiten können, um Entwickler zu befähigen, das SSDLC zu stärken und konkrete Ergebnisse aus der allgemeinen Gesetzgebung zu erzielen.

Das Wort "Compliance" ist nicht sehr aufregend. Es ist formell, trocken, direktiv... sogar ein wenig restriktiv in seinem Ton. Wenn es eine Farbe hätte, wäre sie beige. Und, nun ja, es scheint im Widerspruch zu jeder Art von kreativem Umfeld oder Innovation zu stehen.

Als Entwickler habe ich die Erfahrung gemacht, dass "compliant zu sein" in der Regel bedeutet, (vertikal) einige Richtlinien durchzulesen oder sich eine Präsentation anzusehen, bevor man sich wieder der Programmierung von Funktionen widmet und sich auf die Erstellung von Software konzentriert, die die Kunden nutzen und lieben werden. Jeder behält, was er im Moment kann (und versucht, immer das Richtige zu tun), aber Compliance-Richtlinien - insbesondere solche, die sich auf bewährte Sicherheitspraktiken beziehen - werden in der Regel nicht mit Entwicklern als Zielgruppe geschrieben, und alle erforderlichen Maßnahmen können unklar sein. In diesem Szenario ist es nur allzu leicht, einfach bei den aktuellen Zielen zu bleiben.

Die Sache ist die: Sichere Softwareentwicklung ist nicht länger ein "nice to have" in jedem Unternehmen; sie ist (oder sollte) in jedem Unternehmen an erster Stelle stehen... und wenn sie große Mengen an sensiblen Kundendaten enthält, dann ist das Unternehmen reif für die Ernte, wenn es um Cyberattacken geht. Entwickler sind die ersten, die mit dem Code in Berührung kommen und sollten daher genauso wie der Rest des Teams in alle Maßnahmen zur Einhaltung von Sicherheitsvorschriften eingebunden werden.

Aber, warten Sie... hören Sie mir zu. Das bedeutet nicht, dass jeder ein Sklave starrer, kreativitätsfreier Entwicklung und Software-Ergebnisse werden muss. Es bedeutet, dass das Unternehmen die Möglichkeit und die Macht hat, gemeinsam einen höheren Standard von Code zu schaffen. Ganz langsam holt die Welt die Tatsache ein, dass Entwickler bisher nicht gerade die richtigen Werkzeuge zur Verfügung hatten, um Sicherheit zu einer Priorität zu machen (und isolierte Sicherheitsspezialisten können die Verantwortung nicht allein schultern). Da sich die Branche jedoch auf eine DevSecOps-Zukunft zubewegt, in der Sicherheit eine gemeinsame Verantwortung ist, können sie dazu beitragen, den Strom wiederkehrender Schwachstellen einzudämmen, wenn sie für den Erfolg eingerichtet werden.

Die PCI-DSS-Richtlinien decken die Einhaltung der Online-Sicherheit für Kartenzahlungs-Gateways ab - ein Service, den die meisten von uns regelmäßig nutzen. Diese Richtlinien sind weltweit anwendbar und sie haben tatsächlich im Detail beschrieben, was Entwickler tun müssen, um die Standards in Übereinstimmung mit ihren Mandaten zu halten, neben mehreren Compliance-Dokumenten über Aspekte des eCommerce-Geschäfts.

Datenschutzverletzungen sind ein beängstigendes, rufschädigendes Risiko, das sich Unternehmen nicht leisten können. Cyber Security Ventures geht davon aus, dass im Jahr 2021 täglich eine Zero-Day-Verletzung auftreten wird - ein Problem, das jeder im Softwareentwicklungsprozess bekämpfen kann.

Lassen Sie uns die PCI-DSS-Empfehlungen aufschlüsseln, und wie sie im Team funktionieren können:

Hallo, AppSec- und Compliance-Teams: Nicht alle Entwicklerschulungen sind gleich

Entwickler in großen (oder auch kleinen) Organisationen haben selten einen großen Einfluss auf die Ausbildung, die sie on-the-job erhalten. Um Star-Mitarbeiter zu halten, bieten einige Unternehmen zwar umfassende Programme an, aber diese sind immer noch weniger verbreitet, als sie sein sollten. Ein Bedarf an Sicherheitsschulungen stellt eine großartige Gelegenheit dar, nicht nur die organisatorische Compliance einzuleiten, ohne alle zu langweilen, sondern auch damit zu beginnen, etwaige frostige Beziehungen mit dem Entwicklungsteam aufzuwärmen.

In Bezug auf die PCI-Konformität sind die Richtlinien der Organisation sehr spezifisch, was die Ergebnisse angeht, die sie von jeder Software erwartet, die mit Zahlungsgateways arbeitet. Unter anderem sollen die Anwendungen gehärtet sein (wichtig, um die Einspeisung von bösartigem Code oder Manipulationen zu vereiteln), es soll ein Minimum an Privilegien und ein umfassendes Bewusstsein für häufige Schwachstellen vorhanden sein. Alle Mitarbeiter, die mit Karteninhaberdaten arbeiten, müssen angemessen geschult werden, und für Entwickler kann diese Schulung über Erfolg oder Misserfolg beim Schreiben von sicherem Code von Anfang an entscheiden.

Das offizielle Dokument " Best Practices for Maintaining PCI-DSS Compliance" (Best Practices für die Aufrechterhaltung der PCI-DSS-Compliance ) enthält einige direkte Konzepte rund um das Sicherheitsbewusstsein, die Bedürfnisse von Entwicklern und entsprechende Schulungen, wie z. B.:

 

Urheberrecht © 2006 - 2020 PCI Security Standards Council, LLC. Alle Rechte vorbehalten.


Dies gibt einen Einblick in das spezifische, tiefgehende Training, das erforderlich ist, um Entwickler mit den notwendigen Fähigkeiten auszustatten, aber es zeigt immer noch nicht auf, dass bestimmte Arten von Bildungslösungen effektiver sind als andere. Der PCI-DSS Guide for Developers wird etwas direkter und nennt die OWASP Top 10 als einen Maßstab für das Erlernen des Auffindens und Behebens der häufigsten Schwachstellen sowie einige Zertifizierungsprogramme.

Aber... hier ist der Haken. Wie Sie zweifelsohne von verschiedenen Arbeitsplatzschulungen und Compliance-Initiativen wissen, können diese in Bezug auf Qualität und zukünftigen Erfolg stark variieren. Und wenn es um Entwickler geht, scheinen so viele Trainingsprogramme für sichere Programmierung nicht auf unsere Bedürfnisse, Arbeitsweisen oder sogar unsere tägliche Arbeit in irgendeiner sinnvollen Weise einzugehen. In diesem Szenario ist nicht jede Schulung gleich, und nicht jede Schulung führt zu einer sichereren Software. Das ist natürlich das genaue Gegenteil des gewünschten Ergebnisses und wird den Stress der eigenen Arbeit nicht in nennenswertem Umfang reduzieren. Wenn Sie die Belastung reduzieren und verhindern wollen, dass häufige Sicherheitslücken zu potenziellen Katastrophen führen, müssen Sie eine Brücke bauen.

Überbrückung der Qualifikationslücke im Sicherheitsbereich mit technischen Managern an Ihrer Seite

Die direkte Zusammenarbeit mit den technischen Managern, um eine Lösung zu finden, die zweckdienlich ist und gleichzeitig von den Leuten angenommen wird, die sie tatsächlich durchführen müssen, ist ein schneller Weg zu positiven Sicherheitsergebnissen. Sie haben einen direkteren Einblick in ihr eigenes Team und können etwaige Blockaden ansprechen, die das Compliance-Training bisher erschwert haben (abgesehen davon, dass es meistens keine gute Erfahrung ist).

Schulungen im Klassenzimmer, Video-on-Demand und einmalige Übungen machen es sehr schwierig, auf dem neuesten Stand zu bleiben; dies sind statische Lösungen, die nicht mit der sich ständig verändernden Landschaft der Cybersicherheitsbranche Schritt halten können. Es ist wichtig, mit ihnen zusammenzuarbeiten und praktikable Optionen anzubieten, die das gemeinsame Ziel aller Beteiligten erreichen: sicherer und konformer Code.

Wie sieht also eine gute Ausbildung aus? Es macht sehr wenig Sinn, sicheres Programmieren durch große, einmalige Informationshäppchen zu lernen. Ein mundgerechter, schrittweiser Lernprozess macht es viel einfacher, sich daran zu erinnern und es im Kontext anzuwenden, und es muss unbedingt in den Sprachen und Frameworks sein, die jeden Tag verwendet werden. Ich persönlich möchte herausgefordert werden, und ich möchte einen Zweck für meine Bemühungen sehen - wir sind alle so schon beschäftigt genug, oder?

Um die oben beschriebenen PCI-DSS-Best-Practices einzuhalten, müssen Manager je nach gewählter Lösung möglicherweise einen Flickenteppich aus verschiedenen courses zusammensetzen, um alle Sprachen und Frameworks abzudecken, die im gesamten Unternehmen verwendet werden - und dann wird es sehr unübersichtlich, ganz zu schweigen davon, dass es für AppSec- und Compliance-Teams schwierig ist, die Auswirkungen auf die Sicherheit und die Reduzierung von Schwachstellen in der Software zu bewerten. Arbeiten Sie zusammen, um die richtige Lösung zu finden, anstatt auf der Jagd nach einem schnellen Ergebnis in die falsche Option zu stürzen. Andernfalls könnten Sie mit einer Frankenstein-Schulungslösung enden... und das sieht sehr beängstigend aus.

Vielen Dank, dass Sie sich den ersten Teil dieser PCI-DSS-Miniserie angesehen haben. Im letzten Kapitel werden wir erörtern, wie CISOs und CTOs diesen Kulturwandel unterstützen, Teams befähigen und wie die Sicherheitsfront - Ihre Entwickler-Kohorte - PCI-DSS-Bewusstsein und Compliance zu ihrem Vorteil nutzen können.

Ressource anzeigen
Ressource anzeigen

Autor

Matias Madou, Ph.D.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Sie wollen mehr?

Tauchen Sie ein in unsere neuesten Erkenntnisse über sichere Kodierung im Blog.

Unsere umfangreiche Ressourcenbibliothek zielt darauf ab, die menschliche Herangehensweise an eine sichere Weiterbildung im Bereich der Programmierung zu stärken.

Blog ansehen
Sie wollen mehr?

Holen Sie sich die neuesten Forschungsergebnisse zur entwicklergesteuerten Sicherheit

Unsere umfangreiche Ressourcenbibliothek ist voll von hilfreichen Ressourcen, von Whitepapers bis hin zu Webinaren, die Ihnen den Einstieg in die entwicklungsorientierte sichere Programmierung erleichtern. Erforschen Sie sie jetzt.

Ressourcendrehscheibe

Die langweilige PCI-DSS-Compliance in eine sinnvolle Übung für alle verwandeln: Teil 1 - AppSec

Veröffentlicht Apr 16, 2020
Von Matias Madou, Ph.D.

Dies ist Teil 1 einer zweiteiligen Serie über erfolgreiche PCI-DSS-Compliance innerhalb einer Organisation. In diesem Kapitel erläutern wir, wie AppSec-Spezialisten eng mit Entwicklungsmanagern zusammenarbeiten können, um Entwickler zu befähigen, das SSDLC zu stärken und konkrete Ergebnisse aus der allgemeinen Gesetzgebung zu erzielen.

Das Wort "Compliance" ist nicht sehr aufregend. Es ist formell, trocken, direktiv... sogar ein wenig restriktiv in seinem Ton. Wenn es eine Farbe hätte, wäre sie beige. Und, nun ja, es scheint im Widerspruch zu jeder Art von kreativem Umfeld oder Innovation zu stehen.

Als Entwickler habe ich die Erfahrung gemacht, dass "compliant zu sein" in der Regel bedeutet, (vertikal) einige Richtlinien durchzulesen oder sich eine Präsentation anzusehen, bevor man sich wieder der Programmierung von Funktionen widmet und sich auf die Erstellung von Software konzentriert, die die Kunden nutzen und lieben werden. Jeder behält, was er im Moment kann (und versucht, immer das Richtige zu tun), aber Compliance-Richtlinien - insbesondere solche, die sich auf bewährte Sicherheitspraktiken beziehen - werden in der Regel nicht mit Entwicklern als Zielgruppe geschrieben, und alle erforderlichen Maßnahmen können unklar sein. In diesem Szenario ist es nur allzu leicht, einfach bei den aktuellen Zielen zu bleiben.

Die Sache ist die: Sichere Softwareentwicklung ist nicht länger ein "nice to have" in jedem Unternehmen; sie ist (oder sollte) in jedem Unternehmen an erster Stelle stehen... und wenn sie große Mengen an sensiblen Kundendaten enthält, dann ist das Unternehmen reif für die Ernte, wenn es um Cyberattacken geht. Entwickler sind die ersten, die mit dem Code in Berührung kommen und sollten daher genauso wie der Rest des Teams in alle Maßnahmen zur Einhaltung von Sicherheitsvorschriften eingebunden werden.

Aber, warten Sie... hören Sie mir zu. Das bedeutet nicht, dass jeder ein Sklave starrer, kreativitätsfreier Entwicklung und Software-Ergebnisse werden muss. Es bedeutet, dass das Unternehmen die Möglichkeit und die Macht hat, gemeinsam einen höheren Standard von Code zu schaffen. Ganz langsam holt die Welt die Tatsache ein, dass Entwickler bisher nicht gerade die richtigen Werkzeuge zur Verfügung hatten, um Sicherheit zu einer Priorität zu machen (und isolierte Sicherheitsspezialisten können die Verantwortung nicht allein schultern). Da sich die Branche jedoch auf eine DevSecOps-Zukunft zubewegt, in der Sicherheit eine gemeinsame Verantwortung ist, können sie dazu beitragen, den Strom wiederkehrender Schwachstellen einzudämmen, wenn sie für den Erfolg eingerichtet werden.

Die PCI-DSS-Richtlinien decken die Einhaltung der Online-Sicherheit für Kartenzahlungs-Gateways ab - ein Service, den die meisten von uns regelmäßig nutzen. Diese Richtlinien sind weltweit anwendbar und sie haben tatsächlich im Detail beschrieben, was Entwickler tun müssen, um die Standards in Übereinstimmung mit ihren Mandaten zu halten, neben mehreren Compliance-Dokumenten über Aspekte des eCommerce-Geschäfts.

Datenschutzverletzungen sind ein beängstigendes, rufschädigendes Risiko, das sich Unternehmen nicht leisten können. Cyber Security Ventures geht davon aus, dass im Jahr 2021 täglich eine Zero-Day-Verletzung auftreten wird - ein Problem, das jeder im Softwareentwicklungsprozess bekämpfen kann.

Lassen Sie uns die PCI-DSS-Empfehlungen aufschlüsseln, und wie sie im Team funktionieren können:

Hallo, AppSec- und Compliance-Teams: Nicht alle Entwicklerschulungen sind gleich

Entwickler in großen (oder auch kleinen) Organisationen haben selten einen großen Einfluss auf die Ausbildung, die sie on-the-job erhalten. Um Star-Mitarbeiter zu halten, bieten einige Unternehmen zwar umfassende Programme an, aber diese sind immer noch weniger verbreitet, als sie sein sollten. Ein Bedarf an Sicherheitsschulungen stellt eine großartige Gelegenheit dar, nicht nur die organisatorische Compliance einzuleiten, ohne alle zu langweilen, sondern auch damit zu beginnen, etwaige frostige Beziehungen mit dem Entwicklungsteam aufzuwärmen.

In Bezug auf die PCI-Konformität sind die Richtlinien der Organisation sehr spezifisch, was die Ergebnisse angeht, die sie von jeder Software erwartet, die mit Zahlungsgateways arbeitet. Unter anderem sollen die Anwendungen gehärtet sein (wichtig, um die Einspeisung von bösartigem Code oder Manipulationen zu vereiteln), es soll ein Minimum an Privilegien und ein umfassendes Bewusstsein für häufige Schwachstellen vorhanden sein. Alle Mitarbeiter, die mit Karteninhaberdaten arbeiten, müssen angemessen geschult werden, und für Entwickler kann diese Schulung über Erfolg oder Misserfolg beim Schreiben von sicherem Code von Anfang an entscheiden.

Das offizielle Dokument " Best Practices for Maintaining PCI-DSS Compliance" (Best Practices für die Aufrechterhaltung der PCI-DSS-Compliance ) enthält einige direkte Konzepte rund um das Sicherheitsbewusstsein, die Bedürfnisse von Entwicklern und entsprechende Schulungen, wie z. B.:

 

Urheberrecht © 2006 - 2020 PCI Security Standards Council, LLC. Alle Rechte vorbehalten.


Dies gibt einen Einblick in das spezifische, tiefgehende Training, das erforderlich ist, um Entwickler mit den notwendigen Fähigkeiten auszustatten, aber es zeigt immer noch nicht auf, dass bestimmte Arten von Bildungslösungen effektiver sind als andere. Der PCI-DSS Guide for Developers wird etwas direkter und nennt die OWASP Top 10 als einen Maßstab für das Erlernen des Auffindens und Behebens der häufigsten Schwachstellen sowie einige Zertifizierungsprogramme.

Aber... hier ist der Haken. Wie Sie zweifelsohne von verschiedenen Arbeitsplatzschulungen und Compliance-Initiativen wissen, können diese in Bezug auf Qualität und zukünftigen Erfolg stark variieren. Und wenn es um Entwickler geht, scheinen so viele Trainingsprogramme für sichere Programmierung nicht auf unsere Bedürfnisse, Arbeitsweisen oder sogar unsere tägliche Arbeit in irgendeiner sinnvollen Weise einzugehen. In diesem Szenario ist nicht jede Schulung gleich, und nicht jede Schulung führt zu einer sichereren Software. Das ist natürlich das genaue Gegenteil des gewünschten Ergebnisses und wird den Stress der eigenen Arbeit nicht in nennenswertem Umfang reduzieren. Wenn Sie die Belastung reduzieren und verhindern wollen, dass häufige Sicherheitslücken zu potenziellen Katastrophen führen, müssen Sie eine Brücke bauen.

Überbrückung der Qualifikationslücke im Sicherheitsbereich mit technischen Managern an Ihrer Seite

Die direkte Zusammenarbeit mit den technischen Managern, um eine Lösung zu finden, die zweckdienlich ist und gleichzeitig von den Leuten angenommen wird, die sie tatsächlich durchführen müssen, ist ein schneller Weg zu positiven Sicherheitsergebnissen. Sie haben einen direkteren Einblick in ihr eigenes Team und können etwaige Blockaden ansprechen, die das Compliance-Training bisher erschwert haben (abgesehen davon, dass es meistens keine gute Erfahrung ist).

Schulungen im Klassenzimmer, Video-on-Demand und einmalige Übungen machen es sehr schwierig, auf dem neuesten Stand zu bleiben; dies sind statische Lösungen, die nicht mit der sich ständig verändernden Landschaft der Cybersicherheitsbranche Schritt halten können. Es ist wichtig, mit ihnen zusammenzuarbeiten und praktikable Optionen anzubieten, die das gemeinsame Ziel aller Beteiligten erreichen: sicherer und konformer Code.

Wie sieht also eine gute Ausbildung aus? Es macht sehr wenig Sinn, sicheres Programmieren durch große, einmalige Informationshäppchen zu lernen. Ein mundgerechter, schrittweiser Lernprozess macht es viel einfacher, sich daran zu erinnern und es im Kontext anzuwenden, und es muss unbedingt in den Sprachen und Frameworks sein, die jeden Tag verwendet werden. Ich persönlich möchte herausgefordert werden, und ich möchte einen Zweck für meine Bemühungen sehen - wir sind alle so schon beschäftigt genug, oder?

Um die oben beschriebenen PCI-DSS-Best-Practices einzuhalten, müssen Manager je nach gewählter Lösung möglicherweise einen Flickenteppich aus verschiedenen courses zusammensetzen, um alle Sprachen und Frameworks abzudecken, die im gesamten Unternehmen verwendet werden - und dann wird es sehr unübersichtlich, ganz zu schweigen davon, dass es für AppSec- und Compliance-Teams schwierig ist, die Auswirkungen auf die Sicherheit und die Reduzierung von Schwachstellen in der Software zu bewerten. Arbeiten Sie zusammen, um die richtige Lösung zu finden, anstatt auf der Jagd nach einem schnellen Ergebnis in die falsche Option zu stürzen. Andernfalls könnten Sie mit einer Frankenstein-Schulungslösung enden... und das sieht sehr beängstigend aus.

Vielen Dank, dass Sie sich den ersten Teil dieser PCI-DSS-Miniserie angesehen haben. Im letzten Kapitel werden wir erörtern, wie CISOs und CTOs diesen Kulturwandel unterstützen, Teams befähigen und wie die Sicherheitsfront - Ihre Entwickler-Kohorte - PCI-DSS-Bewusstsein und Compliance zu ihrem Vorteil nutzen können.

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.