Skip to main content
Key Takeaways

Der Mensch als Sicherheitsfaktor: Menschen sind das schwächste Glied in der IT-Sicherheit. Menschliche Fehler werden oft übersehen und können selbst die beste technologische Schutzmaßnahme untergraben. Ein robustes Sicherheitskonzept für Entwickler ist unerlässlich.

Schnelle Entwicklung: Ein gefährliches Wettrennen: Der Drang nach raschem Deployment und kontinuierlicher Integration verleitet Entwickler dazu, Geschwindigkeit über Sicherheit zu stellen – das begünstigt Nachlässigkeit und erhöht die Anfälligkeit für Bedrohungen.

Privilegienproblem: Risiken durch Admin-Zugriffe: Unnötige Administratorrechte von Entwicklern führen zu Sicherheitsproblemen, da sie unbefugte Änderungen ermöglichen, den Aufwand für Compliance erhöhen und die Gefahr von Angriffen auf die Systeme steigern.

Code-Schwachstellen: Das Paradies für Hacker: Typische Schwachstellen wie SQL-Injektionen und Cross-Site-Scripting bergen erhebliche Risiken. Entwickler müssen sich an sichere Codierungspraktiken halten, um diese Gefahren zu minimieren und sensible Daten zu schützen.

Vertrauen ist gut, Kontrolle ist besser: Open Source-Bewusstsein: Die zunehmende Nutzung von Open-Source-Komponenten und KI-generiertem Code birgt Risiken, wenn Entwickler diese Tools nicht sorgfältig prüfen. Eine stetige Sensibilisierung und Weiterbildung im Bereich sichere Entwicklung sind notwendig.

Es heißt, dass der schwächste Punkt in der IT-Sicherheit der Mensch ist. Menschen sind vertrauensvoller als Computer und in Stresssituationen weniger regelkonform, weshalb der menschliche Faktor im Sicherheitsprozess oft übersehen wird.

Traditionell wurde menschliches Versagen eher gleichgültig betrachtet. Wir wissen, dass es zu Problemen führt, aber wir gehen sie nie vollständig an und konzentrieren uns oft mehr auf Tools als darauf, einen robusten Sicherheitsrahmen für Menschen zu schaffen. Doch während sich die Softwareentwicklung weiterentwickelt, ändern sich auch die Bedrohungen, die sie ins Visier nehmen – Versäumnisse an dieser Stelle können selbst die fortschrittlichsten Sicherheitsmaßnahmen zunichtemachen.

Schlechte Entwicklerpraktiken werden zu einem bedeutenden Problem für die Sicherheit von Unternehmen, und diese lassen sich auch durch technologische Fortschritte nicht verhindern. Verschlüsselungsalgorithmen, automatisiertes Patch-Management und das Scannen auf Schwachstellen sind zwar sinnvolle Bausteine zum Schutz des Technologie-Stacks – wir befinden uns jedoch in einer Zeit der Selbstzufriedenheit, wenn es darum geht, wie wir unsere Entwickler ausrüsten. Dadurch entstehen nachlässige Praktiken, die die Einhaltung gesetzlicher Vorgaben gefährden.

Was führt zu schlechten Entwicklerpraktiken?

Historisch betrachtet ist Entwicklungsarbeit ein Bereich mit chronischem Zeitmangel: Entwickler haben immer mehr Aufgaben zu bewältigen. Sie verfügen über ein Arsenal an Tools – das bedeutet schneller messbare Ergebnisse. Häufigere Deployments und Software-Updates haben die Erwartungen von Kunden und Nutzern verändert, und diese Erwartungen lasten schwer auf den Schultern der Entwickler – sie müssen innovativ und schnell sein. Aus Sicherheitsperspektive ist dies ein Rezept für Katastrophen. 

Durch Anforderungen nach schnellen Deployments und dem steigenden Fokus auf kontinuierliche Integration und Lieferung (CI/CD) verlassen sich Entwickler zu stark auf Automatisierungsmechanismen ihrer CI/CD-Pipelines und setzen sich dadurch Sicherheitsrisiken und Angriffen aus. Die in der Entwicklerbranche so populäre agile Methodik führt dazu, dass Tempo und Effizienz Vorrang vor Sicherheit bekommen, wodurch Sicherheitsmaßnahmen oft zu kurz kommen. Theoretisch sollten CI/CD-Automatisierungen Sicherheitsprüfungen liefern, aber gestresste Entwickler haben keine Zeit, diese regelmäßig zu überprüfen und zu warten.

Ein weiterer Faktor, der zu schlechten Entwicklerpraktiken beiträgt, ist die Komplexität moderner Softwareumgebungen. Im Laufe der Zeit erhalten Entwickler häufig unnötige Administratorrechte und müssen Drittarchitekturen sowie komplexe Abhängigkeiten verwalten. Für Unternehmen ist die Einhaltung gesetzlicher Vorgaben entscheidend, dennoch verfügen viele Entwickler für Deployments über erhöhte Privilegien. 

Diese Praxis bringt eine Vielzahl an Herausforderungen mit sich: Wer Administrationsrechte hat, kann unautorisiert Änderungen vornehmen – was Audits erschwert, die Einhaltung von Vorschriften behindert und zusätzlichen Aufwand für Entwickler bei der Nachverfolgung verursacht. Noch problematischer ist, dass durch diese Praxis Entwicklungsumgebungen anfällig für Sicherheitsverletzungen werden, falls eine böswillige Person Zugang zu einem Konto mit erweiterten Rechten erhält. 

Der Bereich der Softwareentwicklung ist ohnehin schon komplex, und mit dem technischen Fortschritt ist auch dieses Umfeld und die zugehörige Geschäftsstrategie gewachsen. Da sich Global-2000-Unternehmen zunehmend um umfassende, integrierte Plattformen wie Pega, ServiceNow, SalesForce und andere konsolidieren, verändert sich auch die Art der zu entwickelnden und zu unterstützenden Anwendungen im Vergleich zu traditionell mit Programmcode entwickelten Apps. 

Auch Privilegien, Delivery-Pipelines und Entwicklungspraktiken wie Agile und Continuous Delivery, die Teil von DevOps sind, müssen angepasst werden. Inmitten dieses Plattform-Trends kann es selbst den erfahrensten Entwicklern und Administrator:innen passieren, dass sie Sicherheitsrisiken unbeabsichtigt einführen.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Wie eine einzelne Codezeile Ihr Unternehmen lahmlegen kann

Sicherheit ist und bleibt eine ständige Herausforderung für Unternehmen, und moderne Technologie ermöglicht es, dass Bedrohungen von überall ausgehen können. Ein erfolgreicher Angriff kann zahlreiche Probleme verursachen, sowohl finanzieller als auch rechtlicher Art, und Innovationen sofort zum Erliegen bringen.

Ein besonders anfälliger Bereich ist die Phase der Codeentwicklung, in der es zu Angriffen wie folgenden kommen kann:

  • SQL-Injections beinhalten, dass ein Angreifer Code einschleust, der Datenbankeinträge oder -strukturen zerstören kann. Solche Techniken werden eingesetzt, um sensible Daten in Unternehmen zu löschen, zu stehlen oder zu verändern und sind eine der häufigsten Hacking-Methoden. In letzter Zeit haben ethische Hacker demonstriert, dass sie TSA-Kontrollen durch SQL-Injections umgehen können. 
  • Cross-Site Scripting (XSS) zielt auf vertrauenswürdige Anwendungen oder Websites ab, was erheblichen Imageschaden verursachen kann. Angriffe fügen bösartige Skripte in die Website eines Unternehmens ein, die beim Laden durch den Nutzer ausgeführt werden. Üblicherweise hängt der Code am Ende einer URL, und das Opfer wird zum Klicken verleitet – oder, noch komplexer, er ist als Injection-Angriff direkt im Code des Unternehmens eingebettet.
  • Buffer Overflows treten auf, wenn ein Programm versucht, mehr Daten in einen Speicherbereich (Buffer) einzuschleusen, als dieser aufnehmen kann. Die überschüssigen Daten laufen dann in angrenzende Speicherbereiche und können diese beschädigen oder überschreiben. Diese Art von Softwarefehler ermöglicht es Angreifern, Schwachstellen auszunutzen, Daten zu stehlen oder zu verändern und Zugriff auf vertrauliche Kunden- oder Unternehmensdaten zu erhalten.

