
Canva vertraut auf Chainguard, um Lieferkettenrisiken für seine Plattform mit 260 Millionen monatlichen Nutzern zu eliminieren
Canva betreibt eine der größten und am schnellsten wachsenden Engineering-Organisationen in Australien, in der rund 3.000 Ingenieure Software entwickeln und bereitstellen, die von 260 Millionen monatlichen Nutzern weltweit verwendet wird. Als Cloud-Native-Unternehmen läuft fast alles, was Canva ausliefert, in Containern, und der schiere Umfang dessen, was das Team baut, bedeutet, dass sich das Unternehmen auf jeder Ebene des Stacks stark auf Open Source verlässt.
Die Herausforderung
Wenn Ihre Engineering-Organisation Tausende von Entwicklern umfasst, die Container-Images aus öffentlichen Registries beziehen, wird das Schwachstellenmanagement zu einem strukturellen Problem. Canva erbte ständig CVEs, die in der Basis-OS-Ebene von Upstream-Images enthalten waren, von denen viele nichts mit der Software zu tun hatten, die die Ingenieure tatsächlich geschrieben hatten.
„Es war ein ständiger Hamsterrad-Effekt, der hauptsächlich auf den Schultern unserer Sicherheits- und Plattformteams lastete“, sagte Adam Mills, Senior Engineering Manager bei Canva. „Sicherheitsaufwand erzeugt Reibung. Unsere Plattformteams wollten den Entwicklern einen schnellen und sicheren Weg in die Produktion ermöglichen.“
Jede Woche wurden neue CVEs bekannt gegeben, Upstream-Images wurden nach eigenen Zeitplänen aktualisiert, und die Last, alles auf dem neuesten Stand zu halten, entzog der Entwicklungsarbeit Zeit für wertvollere Aufgaben. Mit dem Wachstum von Canva wuchs auch das Volumen der zu verwaltenden Schwachstellen. Die Rechnung ging nicht mehr auf: Man kann den Personalbestand im Sicherheitsbereich nicht linear an das Wachstum der Technik anpassen.
Aber die Risikobewertung endete nicht bei den Container-Images. Wie Adam erklärte: „Container kamen zuerst, weil der Explosionsradius offensichtlich ist und die Tools zur Erkennung von CVEs dort ausgereift sind, sodass man den Schmerz akut spürt. Aber Bibliotheken, insbesondere Python, stellen ein anderes und wohl heimtückischeres Risiko dar. Ein bösartiges Paket kann lange Zeit unbemerkt in Ihrem Abhängigkeitsbaum verweilen, bevor es jemand bemerkt. In gewisser Weise ist das ein viel beängstigenderes Bedrohungsmodell.“
Sicherheitskontrollen waren eher reaktiv als präventiv; sie prüften, ob Canva nach der Veröffentlichung in öffentlichen Registries vor einem Malware-Angriff sicher war, anstatt das Risiko systematisch an der Quelle zu eliminieren.
Die Lösung
Canva evaluierte mehrere Ansätze, einschließlich der internen Entwicklung einer Lösung. Angus Lees, Principal Software Engineer bei Canva, erklärte, warum sich das Team stattdessen für Chainguard entschied:
Für Container gehörten zu den Muss-Kriterien eine nachgewiesene CVE-Reduzierung in großem Maßstab, ein glaubwürdiges SLA für die Behebung kritischer CVEs und ein ausreichend breiter Katalog an Container-Images, um die Workloads von Canva abzudecken. Für Bibliotheken war die Anforderung einfacher: Drop-in-Kompatibilität. Canva konnte keine neuen Sicherheitskontrollen einführen, die das 3.000-köpfige Ingenieurteam verlangsamten. Die Fähigkeit, Chainguard Libraries zu nutzen, ohne die aktuelle Entwicklererfahrung zu beeinträchtigen, war nicht verhandelbar.
Chainguard Libraries gingen innerhalb weniger Wochen nach dem Zugriff in Produktion, ohne dass Umschreibungen erforderlich waren. „Diese Art der reibungsarmen Einführung ist sehr wichtig, wenn man versucht, etwas in einer großen Engineering-Organisation einzuführen“, sagte Adam.
Die Ergebnisse
Unsichtbare Qualitätsverbesserung
Das beste Ergebnis ist das, das die Ingenieure nicht bemerken, und genau das hat Canva mit der Einführung von Chainguard erreicht. Ingenieure ziehen ein Chainguard-Container-Image; es funktioniert, und sie werden nicht von einer Wand aus CVE-Warnungen des Basis-Betriebssystems getroffen.
„Wir möchten, dass unsere Plattform der einfachste und sicherste Weg in die Produktion ist, und Chainguard ist ein großer Teil davon, dies zu verwirklichen“, sagte Adam.
Eine stärkere Sicherheitslage der Lieferkette
Chainguard Libraries adressieren die Angriffsfläche der Lieferkette im Python-Ökosystem von Canva auf eine Weise, die für Entwickler transparent ist.
„Unser Risikoprofil und unsere Exposition gegenüber diesem Ökosystem haben sich erheblich verändert“, sagte Angus. „Wir wissen jetzt, dass diese Bibliotheken ein Reinraum sind, der aus einer sicheren Quelle aufgebaut wurde. Aus Plattformperspektive geben wir unseren Entwicklern die Freiheit, die Bibliotheken auszuwählen, die sie benötigen, und gleichzeitig wissen wir, dass wir das sichere Ergebnis erhalten, das wir brauchen.“
Zusammen reduzieren Chainguard Containers und Libraries die Angriffsfläche sowohl auf Infrastruktur- als auch auf Anwendungsebene drastisch und erweitern eine konsistente Philosophie: Starten Sie von einer vertrauenswürdigen Quelle.
Sicherheitsreife als Wettbewerbsvorteil
Canva bedient 260 Millionen monatliche Nutzer und eine wachsende Anzahl von Unternehmenskunden mit erheblichen Sicherheitsanforderungen. Eine transparente Sicherheitslage der Lieferkette, unterstützt durch gehärtete Container-Images, verifizierte Herkunft, kontinuierliche CVE-Behebung und einen präventiven Ansatz gegenüber bösartigen Bibliotheken, ist die Art und Weise, wie Canva Kunden seine Sicherheitsreife demonstriert. Wie Angus erklärte: „Für Canva ist Sicherheit kein 'Nice-to-have' mehr. Es ist jetzt eine Wettbewerbsanforderung.“