Beitrag von Michael Bapst, Dezember 2025

Sicher entwickeln: Wie Entwickler:innen zur Datensicherheit beitragen können

Sicherheit in der Software beginnt nicht erst im Rechenzentrum oder an der Firewall. Sie entsteht schon viel früher – nämlich beim Schreiben des Codes. Entwickler:innen tragen eine wichtige Verantwortung, wenn es darum geht, sensible Daten zu schützen und Risiken von Anfang an zu minimieren. Viele Schwachstellen lassen sich vermeiden, wenn grundlegende Sicherheitsprinzipien bereits in der Entwicklungsphase berücksichtigt werden.

Was bedeutet sichere Softwareentwicklung?

Sichere Softwareentwicklung umfasst alle Massnahmen, die darauf abzielen, Schwachstellen schon beim Entwurf und Schreiben des Codes zu vermeiden. Dazu gehören der sorgfältige Umgang mit Daten, klare Sicherheitsrichtlinien, automatisierte Prüfmechanismen sowie der bewusste Einsatz moderner Entwicklungs- und Deployment-Werkzeuge. Ziel ist es, Risiken frühzeitig zu erkennen, Angriffsflächen zu minimieren und Systeme widerstandsfähiger zu machen – lange bevor sie in Produktion gehen.

Warum Sicherheit schon beim Coden beginnt

Die meisten Sicherheitsprobleme entstehen nicht durch komplexe Angriffe, sondern durch einfache Fehler im Code, fehlende Prüfungen oder einen nachlässigen Umgang mit sensiblen Informationen.
Wer sichere Software entwickeln will, muss Sicherheit als festen Bestandteil der eigenen Arbeit verstehen – nicht als etwas, das erst später hinzukommt.
In der Praxis wird dieser Ansatz oft als ‚Shift Left Security‘ bezeichnet – also das bewusste Vorziehen von Sicherheitsmassnahmen in möglichst frühe Phasen der Softwareentwicklung.

Vorteile sicherer Softwareentwicklung

Eine frühzeitige Integration von Sicherheitsprinzipien bringt mehrere Vorteile:

  • Weniger Sicherheitsvorfälle
    Fehler werden früh erkannt und gar nicht erst zu verwertbaren Schwachstellen.
  • Geringere Kosten
    Je früher ein Problem entdeckt wird, desto günstiger ist seine Behebung – oft um ein Vielfaches.
  • Bessere Compliance
    Regulatorische Anforderungen wie DSG/DSGVO lassen sich leichter erfüllen.
  • Höhere Codequalität
    Strukturierte Prüfungen und klare Regeln führen automatisch zu robusterem Code.
  • Weniger Sicherheitsvorfälle
    Fehler werden früh erkannt und gar nicht erst zu verwertbaren Schwachstellen.
  • Geringere Kosten
    Je früher ein Problem entdeckt wird, desto günstiger ist seine Behebung – oft um ein Vielfaches.
  • Bessere Compliance
    Regulatorische Anforderungen wie DSG/DSGVO lassen sich leichter erfüllen.
  • Höhere Codequalität
    Strukturierte Prüfungen und klare Regeln führen automatisch zu robusterem Code.

Fünf Prinzipien, die jede Entwicklung sicherer machen

1. Eingaben sorgfältig prüfen

Alle externen Eingaben – sei es über Formulare, APIs oder Schnittstellen – müssen geprüft werden. Entscheidend sind dabei die Kontrolle auf Typ, Länge, Struktur und Inhalt.
Ohne solche Validierung drohen klassische Angriffe wie SQL-Injection oder Cross-Site-Scripting, die mit wenigen Zeilen Code verhindert werden können.

2. Vertrauliche Daten niemals im Klartext speichern

Passwörter, API-Schlüssel und personenbezogene Informationen gehören verschlüsselt oder gehasht. In Datenbanken oder Logs haben unverschlüsselte Daten nichts verloren.
Für Passwörter gelten moderne Hashing-Verfahren wie bcrypt oder Argon2 als Standard.

3. Konfigurationsdaten sauber trennen

Zugangsdaten und Geheimnisse sollten nie direkt im Quellcode stehen. Stattdessen werden sie in Umgebungsvariablen gespeichert – verwaltet über einen Secrets Manager, der Zugriff und Schutz zentral kontrolliert.

In der Praxis kommen dafür spezialisierte Secrets-Management-Lösungen wie HashiCorp Vault, AWS Secrets Manager oder Kubernetes Secrets zum Einsatz. Sie stellen sicher, dass Zugangsdaten zentral verwaltet, versioniert und bei Bedarf automatisiert rotiert werden können.

4. Fehlermeldungen zurückhaltend formulieren

