Das Team von König Consult GmbH transparenter Hintergrund

Sichere SW-Entwicklung gemäß ISO 27001


Jetzt Kontakt aufnehmen

Populäre Irrtümer bezüglich Informationssicherheit!

Informationssicherheit ist ein weit verbreiteter Begriff. Jeder hat seine eigene Definition, und die kann vom Verständnis der ISO 27001 abweichen. Die häufigsten Irrtümer sind:

Irrtum: Informationssicherheit bekämpft (hauptsächlich) Hacker und von außen kommende Malware

Zahlreiche Studien belegen, dass die größte Gefahr für die Sicherheit von „innen“ kommt. Menschen machen Fehler, auch wenn sie mit sensiblen Daten umgehen. Schlimmer noch, Mitarbeiter können sich auf kriminelle Handlungen einlassen. Die „Datenleaks“ der Schweizer Banken zeigen deutlich, welchen Schaden ein Einzelner innerhalb einer großen Organisation anrichten kann.  Natürlich sind Hacker und Malware von außen auch eine Bedrohung für jedes Unternehmen. Unser Bild eines Hackers wird aber stark von Hollywood geprägt. In der Realität kämpfen Unternehmen aber immer häufiger gegen professionell organisierte und teilweise staatlich betriebener Industriespionage.

Irrtum: Informationssicherheit konzentriert sich (hauptsächlich) auf den Schutz sensibler Daten

Informationssicherheit erfordert den Schutz sensibler Daten. Vertraulichkeit ist jedoch nur einer von drei Aspekten.

  1. Vertraulichkeit: Schutz sensibler Daten vor unberechtigtem Zugriff.
  2. Integrität: Informationen dürfen nicht unangemessen verändert werden, weder versehentlich noch absichtlich.
  3. Verfügbarkeit: Benutzer müssen in der Lage sein, Informationen bei Bedarf abzurufen; es dürfen keine Daten verloren gehen.

ISO 27001 deckt alle drei Aspekte ab.

Irrtum: SW Entwicklung findet in SW Entwicklungsabteilung statt

Auch Unternehmen ohne eigene SW Entwicklung haben typischerweise Entwicklungsprozesse im Sinn von ISO 27001. Dies betrifft zum Beispiel den IT Betrieb, der sich mittels „Skripten“ optimiert. Diese werden aber normalerweise von IT Profis mit entsprechendem Problembewusstsein erstellt und sind weniger problematischer als unternehmensweit verwendete Standarddokumente mit zum Beispiel Microsoft Office Makros. Eine von einem Sekretariat erstellte Briefvorlage oder von der kaufmännischen Abteilung erstelltes Abrechnungstool sind ein breites Einfallstor für jeden Hacker.

Irrtum: Informationssicherheit kann im Betrieb sichergestellt werden

Die Nutzung einer bereits im Sourcecode vorhandenen „Hintertür“ kann auch vom sichersten Betrieb nicht verhindert werden. Wie der Stuxnet Vorgang belegt, reicht selbst eine 100% Netzabschottung der Betriebs IT nicht aus, da ein zweistufiger Angriff über den SW-Importvorgang stattfinden kann.

Deshalb sollte nur SW von als sicher eingestuften Anbietern eingesetzt werden. Diese Einstufung kann stark davon abhängen, ob Geheimdienste als Bedrohung angesehen werden, da manche Hersteller in Ihren Herkunftsländern zur Zusammenarbeit mit Geheimdiensten rechtlich verpflichtet sind.

 

Hauptforderungen von ISO 27001 bezüglich Entwicklung und Testen

Entwicklung, Tests und Änderungsmanagement erfordern klare schriftliche Informationssicherheitsrichtlinien.

ISO 27001 erfordert keine spezifischen Organisationsformen oder Softwareprozesse. ISO 27001 betont jedoch klare Regeln und Richtlinien für den Umgang mit Informationsressourcen und den Engineering-Prozessen.

  1. Zunächst müssen Sie klarstellen, welche Daten sensibel sind und wie mit ihnen umgegangen werden soll.
  2. Sie müssen beschreiben, wie die Organisation sichere SW Entwicklung in einer sicheren Umgebung gewährleistet.
  3. Sie müssen beschreiben, wie Software ohne Risiko für die Stabilität in den Produktivbetrieb übernommen werden kann.

Richtlinien durchsetzen und Nachweise erstellen.

