ArtikelSecurity

Anwendungssicherheit für Open Source: Von innen nach außen denken

Grundlegende Lösungen für die Anwendungssicherheit (Quelle: Flexera)

Autor/Redakteur: Jeff Luszcz, Vice President of Product Management bei Flexera/gg

Firewalls, webbasierte Authentifizierung, Angriffserkennung und Identitätsmanagementsysteme kontrollieren den Zugriff auf Anwendungen von außen. Fast 90 Prozent der Softwareangriffe zielen jedoch auf die Anwendungsebene selbst ab. Der Schutz von innen heraus, zum Beispiel durch geschützten Code oder Schwachstellenmanagement ist oft nicht hinreichend abgedeckt – vor allem bei Open Source Software (OSS).

Die Vorteile von OSS liegen auf der Hand: Geringere Entwicklungskosten, schnellere Entwicklungszyklen und niedrigere Gesamtkosten der Anwendung – vorausgesetzt, das Anwendungsmanagement stimmt. Open Source erstreckt sich von weithin bekannten Komponenten und Anwendungen, wie Linux, LibreOffice und Android, über weniger bekannte Kernkomponenten von Infrastrukturen, wie OpenSSL oder zlib, bis hin zu einer ellenlangen Liste anderer Open-Source-Komponenten.

Open Source Software steckt in jeder Anwendung

Während Anwendungen früher nur wenige Komponenten Dritter verwendeten, nutzen typische Anwendungen heute Hunderte solcher Komponenten, wobei die überwiegende Mehrheit aus Open-Source-Projekten stammt. Open-Source-Komponenten und herkömmliche proprietäre Komponenten unterscheiden sich mit dadurch, dass im Gegensatz zu kommerziell unterstützten OSS-Betriebssystemen und paketierten Anwendungen, nur hinter jedem zehnten großen Open-Source-Projekt eine Community mit kommerziellen Services zu deren Unterstützung steht. Entwicklungsabteilungen, die OSS-Komponenten nutzen, sind weitgehend auf sich gestellt, wenn es um Patches, Upgrades, Schwachstellenbewertung und vergleichbare Aufgaben geht, die normalerweise Teil eines kommerziellen Servicevertrags sind. Zudem können Entwickler weltweit auf Open Source, Freeware, Public Domain und Evalware (Demoversionen kommerzieller Programme) zurückgreifen und den Code in ihre Programme einbinden, ohne sich um die üblichen Kontrollmechanismen im Beschaffungsprozess kümmern zu müssen.

Ohne eine Überprüfung werden die Drittkomponenten jedoch mit großer Wahrscheinlichkeit weder erfasst, noch lassen sie sich überwachen und zurückverfolgen. IT-Unternehmen sind sich über die Zusammensetzung ihrer Codebasis meist gar nicht genau im Klaren. Anwendungen, die in den letzten fünf Jahren entwickelt wurden, enthalten durchschnittlich 50 Prozent oder mehr Open-Source-Code, bezogen auf die Anzahl der Codezeilen. Von diesen Open-Source-Komponenten sind mehr als 70 Prozent undokumentiert und dem Engineering-Team nicht bekannt. Wird undokumentierter Open-Source-Code in Unternehmensanwendungen verwendet, ist die Sicherheit dieser hochsensiblen und erfolgskritischen Ressource gefährdet.

Teamarbeit: Die Lücke schließen (Quelle: Flexera)

Strategie für Anwendungssicherheit

Die für Sicherheit, Entwicklung und IT zuständigen Teams müssen gewährleisten, dass ihre Entwickler geeignete Prozesse zur Erstellung sicherer Software nutzen. Mit folgenden Maßnahmen können diese drei Bereiche gemeinsam dafür sorgen, dass die Regeln für Anwendungssicherheit auch auf Open-Source-Komponenten angewandt werden und in die Sicherheitsstrategie einfließen:

  • Prüfungen auf Codeebene und Penetrationstests für intern entwickelten Code vor der Bereitstellung
  • Einfordern von Audits auf Codeebene auf Seiten externer Entwicklungs- und Geschäftspartner
  • Code von Dritten in den eigenen Softwareanwendungen auf Sicherheitsschwachstellen und Updates prüfen und nachverfolgen
  • Intern entwickelte Anwendungen mit ausreichenden Prüfpunkten versehen, um gründliche Audit-Trails zu ermöglichen

Bei der Erstellung, Verbesserung, Pflege und Nachbearbeitung von Software für eine robuste Anwendungsinfrastruktur müssen sich Unternehmen daher kontinuierlich Sicherheits-Know-how aneignen und Prozesse zur Erstellung sicherer Software ermitteln, anwenden und konsequent nutzen.