So gefährden Entwickler die IT-Sicherheit
Upsi?DC Studio | shutterstock.com
Optimal ausgestaltete Sicherheitspraktiken für App-Entwickler auf- und durchzusetzen, ist alles andere als trivial. Schließlich setzen die meisten Developer andere Prioritäten, wenn sie Code schreiben. Parallel wird die App-Development-Landschaft jedoch zunehmend komplexer und damit auch die Herausforderung immer größer, Anwendungen in einem Dschungel aus Cloud-Plattformen, Container-Infrastrukturen und API-Verbindungen richtig abzusichern.
Das untermauern auch diverse Studienergebnisse:
Der Security-Anbieter Veracode stellt in seiner Studie „State of Software Security 2024“ (Download gegen Daten) fest, dass 80 Prozent der für den jährlichen Report untersuchten Applikationen Sicherheitslücken aufweisen. Der Großteil davon geht demnach auf teilweise seit Jahren bekannte Security-Problematiken innerhalb von Webanwendungen zurück.
Der Cloud-Spezialist Akamai kommt in seinem aktuellen „State of the Internet/Security“-Report zum Ergebnis, dass Angriffe auf Web-Apps und APIs zwischen dem ersten Quartal 2023 und dem ersten Quartal 2024 um 49 Prozent zugelegt haben. Das schreiben die Studienautoren in erster Linie der exponentiell wachsenden Nachfrage nach Applikationen und APIs zu. Die sorge dafür, dass kriminelle Hacker neue Chancen für erfolgreiche Kompromittierungen wittern.
Und das, obwohl Softwareentwickler im Lauf der vergangenen Jahre mit diversen, Buzzword-geschwängerten Security-Initiativen konfrontiert wurden. „Defense in Depth“, „Shifting Left“ und DevSecOps sind nur einige von vielen Beispielen.
Die folgenden fünf Security-Verfehlungen sind unter Softwareentwicklern besonders verbreitet, dabei allerdings auch vermeidbar. Lesen Sie, wie.
1. Schlechte Input-Kontrollen
Wer Code schreiben will, muss verstehen, welche Daten-Inputs benötigt werden – und wie diese von der zugrundeliegenden Applikation verarbeitet werden. Werden diese Inputs kaum oder gar nicht kontrolliert, steigt die Gefahr für Cross-Site-Scripting– und SQL-Injection-Attacken.
Der Sicherheitsanbieter Snyk appelliert in einem Blogbeitrag zum Thema entsprechend an Entwickler, Inputs genau zu überprüfen und dafür zu sorgen, dass die Daten syntaktisch und semantisch korrekt sind. In dieselbe Kerbe schlägt auch der Testing-Spezialist Stackhawk mit seiner „Web Application Security Checklist“. “Stellen Sie immer sicher, dass der Backend-Input ordnungsgemäß validiert und bereinigt wird“, empfehlen die Experten.
Da diese Ratschläge nicht neu sind, stellt sich die Frage, warum es immer noch Applikationen gibt, deren Inputs nicht ordnungsgemäß kontrolliert werden. Das kann zum Beispiel daran liegen, dass:
Entwickler oft damit beginnen, ihre Apps zunächst ohne Kontrollmaßnahmen umzusetzen, um Testing-Prozesse zu vereinfachen – und am Ende häufig vergessen, ihre Arbeit noch einmal zu überprüfen.
der Fokus anfangs nicht auf Sicherheit liegt – oder generell nicht.
Die amerikanische Cybersicherheitsbehörde CISA empfiehlt in ihrem Guide „Product Security Bad Practices“, Applikationen systematisch so aufzusetzen, dass SQL-Injection-Schwachstellen verhindert werden – beispielsweise mit Hilfe von parametrisierten Abfragen.
2. Laxes Berechtigungsmanagement
Ein anderes, gängiges Sicherheitsproblem im Softwareentwicklungsumfeld ist eine unzureichende Authentifizierung – und damit zusammenhängend die rollenbasierten Berechtigungen innerhalb von Applikationen. Auch dabei handelt es sich um ein „Legacy“-Problem – das weiter besteht, weil viele App-Dev-Teams zu beschäftigt damit sind, immer mehr Code zu generieren und auszuliefern.
Von besonderer Bedeutung wäre in diesem Bereich:
grundlegende Zugriffsrichtlinien zu erstellen und durchzusetzen,
Multifaktor-Authentifizierung – insbesondere für Manager und Administratoren – zu implementieren, und
Default-Kennwörter aus allen Dev-Projekten und -Ressourcen zu verbannen.
Ein weiterer Aspekt, wenn es um laxe Authentifizierung geht, ist der sogenannte „Secrets Sprawl“. Dabei werden geheime Informationen (unabsichtlich) festkodiert – beispielsweise API- und Encryption-Keys sowie Passwörter.
Der Plattformanbieter GitGuardian beschäftigt sich in seinem aktuellen Report „The State of Secrets Sprawl 2024“ eingehend mit diesem Problem. Dabei stellen die Experten fest, dass nahezu jeder Sicherheitsvorfall, bei dem geheime Informationen im Code entdeckt wurden, im Schnitt erst fünf Tage nach Benachrichtigung der Software-Autoren behoben wurde. Auch zum Umfang des Problems liefert GitGuardian harte Zahlen: Ein Zehntel aller Open-Source-Softwareprojekte hat demnach mit „Secrets Sprawl“ zu kämpfen.
Um das abzustellen, hilft lediglich:
Genau zu erfassen, wer tatsächlich Zugriff auf welche Ressourcen benötigt.
Die Berechtigungen regelmäßig auf Gültigkeit zu überprüfen und nicht mehr benötigte direkt zu entfernen.
3. Ungeschützte APIs
Weil Applikationen immer stärker miteinander vernetzt sein müssen, steigt die Zahl der Schnittstellen (APIs) zunehmend an. Diesen Kommunikationsweg sollten Developer unbedingt absichern, wie aktuelle Untersuchungsergebnisse (PDF) von Salt Security zeigen. Demnach hatten fast alle der insgesamt 400 Befragten im Jahr 2023 mit Sicherheitsproblemen von Produktionsschnittstellen zu kämpfen. In 17 Prozent dieser Fälle ist daraus anschließend ein Breach erwachsen. Dale Koeppen, Senior Analyst bei Gartner, warnt: „APIs, die auf öffentlich zugänglichen Ressourcen verfügbar sind, vergrößern die Angriffsfläche und sind vorrangige Ziele für böswillige Akteure.“
Amiram Shachar, CEO beim DevOps-Spezialisten Upwind.io, erklärt, wie sich Devs gegen solche Bedrohungen absichern können: „Entwickler müssen kontinuierlich auf API-Schwachstellen testen und den Traffic in Echtzeit überwachen, um Threats erkennen und darauf optimal reagieren zu können. Dabei sollte mit Blick auf die API-Sicherheit kein Standalone-Tool, sondern ein umfassendes Cloud-Sicherheitspaket zum Einsatz kommen.“
Wie ein Blick in den „2024 State of Application Strategy Report“ (Download gegen Daten) von F5 klarmacht, wird die Anzahl der APIs in den kommenden Jahren nicht schrumpfen – eher im Gegenteil: Die Experten prophezeien, dass diese – getrieben durch fortschreitende KI-Implementierungen und immer komplexere Apps – weiter steigen wird.
Die Entwickler in Diensten des Internet Archive mussten kürzlich feststellen, dass ein API Gateway dabei nur eine Komponente einer umfassenden Governance-Strategie (siehe nächster Punkt) darstellt. Unternehmen und Organisationen sollten Security-Richtlinien konsequent und ganzheitlich auf ihre gesamte API-Infrastruktur anwenden – und müssen in der Lage sein, sich auf neue Bedrohungen und Anomalien einzustellen.
4. Ungeeignete Tools
Mit Blick auf Tools wirft die Applikationssicherheit zwei wesentliche Herausforderungen auf. Zum einen geht es darum, den richtigen Tool-„Mix“ zusammenzustellen, um Sicherheitsprobleme zu identifizieren und zu beheben. Da kein umfassendes Allzweck-Tool existiert, liegt es an den Entwicklern, ihre Tool-Auswahl sorgfältig zu überprüfen und sicherzustellen, dass diese so viele Lücken wie möglich abdeckt.
Die Auguren von Gartner empfehlen zu diesem Zweck dreierlei verschiedene Arten von Tools:
Ein API-Gateway übernimmt drei wesentliche Aufgaben: Es inventarisiert sämtliche Schnittstellen, um diese zu testen, auf verdächtige Aktivitäten zu überwachen und Fehler zu beheben.
Code-Scanning- und -Testing-Tools unterstützen Devs dabei, Codierungsfehler zu erkennen sowie Schwachstellen zu identifizieren und zu beheben. Diese Tools helfen auch dabei, die Softwarelieferkette abzusichern.
Web Application Firewalls (WAFs) schützen sämtliche Anwendungen, beispielsweise vor SQL-Injection-Angriffen. Eine WAF arbeitet in der Regel auf höheren Protokollebenen, kann aber auch dazu verwendet werden, netzwerkbasierte Angriffe (DDoS, Botnetze) auf niedrigeren Ebenen zu stoppen.
Die richtigen Tools überhaupt auswählen zu können, setzt zum anderen auch ein gewisses Maß an Security-Kultur voraus. Der Blog-begeisterte Security Engineer Jeevan Singh beschäftigt sich regelmäßig mit diesem Thema und empfiehlt Führungskräften, erst einmal klein anzufangen: „Überfordern Sie Ihre Entwickler nicht mit überbordenden Auflistungen von Schwachstellen. Diese müssen schließlich auch analysiert, verstanden und priorisiert werden.“
Dem Experten zufolge würden diverse Unternehmen für ihre geschäftlichen Anforderungen auf die falschen Lösungen setzen und könnten diese folglich nicht in ihre täglichen Prozesse integrieren und produktiv einsetzen.
Um eine kontinuierliche Fehlerbehebung zu gewährleisten, empfiehlt der Sicherheitsanbieter Veracode, Applikationen regelmäßig mit verschiedenen Technologien zu scannen und sich einen umfassenden Überblick darüber zu verschaffen, wie Apps erstellt und modifiziert werden.
Weil zu viel des Guten aber nie gut endet, empfiehlt Gartner-Analyst Koeppen, auch einen Blick auf sogenannte „Traffic Processing Engines“ zu werfen, wie sie etwa von den Sicherheitsanbietern Barracuda, Imperva und F5 angeboten werden. Diese Application-Security-Produkte vereinten mehrere Tool-Kategorien in sich und seien deshalb dazu geeignet, Tool- und Warnmeldungs-Ermüdung vorzubeugen. „Die größte Herausforderung besteht darin, das Risikomanagement in seiner Gesamtheit richtig zu handhaben. Dazu sollten Tools konsolidiert werden, wo immer es möglich ist“, erklärt der Analyst.
5. Unzureichende Automatisierung
Eine weitere, häufige Security-Verfehlung von Softwareentwicklern ist es, inkonsequent oder ineffizient zu automatisieren. Auch wenn dazu die besten Tools zum Einsatz kommen, können sich Alarmmeldungen türmen, deren Analyse enorm viel Zeit vereinnahmt.
An dieser Stelle kann Generative AI (GenAI) unterstützen, wenn es darum geht, Fehlalarme von echten Fällen zu unterscheiden. Letztere stellen laut Venky Sundar, President beim KI-Tool-Anbieter Indusface, das größte Problem bei Sicherheitssoftware im Allgemeinen und bei Website- sowie API-Schutz im Speziellen dar. „KI, die effektiv eingesetzt wird, kann dazu beitragen, Fehlalarme zu beseitigen oder auf ein Minimum zu reduzieren“, meint der Manager.
Diverse Security-Tools sind inzwischen mit KI-basierten Features und Upgrades ausgestattet und nutzen beispielsweise Machine-Learning-Modelle, um Malware und unheilvolle Traffic-Muster zu identifizieren.
Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!
Hier finden Sie den kompletten Artikel: