Skip to main content

Bewährte Methoden zum Beheben von Sicherheitswarnungen im großen Stil

Ein Leitfaden zum Erstellen erfolgreicher Sicherheitskampagnen, bei denen Entwickler einbezogen und ihnen geholfen wird, das Schreiben von sicherem Code besser zu verstehen

Wer kann dieses Feature verwenden?

Organisationen in GitHub Enterprise Cloud mit aktivierter GitHub Advanced Security

Note

Sicherheitskampagnen befinden sich aktuell in public preview. Änderungen sind vorbehalten.

Elemente einer erfolgreichen Sicherheitskampagne

Erfolgreiche Sicherheitskampagnen zum Beheben von Warnungen im großen Stil haben viele gemeinsame Merkmale. Dazu gehören unter anderem die folgenden:

  • Auswählen zusammenhängender Sicherheitswarnungen für die Behebung
  • Sicherstellen, dass der Kampagnen-Manager für Zusammenarbeit, Überprüfungen und Fragen zur Behebung zur Verfügung steht
  • Zugriff auf Schulungsinformationen zur Warnungsart in der Kampagne
  • Verfügbarmachen von GitHub Copilot Chat für Entwickler, um mehr zu den in den Sicherheitswarnungen der Kampagne hervorgehobenen Risiken zu erfahren
  • Definieren einer realistischen Kampagnendeadline unter Berücksichtigung der Anzahl an Warnungen, die behoben werden sollen
  • Veröffentlichen der Ergebnisse der Zusammenarbeit für Entwicklerteams und Identifizieren der besten Nutzungsmöglichkeiten in deiner Organisation

Weitere Informationen zum Entwickeln findest du unter Beheben von Warnungen in einer Sicherheitskampagne.

Auswählen von Sicherheitswarnungen für die Behebung

Eventuell ist dein erster Gedanke, alle dringlichen Warnungen zu identifizieren und für deren Behebung eine Sicherheitskampagne zu erstellen. Dies kann ein erfolgreicher Ansatz für dein Unternehmen sein, wenn deine Entwickler das Schreiben von sicherem Code bereits gut verstehen und potenzielle Risiken zeitnah beheben möchten. Wenn sie jedoch erst noch mehr über das Schreiben von sicherem Code und häufige Risiken lernen müssen, ist ein strategischerer Ansatz geeignet.

Wenn beispielsweise viele Risikowarnungen für Cross-Site Scripting auftreten, kannst du Folgendes tun:

  • Erstellen von Schulungsinhalten für Entwickler in einem Repository mithilfe von Ressourcen der OWASP Foundation. Weitere Informationen dazu findest du unter Cross-Site Scripting (XSS).
  • Erstellen einer Kampagne zum Beheben aller Warnungen für dieses Sicherheitsrisiko, einschließlich eines Links zu den Schulungsinhalten in der Kampagnenbeschreibung
  • Abhalten einer Schulung oder eines anderen Events zum Hervorheben der Möglichkeit, Erfahrung beim Schreiben von sicherem Code beim Beheben realer Bugs zu sammeln
  • Sicherstellen, dass das für das Verwalten der Kampagne zugeteilte Sicherheitsteammitglied zum Überprüfen der Pull Requests zur Verfügung steht, die zum Beheben von Kampagnenwarnungen erstellt wurden, und nach Bedarf bei der Bearbeitung hilft

Kampagnenfiltervorlagen

Beim Auswählen von Warnungen für eine Sicherheitskampagne kannst du beliebig Filter von der Sicherheitswarnungsseite zum Definieren von Warnungsunterkategorien nutzen. Alternativ kannst du eine Kampagnenvorlage auswählen, um einen vordefinierten Filter für häufige Zwecke zu verwenden, z. B. „Cross-site scripting (CWE-79)“.

Einschränkungen bei Sicherheitskampagnen

Die folgenden Einschränkungen sollen dich zu einem ausgewogenen und wohlüberlegten Ansatz zum Beheben von Warnungen in deinem Code ermutigen. Eine iterative Herangehensweise, mit der einige wenige bestimmte Warnungen gleichzeitig behandelt werden, führt wahrscheinlich zu einer nachhaltigen und langanhaltenden Änderung des Sicherheitsstatus.

  • Maximal 10 aktive Sicherheitskampagnen gleichzeitig (keine Begrenzungen für geschlossene Kampagnen)
  • Alle Kampagne können jeweils bis zu 1.000 Warnungen verteilt auf bis zu 100 Repositorys enthalten.

