Genau diese Frage stelle ich mir schon länger, denn eins ist sicher, es ist eigentlich die Aufgabe eines kompletten, und zwar gemischten Teams.

Fakt ist auch, die meisten Datenschutzverletzungen sind auf menschliches Versagen zurückzuführen – Social Engineering, Phishing usw.

 

Sicherheitslücken sind sicherlich ein “Problem, das sich negativ auf den Wert des Produkts auswirken könnte”. Davon abgesehen ist die Sicherheitsprüfung durchaus Teil des QA-Prozesses. Natürlich werdet ihr nicht in der Lage sein, alle potenziellen Sicherheitsprobleme zu finden (und es ist sehr gefährlich, davon auszugehen, dass ihr das tun werdet), aber nehmt nicht eine so eingeschränkte Sichtweise der Qualitätssicherung ein, dass ihr glaubt, diese Art von Tests läge völlig außerhalb eures Aufgabenbereichs.

Alle Aspekte eines Produkts, seien es Funktionen, Leistung oder Sicherheit, liegen in der Verantwortung des gesamten Teams. Die Rollen und Verantwortlichkeiten für die Bereitstellung des Produkts unter Berücksichtigung aller Aspekte werden jedoch an das Team delegiert.

  • Die Entscheidung darüber, welche Sicherheitsmaßnahmen für das Projekt implementiert werden müssen, liegt in der Verantwortung des Product Owners/Architekten/Leiters.
  • Die Entwickler übernehmen die Aufgabe, die beschlossenen Sicherheitsmaßnahmen zu implementieren.
  • Die Tester stellen sicher, dass die Sicherheitsaspekte auf der Grundlage entsprechender Sicherheitstests/Überprüfungen durchgesetzt werden.
  • Die DevOps hingegen sind dafür verantwortlich, dass alle Aspekte im Lebenszyklus der Produktfreigabe erfüllt werden.

Da wir jedoch alle Menschen sind, ist ein teaminternes Feedbacksystem erforderlich, um sicherzustellen, dass die bereits getroffenen Sicherheitsmaßnahmen aktualisiert werden. Die folgenden Links zu Sicherheitstestdiensten könnten von Nutzen sein:

https://blog.qasource.com/security-as-a-service

https://blog.qasource.com/protecting-yourself-from-common-security-shortfalls/

https://blog.qasource.com/cyber-security-testing-checklist

Alle Aspekte der Qualität – funktionale und nicht-funktionale Tests – sollten vom gesamten Team gelöst werden. Die Einführung einer Wand, an der die Entwickler entwickeln und die Tester testen, führt zu Übergaben, was den Kommunikationsbedarf erhöht und den Gesamtprozess verlangsamen kann.

Jeder ist für die Sicherheit verantwortlich:

  • DevOps ist eine “shift left”-Mentalität, die betriebliche Überlegungen früher in den Lebenszyklus der Produktentwicklung verlagert. Das bedeutet, dass Betriebsspezialisten während der Anforderungserstellung und des Entwurfs einen Beitrag leisten. Zu diesen Beiträgen gehört auch die Sicherheit.
  • Entwickler sollten darauf achten, automatisierte Sicherheitsanalysetools in ihren Prozess einzubinden. Statische Analysen können Fehler im Code frühzeitig aufspüren und in Builds integriert werden. Tools zur Analyse der Softwarezusammensetzung können Risiken und Schwachstellen in Abhängigkeiten aufdecken. Ein Verständnis für sichere Kodierungstechniken kann eingeschleuste Schwachstellen reduzieren oder sie bei der Überprüfung des Codes finden.
  • Entwickler und Betreiber können dynamische Analysen einführen, um das Softwaresystem auszuführen und potenzielle Schwachstellen zu melden. Dynamische Analysetools können regelmäßig auf Entwicklungs-, Test- oder Staging-Umgebungen angewendet werden.
  • Tester mit Kenntnissen über häufige Schwachstellen und Anfälligkeiten können dieses Wissen in Testfälle einfließen lassen.
    Die Betreiber können die Überwachung einbeziehen, um verdächtige Aktivitäten oder Muster zu erkennen, die auf Versuche hinweisen, Schwachstellen zu finden und auszunutzen, und entsprechende Maßnahmen ergreifen.

Der Schlüssel liegt meiner Meinung nach darin, nicht mehr in Kategorien wie “Entwickler”, “Tester” oder “Operator” zu denken. Denkt vielmehr so, dass ihr  einen bestimmten Bereich spezialisiert haben, aber auch von anderen Fähigkeiten lernen und bei der Entwicklung und Bereitstellung von Systemen und Lösungen einen ganzheitlichen Teamansatz verfolgen.

Ich werde an diesem Thema weiter dran bleiben.