Diese Arten von Angriffen sind weiter verbreitet und daher bei Entwicklern gut bekannt. Sie lassen sich größtenteils durch die Einhaltung sicherer Programmierpraktiken, kontinuierliche Tests und kontinuierliches Monitoring eindämmen. Dennoch dürfen sich Organisationen nicht in Sicherheit wiegen, sondern müssen regelmäßig die Gültigkeit ihrer Programmierleitlinien überprüfen und Entwickler darin schulen, wie sie neuartige Formen des Hackings vermeiden können.

Darüber hinaus kann die wachsende Abhängigkeit von Open-Source-Komponenten, Drittanbieter-Bibliotheken und von KI unterstützter Code-Generierung dazu führen, dass Entwickler ungewollt unsichere Programmierpraktiken anwenden. Da Entwickler unter Zeitdruck stehen, integrieren sie diese Komponenten, um die Auslieferung zu beschleunigen. Daher ist davon auszugehen, dass sich das Risiko für Sicherheitslücken und Ausnutzung erhöht, wenn Entwickler Open-Source-Komponenten, Bibliotheken und KI blindlings vertrauen, ohne deren Gültigkeit gründlich zu prüfen. 

Dabei gibt es zahlreiche Tools, die diesen Prüfprozess automatisieren. Doch vielleicht ist es an der Zeit, auch Identität und Authentizität der Open-Source-Beitragenden selbst zu prüfen, um das Risiko staatlich unterstützter Angreifer zu verringern. Bereits eine einzige unsichere Codezeile innerhalb einer Bibliothek kann eine gesamte Anwendung kompromittieren, unzählige Stunden und Ressourcen verschwenden und Organisationen, Staaten und die Öffentlichkeit Schwachstellen aussetzen. Und selbst bei allen fortschrittlichen KI-Technologien in der Softwareentwicklung gilt: KI-generierter Code muss vor dem Einsatz in der Produktion etablierte Verfahren, Praktiken und Protokolle durchlaufen.

Kontinuierliche Weiterbildung und Qualifizierungsmaßnahmen sind entscheidend, um Sicherheit zu gewährleisten

Wie in jeder Technologie oder Disziplin ist regelmäßige Weiterbildung entscheidend, und von Entwicklern wird häufig erwartet, dass sie sich in ihrer Freizeit weiterbilden und trainieren. Organisationen, die verhindern wollen, dass ihre Entwickler und Systemadministratoren schlechte Sicherheitspraktiken befolgen, müssen in Schulungen investieren, anstatt von IT-Teams zu verlangen, sich selbstständig mit Sicherheitsrahmenwerken auseinanderzusetzen. Wissenslücken haben nachweislich reale und relevante Auswirkungen auf die Sicherheit von Unternehmen. Werden diese nicht geschlossen, sind die Entwickler möglicherweise nicht auf dem neuesten Stand bezüglich der sicherheitsrelevanten Konsequenzen ihres täglichen Handelns. 

Da Entwicklergewohnheiten potenziell zu Sicherheitsrisiken führen können, müssen Organisationen zudem einen umfassenden Blick auf ihre Plattformen werfen. Beispielsweise spielen Salesforce und ServiceNow eine entscheidende Rolle dabei, nicht-traditionellen Entwicklern die Möglichkeit zu geben, Anwendungen zu erstellen, bereitzustellen und einzuführen – aber ist ihre Rolle in der Sicherheit wirklich verstanden? Organisationen müssen lernen, wie sie die Sicherheit beim Einsatz dieser Plattformen wahren und dürfen deren Potenzial als Einfallstor für Angriffe und Sicherheitsverletzungen nicht übersehen.