Wenn du eine Kampagne erstellen möchten, die über diese Grenzwerte hinausgeht, werden Warnungen weggelassen, damit die Kampagne den Einschränkungen entspricht. Warnungen in Repositorys mit aktuellen Pushes haben für das Aufnehmen in die Kampagne Priorität.

Definieren der Rolle des Kampagnen-Managers

Du musst einen sogenannten Kampagnen-Manager auswählen, wenn du eine Sicherheitskampagne erstellst. Dieser muss über eine der Rollen „Organisationsbesitzer“ oder „Sicherheits-Manager“ verfügen.

Der Name des Kampagnen-Managers ist für Entwickler sichtbar, wenn sie an der Kampagne teilnehmen. Wenn du die Behebungsrate für Warnungen und das Wissen des Sicherheitsteams erhöhen möchtest, ist eine Kampagne eine wichtige Gelegenheit, Kollaborationsbeziehungen mit Entwicklern aufzubauen. Im Idealfall steht eine Kampagnen-Manager zum Beantworten von Fragen, Zusammenarbeiten an schwierigen Fixes und Überprüfen von Pull Requests für Fixes während der gesamten Kampagne zur Verfügung.

Kombinieren von Sicherheitsschulungen mit einer Sicherheitskampagne

Wenn dein Sicherheitsteam bereits Schulungen zum sicheren Schreiben von Code für Entwickler anbietet, ist das Erstellen einer Kampagne mit Warnungen, bei denen sie die Fähigkeiten aus der Schulungssitzung einsetzen können, eine großartige Möglichkeit, sie beim Lernen zu unterstützen. Es ist sinnvoll, Informationen zu den Arten von Sicherheitsrisiken in der Kampagne sowie Beispiele zum Beheben der Risiken und Testen der Fixes bereitzustellen, auch wenn du kein offizielles Schulungsprogramm anbietest. Dadurch wird die Rolle des Kampagnen-Managers erleichtert, denn so kann er die Entwickler bei grundlegenden Fragen direkt auf diese Materialien verweisen.

Die OWASP Foundation stellt viele Ressourcen zu den häufigsten Sicherheitsrisiken zur Verfügung, und die MITRE Corporation führt eine detaillierte Liste verbreiteter Schwachstellen. Weitere Informationen findest du unter Informationen zur OWASP Foundation und Informationen zur CWE.

Bereitstellen von KI-Unterstützung zum Kennenlernen von Sicherheitsrisiken

GitHub Copilot Autofix wird automatisch ausgelöst, um eine Lösung für die jeweilige Sicherheitswarnung vorzuschlagen. Entwickler benötigen jedoch häufig weitere Informationen dazu, warum der ursprüngliche Code unsicher ist und wie getestet werden kann, dass der Fix korrekt ist und andere Komponenten nicht negativ beeinflusst.

GitHub Copilot ist ein wichtiges Tool für Entwickler, die Fragen zum Schreiben von sicherem Code haben, wie sie Sicherheitswarnungen beheben und die Fixes testen. Überprüfe, dass alle Entwickler deiner Organisation sowohl in ihrer IDE als auch in GitHub Zugriff auf Copilot haben. Weitere Informationen dazu findest du unter Gewähren des Zugriffs auf Copilot für Mitglieder Ihrer Organisation.

Tip

Der GitHub Advanced Security-Skill stellt Copilot Chat zusätzlichen Kontext zum Beantworten von Fragen zu Sicherheitswarnungen zur Verfügung.

Überlegungen beim Starten einer Sicherheitskampagne und zum Definieren einer Deadline

Wie bei allen Projekt ist es auch hier wichtig, realistische Zeiträume festzulegen, damit Entwickler nicht abgeschreckt sind und als Folge nicht an der Sicherheitskampagne teilnehmen. Die meisten Entwickler haben keine Zeit zum Beheben von Warnungen eingeplant, sofern dein Unternehmen Sicherheitswarnungen nicht als Teil einer größeren Kampagne zum Verringern technischer Schulden behebt. Du musst die Behebungsraten basierend auf der Zeit einschätzen, die Entwickler zwischen geplanten Aufgaben zur Verfügung steht. Es lohnt sich auch immer, die nationalen Feiertage und die wichtigsten Unternehmensfristen zu überprüfen, die Entwickler möglicherweise einhalten müssen.

Nächste Schritte