Vulnerabler Code ist kein Open-Source-exklusives Risiko. Schließlich sind auch jede Menge Legacy-Systeme im Einsatz. Das zwingt Security-Teams zum Handeln. Code-Schwachstellen sind ein wachsendes Problem. Lesen Sie, wie Sie in drei Schritten gegensteuern. Foto: Virrage Images | shutterstock.comUnternehmen, die in ihrer IT-Umgebung mit veraltetem, anfälligem Code konfrontiert sind, verfügen in aller Regel nicht über ausreichend Ressourcen, um das zu beheben. Dabei werden sich die meisten Firmen irgendwann in dieser Situation wiederfinden, weil sie entweder Open-Source– oder Legacy-Applikationen verwenden. Denn Probleme mit angestaubtem und fehlerhaftem Programmcode sind in Unternehmen allgegenwärtig.Ein aktueller Bericht von Veracode kommt zum Ergebnis, dass 74 Prozent der im Jahr 2022 gescannten Anwendungen mindestens eine Sicherheitslücke aufwiesen. “Je älter eine Anwendung ist, desto wahrscheinlicher wird es, dass sie Probleme bereitet”, kommentiert Chris Eng, Chief Research Officer des Sicherheitsanbieters, die Ergebnisse. Ein Grund für die wachsenden Code-Probleme ist laut Veracode, dass den Applikationen ständig neuer Code hinzugefügt wird: In den ersten fünf Jahren wachsen Anwendungen demnach im Schnitt jährlich um 40 Prozent.Dabei berge jede neue Code-Zeile zusätzliches Fehlerpotenzial. Auch die Komponenten seien ein wichtiger Teil des Problems, wie Eng erklärt: “Die meisten Entwickler, die eine Open-Source-Komponente herunterladen und in ihre Anwendung einbauen, aktualisieren diese in 79 Prozent der Fälle nicht mehr. Im Laufe der Zeit kommen aber immer wieder neue Schwachstellen hinzu, auch wenn der Code nicht aktualisiert wird. Die Sicherheitslage dieser Anwendung verschlechtert sich also zusehends.” Oberflächlich betrachtet scheint die Lösung einfach: Alte Komponente raus, neueste Version rein. Das funktioniere allerdings nur dann so simpel, wenn auch die Codebasis relativ neu sei, unterstreicht Eng: “Wenn morgen ein Patch veröffentlicht wird, ist es ziemlich einfach, diesen zu installieren. Wenn ich aber jahrelang gezögert habe und mehrere Versionen hinterherhinke, gestaltet es sich enorm aufwändig, wieder auf den aktuellen Stand zu kommen.”Es gibt jedoch Möglichkeiten für Unternehmen, dieses Problem in den Griff zu bekommen. Dazu gilt es, sich zunächst auf die kritischsten Dinge zu fokussieren.1. Risikobehafteten Code identifizierenDer aktuelle Software Vulnerability Report von IT-Dienstleister Synopsis kommt zum Ergebnis, dass 92 Prozent aller Applikationen Schwachstellen aufweisen – von denen 33 Prozent schwerwiegend sind. Dabei können unterschiedliche Schwachstellen auch unterschiedliche Auswirkungen haben. Eine Rolle spielt darüber hinaus, ob die entsprechenden Vulnerabilities auch bereits “in freier Wildbahn” ausgenutzt werden (und falls ja, auf welche Art und Weise). Laut Adam Brown, Managing Consultant bei der Synopsys Software Integrity Group, ist es dabei auch wichtig, den jeweiligen Kontext zu betrachten: “Ist eine uralte Applikation in ein abgesichertes Netzwerk integriert, zu dem kaum jemand Zugang hat, dürften die Auswirkungen begrenzt sein – selbst wenn es sich um eine kritische Schwachstelle mit sehr hohem Risiko handelt. Stellen Sie sich die Frage, wer davon etwas hat, wenn Sie viel Geld investieren, um das zu beheben.” Dazu komme, dass gerade in stark regulierten Branchen – etwa dem Finanz- und Gesundheitssektor – Compliance-Probleme entstehen können, wenn Code unbedacht repariert werde. “Manchmal ist es einfacher, ein neues Modell zu entwickeln und langsam umzusteigen, als zu versuchen, das alte zu reparieren”, meint Brown. Mike DeNapoli, Director beim Sicherheitsanbieter Cymulate, empfiehlt Unternehmen, sich bei ihrer Priorisierung von den Fakten leiten zu lassen: “Lassen Sie sich nicht von Schlagzeilen beeinflussen. Unternehmen neigen dazu, unmittelbare Bedrohungen auf der Grundlage des aktuellen Medieninteresses und nicht des tatsächlichen Risikos zu bewerten.”Eine Diskrepanz zwischen den Sicherheitskontrollen und Business Risk Outcomes ist nach Meinung von Kayne McGLadrey, IEEE-Member und Field CISO beim IT-Sicherheitsspezialisten Hyperproof, regelmäßig das größte Problem, wenn es darum geht, Softwarekorrekturen zu priorisieren: “Das erschwert es, den Support der Geschäftsleitung sicherzustellen. Code-Wartung und Dependency Management sind keine Themen, die besonders sexy sind. Führungskräfte haben viel eher die finanziellen oder rufschädigenden Auswirkungen von Ausfallzeiten auf dem Schirm.” Um das Problem anzugehen, empfiehlt McGladrey Unternehmen, die Business-Risiken von First- und Third-Party-Code zu dokumentieren und entsprechende Vereinbarungen zu treffen: “Es geht darum, gemeinsam zu definieren, wie viel Risiko das Unternehmen in den jeweiligen Bereichen einzugehen bereit ist. Sobald ein Konsens auf Führungsebene erreicht ist, können die Business Owner der kritischen Systeme Kontrollmaßnahmen identifizieren und implementieren, um diese Risiken abzumildern.”2. Schadensbegrenzung betreibenIm nächsten Schritt müssen die identifizierten Probleme behoben werden. Leider ist das jedoch nicht immer ohne Weiteres möglich. Schließlich könnte es sein, dass es niemanden im Unternehmen mehr gibt, der über das nötige Knowhow verfügt, um den Legacy-Code zu fixen. Die Wahrscheinlichkeit dafür ist nicht gering, wie eine aktuelle Umfrage des Technologiedienstleister Advanced zeigt: Demnach setzen 42 Prozent der Firmen, die noch Mainframes betreiben auf COBOL. Assembler sind noch bei 37 Prozent im Einsatz. “Es wird schwer, Menschen auf dem Stellenmarkt zu finden, die veraltete Programmiersprachen wie COBOL beherrschen”, kommentiert Paul Brucciani, Sicherheitsberater beim finnischen Security-Anbieter WithSecure.Weitere Probleme in diesem Zusammenhang wirft DeNapoli in den Ring: “Sie wären überrascht, wie viele Unternehmen mit veralteter Software arbeiten, die nicht mehr aktualisiert werden kann, weil der Quellcode verlorengegangen ist. Selbst wenn sie entdeckt werden: Risikobehafteter Legacy-Code kann nicht in jedem Fall entfernt werden. Oft hängen davon kritische Geschäftsprozesse und Workflows ab.” Letzten Endes kann es auch dazu kommen, dass Softwareschwachstellen einfach aus Zeit-, Ressourcen- oder Compliance-Gründen nicht behoben werden können – obwohl sie ein Risiko darstellen. In diesen Fällen sollten Unternehmen Maßnahmen ergreifen, um diese Vulnerabilities einzudämmen.Veracode-CTO Eng empfiehlt folgende Maßnahmen:eine Zero-Trust-Architektur,Netzwerksegmentierung,robuste Authentifizierungsmechanismen,Verschlüsselung,Firewalls,Security Automation sowiedynamische Backups.3. Automatisieren, um sicherer zu codenEine relativ aktuelle Möglichkeit, anfälligen alten Code zu fixen: künstliche Intelligenz (KI). Generative Coding-Tools sind bereits erhältlich – inzwischen gibt es jedoch auch schon Lösungen, die speziell darauf konzipiert sind, automatisiert Sicherheitslücken zu beheben. Das kann den Zeitaufwand für Unternehmen drastisch reduzieren. “Größere Unternehmen werden wahrscheinlich ihre eigenen, maßgeschneiderten KI-Tools entwickeln wollen, um Korrekturen im Stil des von ihnen verwendeten Codes zu generieren”, prophezeiht Eng und fügt hinzu: “Das heißt aber nicht, dass Unternehmen sich zurücklehnen können, um darauf zu warten, dass KI alle Probleme löst. Bei dem Maß an Security-Schulden, das die meisten Unternehmen aufgebaut haben, wird ihnen die Arbeit nicht so schnell ausgehen – selbst wenn sie sich jetzt nur um die schwerwiegendsten Probleme kümmern.” (fm)Sie wollen weitere interessante Beiträge rund um das Thema IT-Sicherheit lesen? Unser kostenloser Newsletter liefert Ihnen alles, was Sicherheitsentscheider und -experten wissen sollten, direkt in Ihre Inbox.Jetzt CSO-Newsletter sichern Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online. SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Bitte geben Sie eine gültige E-Mail-Adresse ein. Abonnieren