Close

Sicherheit in der Softwareentwicklung bei Atlassian


Bei Atlassian ist Sicherheit in jede Phase des Entwicklungszyklus integriert, um sicherzustellen, dass unser Code, unsere Produkte und Kunden geschützt sind. In allen Phasen den Entwicklungszyklus setzen wir hierzu sichere Entwicklungsverfahren ein.

  • Die Entwicklung wird durch Schulungsprogramme zur Anwendungssicherheit und einer vom Sicherheitsteam verwalteten Sicherheitswissensdatenbank unterstützt.
  • Zu den Verfahren in der Designphase gehören Bedrohungsmodellierung, Designprüfungen und eine regelmäßig aktualisierte Bibliothek mit Sicherheitsstandards, die sicherstellt, dass die entsprechenden Sicherheitsanforderungen berücksichtigt werden.
  • Während der Entwicklung setzen wir im Rahmen der Sicherheitsprüfung zunächst auf einen Peer-Review-Prozess. Dabei kommen automatisierte statische Analysetests (SAST) und manuelle Sicherheitstest zum Einsatz, die sowohl von internen Teams als auch von externen Fachkräften durchgeführt werden, wie in unserem Prozess zur Risikobewertung angegeben.
  • Formale Betriebsbereitschaft und Änderungskontrollprozesse stellen sicher, dass nur genehmigte Änderungen ihren Weg in die Produktion finden. Nach dem Deployment setzen wir auf regelmäßige automatisierte Schwachstellen-Scans und ein branchenführendes Bug-Bounty-Programm, damit unsere Anwendungen sicher sind – und es auch bleiben. Zudem helfen uns Sicherheits-Scorecards dabei, die Sicherheit unserer Produkte im Laufe der Zeit zu überwachen.
Jersey

Unternehmenskultur

Engagement

Training

Standards

Liste auf Klemmbrett

Best Practices

CHECKPOINTS

Sicherheitsprüfung

Sicherheitsoptimierung

Aufbau einer Sicherheitskultur

Atlassian baut eine Sicherheitskultur auf, indem wir unsere Teams mit einem Security Champions-Programm und Sicherheitsschulungen unterstützen.

Security Champions-Programm

Atlassian has security leads - or security champions - within all of our product and service teams who assume responsibility for delivering on key security initiatives among their peers on an ongoing basis and keeping communication with our central security team as open as possible. This enables us to keep security front and center across our organization.

Die Security Champions treffen sich regelmäßig, um über Tools zu sprechen und Erfahrungen zu aktuellen Sicherheitsproblemen und -herausforderungen auszutauschen, damit alle unsere Teams davon profitieren können. Das Programm hat das Thema Sicherheit zu einem noch festeren Bestandteil unserer Unternehmenskultur gemacht.

Sicherheitsschulungen für Entwickler

Unsere Schulungen umfassen sowohl intern als auch extern entwickelte Inhalte und unterstützen unsere Entwicklerteams dabei, sich die nötigen Kenntnisse zur Entwicklung sicherer Anwendungen anzueignen. Dabei prüfen wir regelmäßig den Zustand unseres Schulungsprogramms und stellen sicher, dass es in Bezug auf Bedrohungen auf dem neusten Stand ist.

Designphase

In der Designphase setzen wir auf Verfahren wie Bedrohungsmodellierung und Designprüfungen sowie unsere Bibliothek mit Sicherheitsstandards, um sicherzustellen dass die entsprechenden Sicherheitsanforderungen berücksichtigt werden.

Bedrohungsmodellierung

We use threat modeling to better understand security risks when projects face complex threats or change security-critical features. This involves a brainstorming session between our engineers, security engineers, architects, and product managers to identify and prioritize relevant threats. This information feeds into the design process and ensures appropriate controls are implemented. It also supports targeted review and testing in later phases of development.

Die Bedrohungsmodellierung setzt sich zusammen aus:

  • Einem risikobasierten Ansatz, um die Notwendigkeit der Bedrohungsmodellierung zu ermitteln
  • Einem ausgereiften Prozess zur Durchführung der Bedrohungsmodellierung unter Verwendung unterstützender Materialien und Tools
  • Schulungsvideos und Lesematerial zur Unterstützung von Softwareteams bei der Durchführung der Bedrohungsmodellierung