Sicherheitsherausforderungen überwinden, um Entwickler zu unterstützen

Ein ganzheitlicher Ansatz ist erforderlich, damit mangelhafte Entwicklerpraktiken nicht zum nächsten Brennpunkt in der Sicherheitsdebatte werden. 

Zunächst müssen Unternehmen eine Sicherheitskultur fördern und sicherstellen, dass diese fest im Entwicklungsprozess verankert ist. Dies kann automatisierte Qualitäts- und Sicherheitsmaßnahmen beinhalten, wie integrierte Qualitätsprüfungen, Genehmigungsprozesse und Continuous-Testing-Tools, sodass jede Bereitstellung die Compliance-Standards des Unternehmens erfüllt.

Organisationen sollten zudem das Prinzip der geringsten Privilegien anwenden. Entwickler sollten ausschließlich Zugang zu den Deployments und Code-Frameworks erhalten, die sie tatsächlich benötigen – statt allumfassender Administrationsrechte. Unabhängig davon, welche Plattform und/oder welcher Dienst für das Deployment genutzt wird, ist es wichtig, die automatisierten Prozesse und das kontinuierliche Monitoring zu nutzen, um Probleme zu erkennen, bevor sie kritisch werden.

Zweitens müssen Organisationen stärker in die Ausbildung ihrer Entwickler investieren, statt sie immer ausgefeilteren Angreifern und Sicherheitsrisiken schutzlos gegenüberzustellen. Es ist entscheidend, dass Entwickler aller Erfahrungsstufen, insbesondere Citizen Developer, mit dem nötigen Wissen ausgestattet sind, um Unregelmäßigkeiten zu erkennen und Sicherheitsrisiken bewältigen zu können. Die konkrete Ausgestaltung hängt von der jeweiligen Organisation ab. Sie muss aber regelmäßig, konform und überprüfbar sein, damit das Sicherheitsbewusstsein innerhalb der Entwicklergruppe gesteigert wird.

Schließlich sollten Organisationen, die ihre Entwickler für bessere Sicherheit wappnen wollen, ausschließlich Tools einsetzen, die sichere Entwicklungsmethoden fördern. Dazu gehören Code-Analyse-Tools, automatisierte Prozesse für das Management von Abhängigkeiten und Configuration Management Systems (CMS), um strengere Sicherheitsmaßnahmen durchzusetzen. Der Einsatz dieser Tools sorgt für mehr Konsistenz, Compliance und Rückverfolgbarkeit bei allen Deployments und trägt dazu bei, eine Sicherheitskultur nachhaltig zu verankern.

Das heißt: Beim Outsourcing kann der Aufbau einer Sicherheitskultur häufig auch mit der Partnerschaft mit  einem Nearshore-Softwareentwicklungspartner oder einer Custom-Software-Development-Firma beginnen.

Die nächste Sicherheitskrise abwenden

Schlechte Entwicklerroutinen könnten künftig das nächste große Sicherheitsproblem in der Softwareentwicklung darstellen – doch das muss nicht sein. Zwar werden Angreifer und Hacking-Operationen immer ausgefeilter, doch haben wir jetzt die Chance, das Blatt zu wenden und das Wissen sowie die Ressourcen zu verbessern, auf die Entwickler zugreifen können. So können Menschen vermeiden, das schwächste Glied zu sein, und gemeinsam mit der Technologie daran arbeiten, die Sicherheit von Unternehmen zu stärken. Wenn wir heute eine Sicherheitskultur in der Entwicklung fördern, wird sich morgen die Sicherheitslage von Software maßgeblich verbessern.

Abonnieren Sie den Newsletter des CTO Club für weitere Best Practices für Entwickler.