ISO 27001 verlangt, dass die Richtlinien konsequent durchgesetzt werden und Nachweise vorliegen. Mit anderen Worten: Dokumentieren, dokumentieren, dokumentieren. Glücklicherweise bieten moderne SW Entwicklungs- und Testtools genügend Möglichkeiten, dies ohne großen Mehraufwand zu erreichen. Hier muss aber auf eine Personalisierung der Verantwortung und eine sichere Archivierung der Dokumentation geachtet werden. Außerdem müssen alle Mitarbeiter kontinuierlich geschult und motiviert werden, entsprechend zu handeln. Chaotische Genies oder nicht geniale Chaoten müssen in Teams und Prozesse eingebettet werden, die die Konformität mit ISO 27001 sicherstellen.

 

Verantwortlichkeiten für die Implementierung von ISO 27001

ISO 27001 hat Kapitel und einen Anhang A. Die Kapitel definieren einen Rahmen für die Informationssicherheit, und der Chief Security oder Chief Compliance Officer muss an diesen Themen arbeiten. Im Gegensatz dazu muss die IT-Abteilung im Allgemeinen die Mehrheit der 114 Controls aus Anhang A implementieren. Einige von ihnen sind nur für Entwickler, Tester und Änderungsmanager relevant.

 

Informationswerte (Information Assets) in Entwicklung und Erprobung

Informationssicherheit beginnt mit der Identifizierung der Informationswerte sowie deren Klassifizierung und Kennzeichnung. Die zugangsberechtigten Benutzergruppen müssen geklärt werden. Datenzugriffs- und Schutzmechanismen müssen definiert werden.

Es gibt folgende Arten von Informationsbeständen:

Im Falle von Produktionsdaten und -dokumenten arbeiten das Unternehmen, die Rechts- und Compliance-Abteilung und das Risikomanagement zusammen. Sie klassifizieren die Vermögenswerte und legen Richtlinien für den Umgang mit ihnen fest. Datenschutzgesetze haben Auswirkungen auf die Richtlinien, insbesondere in Europa. Die Richtlinien legen beispielsweise fest, ob Kundendaten sensibel sind, wer auf sie zugreifen darf usw. Tester und Ingenieure sind an der Klassifizierung nicht beteiligt, obwohl sich die Richtlinien auf sie auswirken können. Sie können z.B. die Speicherung von Kreditkartennummern von Kunden in Testsystemen verbieten.

Auch Informationswerte im Bereich der SW Entwicklung müssen klassifiziert werden. Die wichtigsten Vermögenswerte sind Quellcodes, Produktbeschreibungen, und Entwicklungs-Dokumentation, wie z.B. Anforderungen, Spezifikationen neuer Produktmerkmale, Architekturdokumente, Handelsalgorithmen von Hedge-Fonds usw., und sie können ebenso kritisch sein wie Produktionsdaten. ISO 27001 verlangt hier lediglich eine Klärung.

 

SW-Entwicklung in der ISO 27001 (Design, Build)

Notwendig ist Risikobewertung der Informationssicherheit zur Erzeugung von Sicherheitsanforderungen, die sowohl geschäftliche als auch technische Aspekte einbeziehen. Dies ist erforderlich, um funktionelle und technische Spezifikationen für Sicherheit und andere Funktionen, aber auch Verwendungs- und Missbrauchsfälle festzulegen.

Ebenso notwendig sind Konzepte des „ Security Risk Management Lifecycle „. Diese betreffen zum Beispiel die Anwendung der Sicherheitsrisikobeurteilung/-überprüfung, Verbesserungs- und Prüftechniken zur Software-Wartungs- und Aktualisierungsarbeiten sowie der angemessene Umgang mit End-of-Life-Systeme und ihre gespeicherten Daten sowie defekte Hardware

ISO 27001 definiert folgende Anforderungen:

 

SW-Entwicklung in der ISO 27001 (Tests)

Die Anforderungen sind mit vielen Software-Entwicklungsprozessen wie Scrum oder dem älteren Wasserfallmodell kompatibel. Scrum erfordert jedoch mehr Gedanken als das Wasserfallmodell. IT-Abteilungen, die das Wasserfallmodell (oder das V-Modell) verwenden, verfügen oft über ein Testzentrum und Quality Gates. Quality Gates definieren die Kriterien dafür, wann Tests beginnen können und wann sie erfolgreich sind. Ein Kriterium vor dem Testbeginn kann sein, dass die Entwickler Sicherheitstests durchgeführt haben. Ein Ausstiegskriterium für Tests kann sein, dass Benutzerakzeptanztests in der Testumgebung für funktionale und nicht-funktionale Anforderungen erfolgreich waren. Wenn Tester in einem Testzentrum arbeiten und nicht Teil eines Entwicklungsteams sind, können Entwicklungsteams keinen großen Druck auf sie ausüben. So können Tester die Anforderungen für alle Projekte leichter durchsetzen.