Produktivsysteme dürfen keine internen Details preisgeben. Stacktraces, Dateipfade oder SQL-Fehlermeldungen liefern Angreifern unnötige Hinweise.
Für Entwickler:innen können diese Informationen natürlich hilfreich sein – aber sie gehören nicht in die öffentliche Ausgabe.

5. Regelmässige Codekontrollen einplanen

Code-Reviews, statische Analysen und automatisierte Tests helfen, potenzielle Sicherheitslücken frühzeitig zu erkennen.
Wer diese Werkzeuge konsequent nutzt, entdeckt Fehler oft lange, bevor sie Schaden anrichten können.
Dazu gehört auch die regelmässige Prüfung eingesetzter Bibliotheken und Abhängigkeiten, da bekannte Schwachstellen häufig über Drittkomponenten in ein System gelangen.
Automatisierte Dependency-Checks helfen dabei, veraltete oder unsichere Komponenten frühzeitig zu identifizieren.
Zur Unterstützung eignen sich statische Codeanalyse-Tools wie SonarQube, Snyk oder GitHub Advanced Security, die Sicherheitsprobleme frühzeitig im Entwicklungsprozess sichtbar machen. Als Orientierungshilfe dienen zudem die OWASP Top 10, welche die häufigsten und kritischsten Schwachstellen systematisch zusammenfassen.

Typische Fehler, die immer wieder passieren

  • Passwörter direkt im Code oder Git-Repository gespeichert
  • Tokens oder Sessions ohne Verfallsdatum
  • Rechtevergabe ohne Prüfung der Berechtigung
  • Admin-Panels und Schnittstellen ohne Zugriffsschutz
  • Fehlende Kontrollen bei sicherheitskritischen Funktionen

Viele dieser Fehler lassen sich durch automatisierte Prüfungen in CI/CD-Pipelines verhindern, etwa durch Secret-Scanning, Dependency-Checks oder verpflichtende Code-Reviews vor dem Merge.

Praxisbeispiele aus der Entwicklung

Viele Schwachstellen entstehen im Alltag – meist unabsichtlich. Hier zwei typische Szenarien:

1. Ungeprüfte API-Eingaben

Eine API verarbeitet Nutzerdaten ohne Typ- oder Strukturprüfung. Schon wenige manipulierte Zeichen reichen aus, um unerwartete SQL-Befehle oder schädliche Scripts auszuführen.

2. Geheimnisse im Git-Repository

API-Schlüssel oder Zugangsdaten werden versehentlich committed. Selbst wenn das Repository später bereinigt wird, bleiben die Daten in der Historie oft weiterhin abrufbar.

Solche Probleme lassen sich mit Validierung, Secrets-Management und regelmässigen Prüfungen zuverlässig verhindern.

Beispiel: Passwort richtig speichern

Unsicher:

// Passwort wird im Klartext gespeichert
$password = $_POST['password'];
saveToDatabase($username, $password);

Sicher:

// Passwort wird sicher gehasht
$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);
saveToDatabase($username, $hash);

Ein kleiner Unterschied – aber entscheidend für die Sicherheit des gesamten Systems.

Fazit

Sicherheit ist kein Extra, das man irgendwann hinzufügt. Sie entsteht durch klare Entscheidungen, gute Gewohnheiten und ein Bewusstsein für mögliche Risiken. Entwickler:innen spielen dabei eine Schlüsselrolle, insbesondere im Hinblick auf gesetzliche Anforderungen wie das revidierte Schweizer Datenschutzgesetz (nDSG), das einen angemessenen Schutz personenbezogener Daten verlangt. Wer Sicherheit bereits beim Entwickeln mitdenkt, schützt nicht nur Daten und Systeme, sondern schafft auch die Grundlage für Compliance und langfristiges Vertrauen.

Sichere Entwicklung im Kontext moderner Cloud-Architekturen

Gerade in Cloud-Umgebungen spielt sichere Softwareentwicklung eine zentrale Rolle. Dazu gehören der korrekte Umgang mit API-Zugriffen, sichere Authentifizierungsverfahren, der Schutz sensibler Konfigurationsdaten sowie überprüfbare Build-Prozesse. In Kombination mit Zero-Trust-Prinzipien, automatisierten Tests und sauber getrennten Umgebungen entsteht eine widerstandsfähige, nachvollziehbare und belastbare Architektur.

Sicherheit als gelebte Praxis bei Backup ONE

Auch in der Backup ONE Swiss Cloud setzen wir auf sichere Entwicklungsprozesse, strikte Zugriffskontrollen und geprüfte Softwarekomponenten – von der Infrastruktur bis zur API-Ebene.
Weitere Informationen zur sicheren Swiss Cloud Infrastruktur.