Sichere Softwareentwicklung und Kryptokonzept: Wie wir Sicherheitslücken vermeiden

Beitragsbild iS2 sichere Softwareentwicklung und Kryptokonzept

Software ist heutzutage ein unverzichtbarer Bestandteil unseres Alltags. Aufgrund der zunehmenden Abhängigkeit von Software sind auch die Sicherheitsrisiken, also Bedrohungen für die Integrität, Vertraulichkeit oder Verfügbarkeit von Daten oder Systemen, gestiegen.

Insbesondere auch für Versicherungen ist es elementar wichtig, dass Kunden- und Geschäftsdaten geschützt sind und eine personen-, prozess- und technologieübergreifende Anwendungssicherheit gewährleistet werden kann.

Richtlinien für sichere Softwareentwicklung können Risiken minimieren und die Sicherheit von Software verbessern, indem sie festlegen, welche Maßnahmen zur Minimierung von Sicherheitsrisiken ergriffen werden sollten und wie mit diesen umzugehen ist.

Unser Artikel gibt einen Überblick über die wichtigsten Aspekte von sicherer Softwareentwicklung und Kryptokonzepten.

Inhalt

ISMS

Die International Organization for Standardization (ISO) und die International Electrotechnical Commission (IEC) haben die ISMS-Richtlinie (Information Security Management System) entwickelt, um Organisationen bei der Schaffung und Aufrechterhaltung von Informationssicherheit zu unterstützen. Die Richtlinie legt einen Rahmen für die Planung, Implementierung, Überwachung, Wartung und Verbesserung von Sicherheitsmaßnahmen fest. Beinhaltet sind beispielsweise Verfahren für die Verwaltung von Zugriffsrechten, die Durchführung von Sicherheitstests und die Schulung von Mitarbeitern in Bezug auf Informationssicherheit.

Die Einhaltung der Richtlinien ist für alle Unternehmen obligatorisch, die ISO/IEC 27001 zertifiziert sind, sollten jedoch auch von allen anderen Organisationen genutzt werden, die sich für ein umfassendes Informationssicherheitsmanagement interessieren.

Sichere Softwareentwicklung

Ein Baustein von ISMS ist die sichere Softwareentwicklung, ein Ansatz zur sicheren und effektiven Erstellung von Software. Die hierfür definierten Richtlinien bieten einen klaren und strukturierten Rahmen für die Identifikation und Behebung von Sicherheitsrisiken während der gesamten Entwicklungsphase eines Produktes.

Beinhaltet sind verschiedene standardisierte Prozesse, zu denen Planung, Analyse, Design, Implementierung, Test und Bereitstellung gehören. Jeder dieser Prozesse muss bestimmten Richtlinien entsprechen, damit die Qualität der entstehenden Software gewährleistet ist.

Ein bedeutsamer Aspekt der sicheren Softwareentwicklung ist die Schulung und Sensibilisierung der Entwicklerteams. Es ist wichtig, dass alle Teammitglieder über die aktuellen Sicherheitsstandards und -richtlinien informiert sind und wissen, wie sie diese in ihrer Arbeit umsetzen können.

Der Entwicklungsprozess sollte zudem fortlaufend durch ein unabhängiges Qualitätsmanagement-Team überwacht werden, damit sichergestellt werden kann, dass alle Richtlinien eingehalten werden und bei Bedarf Korrekturen vorgenommen werden können.

Richtlinienbasierte Softwareentwicklung gewährleistet, dass Sicherheitsstandards eingehalten werden und Mitarbeitern bei der Identifikation von Schwachstellen geholfen werden kann.

Kryptokonzept

Ein Kryptokonzept ist ein grundlegender Begriff in der Kryptographie, der sich mit der Sicherheit von Informationen und der Übertragung von Daten befasst. Kryptokonzepte ermöglicht es uns, vertrauliche Informationen sicher zu übertragen und zu speichern, ohne dass sie von Dritten eingesehen werden können und Gefährdungen bei der Verschlüsselung zu minimieren.

In der Softwareentwicklung werden Kryptokonzepte eingesetzt, um die Informationssicherheit der eingesetzten Software zu gewährleisten. Als ein weiterer Baustein von ISMS neben der sicheren Softwareentwicklung beinhaltet das Kryptokonzept eine Übersicht von existierenden Verschlüsselungsverfahren und dient als Hilfsmittel für die Auswahl eines geeigneten Verfahrens.

Primär gibt ein Kryptokonzept vor, was verschlüsselt werden muss und wie verschlüsselt werden soll (durch eine Definition akzeptierter und nicht akzeptierter Verfahren). Es ist von großer Wichtigkeit, das Konzept regelmäßig zu aktualisieren und gemäß aktuellen technologischen Entwicklungen zu pflegen.

Entwickler werden durch die Vorgaben bei ihrer täglichen Arbeit unterstützt und können das Konzept als Nachschlagewerk für wichtige Fragen (z. B. „Welche Schlüssellänge muss bei SSL Zertifikaten oder SSH Keys mindestens verwendet werden?“) nutzen.

iS2 Richtlinien für sichere Softwareentwicklung und Kryptokonzept

Auch wir von iS2 bieten Richtlinien für sichere Softwareentwicklung und Kryptokonzepte an. Unsere Herangehensweise unterscheidet sich hierbei von derer vieler Mitbewerber: Wir verstehen unsere Richtlinie als befähigendes Instrument, das dem Entwickler helfen und als praxisnahe Guideline dienen soll.

In unseren Richtlinien stellen wir Muster für Problemlösungen zur Verfügung sowie Checklisten, mit deren Hilfe schnell der Status Quo ermittelt und Versäumnisse aufgedeckt werden können.
Hierbei definieren wir eher die Ziele als die Prozesse. Der Weg zum Ziel ist nämlich meist sehr individuell und wir sehen Relevanz in erster Linie in der Erfüllung von Zielen und nicht in einer Festlegung konkreter Workflows oder Methoden. Wir geben die Rahmenbedingungen vor, lassen aber Raum für eine individuelle Gestaltung des Weges, auf dem man zur Lösung gelangt.

Unsere Richtlinien sind nicht starr und abstrakt, sondern praxisorientiert, nah am Entwickler und schaffen echten Mehrwert.

Was unsere Richtlinien auszeichnet

Up-to-date

Die Richtlinien werden von uns regelmäßig aktualisiert. Extrem wichtig, da der Stand der Technik sich stetig weiterentwickelt.

Schutzbedarfsfeststellung

Durch Ermittlung des Schutzbedarfs können die notwendigen Aufwände und Maßnahmen für dessen Erreichung frühzeitig im Projekt eingeplant werden.

sichere softwareentwicklung schutzbedarfsfeststellung
Schutzbedarfsfeststellung

Security per Design

Durch Ermittlung des Schutzbedarfs können die notwendigen Aufwände und Maßnahmen für dessen Erreichung frühzeitig im Projekt eingeplant werden.

Security per Default

Eine Kombination verschiedener Standards und Best Practices, die in die Entwicklungsprozesse und in die Architektur der Software integriert werden, sorgt für standardmäßige Sicherheit.

Onion Model

Dieser Ansatz ermöglicht es Entwicklern, sicherheitsrelevante Aspekte in jeder Schicht der Anwendung zu berücksichtigen (von der Benutzeroberfläche bis zum Kern der Anwendung). Dies erhöht die Gesamtsicherheit und erschwert Angreifern die Penetration.

sichere softwareentwicklung infografik sicheres systemdesign
Sicheres Systemdesign

Flexible Entwicklungsumgebung

Wir definieren lieber Rahmenbedingungen, anstatt das einzusetzende Programm vorzugeben. Die Auswahl einer Entwicklungsumgebung ist immer abhängig vom Projekt und dem Technologie-Stack.

Softwaretests

Diverse Scans – unter anderem Entwicklertests, Stresstests und Penetrationstests – gewährleisten eine zuverlässige Schwachstellenbewertung und prüfen zudem Kriterien wie Leistungsfähigkeit und Skalierbarkeit, Stabilität und Robustheit.

sichere softwareentwicklung infografik softwaretests
Entwicklungsbegleitende Softwaretests

Externe Bibliotheken

Unsere Richtlinie regelt die Überprüfung der Vertrauenswürdigkeit der Quelle sowie die Robustheit und Sicherheit der Bibliotheken. Sowohl während der Entwicklung als auch während des Betriebs wird durch automatisierte Scans geprüft, ob neue Sicherheitslücken bekannt werden und gegebenenfalls blockiert werden müssen.

sichere softwareentwicklung infografik externe bibliotheken
Bezug externer Bibliotheken

Checkliste

Mit einer von uns zur Verfügung gestellten Checkliste kann schnell und einfach kontrolliert werden, in welchem Maße die Gesamtrichtlinie im Projekt aktuell erfüllt wird. Das Scoringsystem vermittelt einen Eindruck über den Status Quo und zeigt Handlungsbedarf für Nachbesserungen auf.

Training

Auf Wunsch bieten wir Schulungen an, um unseren Kunden die Ziele unserer Richtlinien praxisorientiert näherzubringen.

Fazit

Sichere Softwareentwicklung ist ein komplexes und anspruchsvolles Thema, das regelmäßige Überprüfung und Anpassung erfordert. Durch die Implementierung unserer Richtlinien für sichere Softwareentwicklung sowie die Schulung und Sensibilisierung der Entwicklerteams kann die Sicherheit eigens entwickelter Anwendungen gewährleistet werden.

Die Erfüllung der von uns entwickelten Guidelines ist selbstverständlich auch intern unser Anspruch, wenn es um die Entwicklung von Software geht: In unseren Projekten setzen wir unsere eigenen Richtlinien konsequent um – damit wir Ihnen sichere und effiziente Produkte anbieten können.
Sie haben Interesse an unseren Richtlinien für sichere Software­entwicklung und/oder einem Kryptokonzept?