Entwicklungsphase

Während der Entwicklungsphase setzen wir eine Reihe von Sicherheitsverfahren ein, um unseren Code zu schützen.

Sicherheitsprüfung

Das Sicherheitsteam verfolgt einen Prozess zur Sicherheitsprüfung, um bei allen Atlassian-Softwareprojekten den nötigen Schutz zu gewährleisten. Dabei wird anhand eines Prozesses zur Risikobewertung priorisiert, wo die Sicherheitsprüfung besonders wichtig sind, und ermittelt, welche Maßnahmen erforderlich sind, um Projektrisiken zu reduzieren. Je nach Sicherheitsniveau wird eine Kombination folgender Maßnahmen eingesetzt:

  • Designprüfung und Bedrohungsmodellierung
  • Code-Prüfung und Sicherheitstests
  • Sicherheitsprüfungen von kompetenten unabhängigen Forschern und Beratern

Prüfung von Kollegen

Während der Entwicklung unterliegt der gesamte Code einem PRGB-Testverfahren (Peer Review Green Build). Im Rahmen dieses Verfahrens werden alle Commits von erfahrenen und leitenden Entwicklern geprüft, bevor sie in die Produktionsphase übergehen. Zudem verwenden wir automatisierte statische Analysetests (SAST) und manuelle Sicherheitstest, die entweder sowohl von internen Teams als auch von externen Fachkräften durchgeführt werden, wie in unserem Prozess zur Risikobewertung angegeben. Die Entwicklung wird außerdem durch Schulungsprogramme zur Anwendungssicherheit und einer vom Sicherheitsteam verwalteten Sicherheitswissensdatenbank unterstützt.

Umgebungstrennung

Die Produktions- und Nicht-Produktionsumgebungen unserer wichtigsten Services sind logisch und physisch getrennt. Unsere Staging-Umgebung ist logisch, nicht jedoch physisch, getrennt und wird unter Änderungskontroll- und Zugriffsverfahren der Produktionsklasse verwaltet.

Atlassian also has security policies prohibiting the use of production data in non-production environments. We maintain guidelines on how to either strip or protect restricted data - including personal data - using anonymization, hashing, and tokenization techniques.

Wartungsphase

Bevor der Code in die Produktionsphase übergeht, wird er unseren Prozessen für formale Betriebsbereitschaft und Änderungskontrolle unterzogen.

Sobald ein System bereitgestellt wurde, führen wir regelmäßig automatisierte Schwachstellen-Scans durch. Wie in unseren Sicherheitsverfahren beschrieben, verfolgen wir zudem ein branchenführendes Bug-Bounty-Programm, in dessen Rahmen uns vertrauenswürdige Sicherheitsforscher dabei unterstützen, die Sicherheit unserer Systeme stetig zu verbessern.

Sicherheits-Scorecards

Wir verwenden Produktsicherheits-Scorecards – ein automatisiertes Verantwortlichkeits- und Überwachungssystem –, um das Sicherheitsniveau aller Atlassian-Produkte zu messen. Dabei werden zahlreiche sicherheitsbezogene Kriterien geprüft, wie zum Beispiel aktuelle Schwachstellen, vorhandene Schulungen, aktuelle Sicherheitsvorfälle und Abdeckung mit Security Champions, um jeden Tag eine allgemeine Sicherheitsbewertung für jedes unserer Produkte zu erhalten.

Dieser Bewertungsprozess gibt jedem unserer Produktteams einen objektiven Überblick darüber, auf welche Sicherheitsbereiche sie sich konzentrieren sollten, und identifiziert bestehende Lücken sowie Maßnahmen, um diese Lücken zu schließen. Die Sicherheits-Scorecards ermöglichen es dem Atlassian-Sicherheitsteam zudem, auf einfache Weise zu verfolgen, wie sich die Produkte vom Sicherheitsstandpunkt her entwickeln, insbesondere da wir unsere Produktsuite weiter ausweiten.