In der Welt von Scrum und Agil gibt es oft keine Testzentren und keine zentrale Verwaltung. Das mag fragwürdig sein, aber es ist Realität. Entwicklung und Test überschneiden sich zeitlich. Rollen überschneiden sich. Dies ist jedoch keine Entschuldigung für fehlende Dokumentation oder nicht implementierte Controls bei einem ISO 27001-Audit. Dies ist die größte Herausforderung für agile Projekte bezüglich Normkonformität. Ein Lösungsansatz dazu wir im Kapitel Freigabe- und Änderungsmanagement beschrieben.

 

Sichere SW-Entwicklungsumgebung

 

Freigabe- und Änderungsmanagement

Die ISO 27001 beschreit ein Release-Management im Stil der alten Checkboxen. IT-Mitarbeiter haben eine Liste von Kriterien, die sie überprüfen. Wenn alle erfüllt sind, kann eine Änderung in Produktion gehen. Dieses Modell erfüllt die heutigen Bedürfnisse vieler Organisationen. Hochgradig agile Organisationen bevorzugen jedoch die kontinuierliche Integration und DevOps. Sie investieren in Testautomatisierung, um schnelle Rückkopplungsschleifen zu haben. Möglicherweise gibt es sogar keine manuellen Tests, bevor kleine Änderungen in die Produktion eingeführt werden, was die Frage aufwirft, ob dies mit ISO 27001 konform ist.

Diskussion darüber, ob ISO 27001 veraltet ist und Scrum, DevOps usw. dem Stand der Technik entsprechen, sind nicht hilfreich. Eine flexible Anwendung von ISO 27001 hilft besser, da eine Top-Management-Entscheidung für ISO 27001 ein höheres Gewicht als jeder Entwicklungs- oder Testprozess hat. ISO 27001 schreibt keine manuellen Tätigkeiten vor. Entwickler und Tester sollten ihre Zeit in die automatisierte Bereitstellung von für ISO 27001 geforderten Informationen investieren. Dies ist machbar, auch wenn zwischen der Codierung und dem produktiven Einsatz keine oder nur minimale menschliche Beteiligung besteht. Schriftliche Betriebsverfahren, archivierte Audit-Protokolle usw. helfen, die Konformität sicherzustellen.  

 

Ausgelagerte Entwicklung

Outsourcing und Offshoring sind bei der Softwareentwicklung und beim Testen üblich, stellen jedoch zwei Risiken für die Informationssicherheit dar. Erstens erhalten die Beschaffungspartner sensible Daten, über die sie nicht verfügen sollten. Zweitens gehen ihre Softwareentwicklungs- und Testprozesse möglicherweise nicht richtig auf die Bedürfnisse der Informationssicherheit ein. Die Norm fordert die Überwachung von ausgelagerter Entwicklung und Tests. Die Arbeit kann ausgelagert werden, aber die Verantwortung bleibt bei der Organisation.

 

Wie sieht es in der Praxis aus?

ISO/IEC 27002 hat eine Reihe von guten Grundideen als Ausgangspunkt. Die risikobasierte Vorgehensweise und die notwendige Klassifizierung der Informationswerte erscheinen anfangs lästig, zahlen sich aber meistens bereits nach kurzer Zeit aus. Das ganze Sicherheitsthema soll ab der Geburt in der DNA jeder Software sein – und dies ist damit möglich.

Wenn das jedoch nicht der Fall ist – die nachträgliche Implementierung von Sicherheit ist teuer und die Massivität einer „globalen Lösung“ überfordert oft die Organisation. Mit anderen Worten, es lohnt sich genauer hinzuschauen, was man bereits für die Software-Sicherheit tut, und auf dem aufzubauen, was dort vorhanden ist, selbst wenn es keinen „Sicherheits“-Aufkleber hat.  Schrittweise Verbesserung ist den Mitarbeitern und dem Management viel leichter zu verkaufen als eine Revolution.