maciek905 - Fotolia
Die vier besten Methoden für sicheren Quellcode
Attacken auf die Software Supply Chain nehmen weiter zu. Der Schutz des im Unternehmen genutzten Codes wird daher immer wichtiger. Wir stellen vier Tipps für sicheren Code vor.
Angriffe auf die Softwarelieferkette wie SolarWinds und NotPetya haben in den vergangenen Jahren für viele Schlagzeilen gesorgt. Bei dieser Art von Cyberangriffen wird der Quellcode eines Anbieters kompromittiert und dann für Attacken gegen die Kunden des Unternehmens genutzt.
Die Wahrscheinlichkeit, dass eine Organisation durch eine dieser Attacken getroffen wird, geht durch die Decke. Angriffe auf die Software Supply Chain sind nach Angaben des Sicherheitsanbieters Sonatype 2020 (PDF) um 430 Prozent nach oben geschossen und 2021 sogar um 650 Prozent.
Um selbst nicht zum Opfer eines solchen Angriffs auf Ihre Softwarelieferkette zu werden, ist es unverzichtbar, sich an bewährte Vorgehensweisen beim Entwickeln sicheren Codes sowohl intern als auch in der Zusammenarbeit mit anderen Entwicklern zu halten. Nur so lassen sich Schäden durch die Software Supply Chain verhindern, die auch für den Ruf eines Unternehmens verheerend sein können.
1. Akzeptieren Sie nur sicheren externen Quellcode
Überprüfen Sie die Legitimität jeglichen Sourcecodes, den Sie von Dritten beziehen. Das gilt sowohl für einen geplanten internen Einsatz als auch, wenn Sie ihn zusammen mit eigenen Produkten oder Services weiter vermarkten wollen. Laden Sie nur Quellcode von bekannten und als seriös eingestuften Websites herunter. Nutzen Sie zudem Methoden, um die Integrität der heruntergeladenen Daten zu überprüfen. Dafür eignet sich zum Beispiel ein Vergleich der Hash-Werte der Download-Daten und der auf der Anbieterseite angegebenen Werte. Setzen Sie außerdem auf Automatisierung, um menschliche Fehler wie die falsche Eingabe einer URL oder das Übersehen des Hash-Vergleiches zu vermeiden.
2. Schützen Sie Ihren Quellcode und seine Speicherorte
Speichern Sie Ihren Quellcode nur in gut gesicherten Repositories. Erteilen Sie auch nur genau den Personen, Anwendungen und Diensten die Rechte für einen Zugriff auf Ihre Repositories, die diese für ihre Tätigkeit unbedingt benötigen. Seien Sie besonders restriktiv bei allen Berechtigungen, die Änderungen am Code erlauben. Authentifizieren Sie jeden Nutzer und jedes Gerät, die über Rechte zum Modifizieren des gespeicherten Codes verfügen. Richten Sie Ihre Repositories zudem so ein, dass sie Audit-Logs über alle Änderungen führen. Verlangen Sie von Ihren Entwicklern, dass sie auch den gesamten von ihnen verwendeten Drittanbieter-Code in den Firmen-Repositories speichern.
3. Analysieren Sie den Code
Egal, ob Sie Ihren Quellcode selbst schreiben oder anderweitig erwerben, sollten Sie statische Analyse-Tools zum Scannen nach Schwachstellen und bösartigem Code nutzen. Führen Sie diese Scans aber nicht nur immer dann durch, wenn Sie neuen Code speichern. Setzen Sie Tools ein, die häufig oder sogar kontinuierlich scannen. Auch wenn diese Werkzeuge einen großen Teil der Arbeit erledigen, sollten Ihre Mitarbeiter alles überprüfen und genauer untersuchen, was die Tools offenlegen. Stellen Sie darüber hinaus sicher, dass Ihr Reaktionsplan auf sicherheitsrelevante Vorfälle auch darauf eingeht, wie mit gefundenem bösartigem Code umgegangen werden kann.
4. Identifizieren Sie die im Quellcode verwendeten Komponenten
Viele Sicherheitsteams und Entwickler verstehen mittlerweile, wie wichtig es ist, genau zu wissen, welche Komponenten sich in einer im Unternehmen genutzten Software befinden. Achten Sie zudem kontinuierlich auf Berichte über neu entdeckte Schwachstellen in Ihren Komponenten. Über neue Sicherheitslücken informiert zu sein, hilft Ihrem Sicherheitsteam schneller mit neuen Gefahren umzugehen.
Immer häufiger wird Quellcode heute mit einer strukturierten Materialliste ausgeliefert, auch SBOM (Software Bill of Materials) genannt. Sie enthält eine Liste aller Komponenten. Alternativ können Ihre Sicherheitsexperten auch Tools einsetzen, mit denen sie die Zusammensetzung des Codes analysieren. So lassen sich enthaltene Drittanbieter-Komponenten leichter identifizieren.