CI / CD-Pipelines CI/CD ist ein integraler Bestandteil moderner Arbeitsabläufe, und die dazugehörigen Tools erweitern deren Potenzial zusätzlich. Teamarbeit ist in modernen Workflows unerlässlich, in denen Deadlines nicht nur dringend, sondern auch regelmäßig auftreten. Jede Sekunde zählt, wenn ein Kunde auf die Bearbeitung wartet. Daher ist der beste Ausgangspunkt für die Diskussion über CI/CD die Frage, was die Tools ermöglichen.
Was ist CI/CD?
CI/CD-Umgebungen bieten im Kern Werkzeuge, die eine schnellere Softwarebereitstellung ermöglichen und den Build- und Release-Prozess optimieren. Traditionell wird Code von separaten Teams entwickelt und in individuellen Umgebungen getestet; die Integration ist zeitaufwendig, und Feedback zu fehlerhaftem Code dauert länger. Dies führt zu langen Build-Zyklen und geringerer Effizienz. Üblicherweise wird ein Codeabschnitt vor der Entwicklung anhand einer Reihe von Testfällen geprüft. Erfüllt der finale Code diese Standards, lässt er sich problemlos in bestehenden Code integrieren.
Doch wir Entwickler wissen alle, dass dies längst nicht das einzige mögliche Ergebnis ist, selbst bei sorgfältig ausgearbeiteten Testfällen. CI/CD bietet eine Möglichkeit, Testfälle in großem Umfang auszuführen, wobei Codeänderungen in einem einzigen, optimierten und automatisierten Schritt getestet werden können. Der Code wird hochgeladen, von der Pipeline empfangen und getestet. Sind alle Tests erfolgreich, kann der Build für die Veröffentlichung freigegeben werden. Es ist erstaunlich, wie sehr dies die Agilität Ihres Unternehmens steigern kann.
Die schnelle Fehlerbehebung ist möglicherweise die Zukunft der Softwareentwicklung. Bevor man jedoch den CI/CD-Workflow branchenweit einführt, sind wichtige Aspekte zu berücksichtigen. Wir erleben jetzt die Folgen einer übereilten Einführung neuer Technologien ohne gründliche Prüfung, Tests, Sicherheitsvorkehrungen oder gar ein umfassendes Verständnis der Integrationsprozesse.
Eine der modernen Gefahren im Technologiebereich ist die Blinde führen die BlindenAuch Laien haben Zugang zum Internet wie Experten und verfassen häufig Anleitungen und Tutorials. Künstliche Intelligenz (KI), eine wirklich interessante und nützliche Erfindung, verschärft dieses Problem noch. Chat-GPT wirkt mit seinem oft autoritären Tonfall und seiner scheinbaren Selbstsicherheit, vielleicht sogar mit Charisma, auf manche durchaus überzeugend. Da es aber auf diesen riesigen Pool an Internetquellen zurückgreift, ist es genauso anfällig dafür, nur die halbe Wahrheit zu verstehen. Auch wenn der folgende Text keine Verkaufsbotschaft sein soll, sollten Sie die Vorteile einer Einbindung eines Cybersicherheitsberatungsunternehmens in die Architekturplanung bedenken, damit beim Einsatz neuer und leistungsstarker Technologien das Gesamtbild nicht aus den Augen verloren wird.
Der jüngste Angriff
Heute konzentrieren wir uns auf einen spezifischen Angriff, der von zwei Forschern entwickelt wurde. Dieser Angriff zielt auf die GitHub-Aktionen CI/CD Plattform, insbesondere selbstgehostete Runner. Selbstgehostete Runner bieten viele Vorteile, darunter die größere Flexibilität hinsichtlich Funktionen und Optionen. Obwohl sich die Angriffe hauptsächlich auf öffentliche GitHub-Repositories konzentrieren, sind diese in der Branche nicht ungewöhnlich. Selbst wenn Ihr Unternehmen kein öffentliches Repository hostet, nutzen Sie wahrscheinlich mindestens eines für Ihre Produkte.
Während der Hauptangriff auf GitHub-Aktionen abzielte, wurden ähnliche Schwachstellen in mehreren in der Branche verwendeten CI/CD-Plattformen identifiziert: JenkinsCircleCI, Buildkite usw. Da dieser Angriff auf öffentliche Repositories abzielte, hätten seine theoretischen Folgen, falls böswillig gewesen wäre, weitreichend sein können. Erschwerend kommt hinzu, dass diese Schwachstellen teilweise auf fehlerhaften Standardeinstellungen beruhen.
Um einen Angriff durchzuführen, muss zunächst der Status eines Mitwirkenden erreicht werden. Ein hohes Ziel, insbesondere für ein großes, renommiertes Projekt. Doch die Forscher mussten lediglich einen Tippfehler korrigieren, um diesen Status zu erlangen. Mit diesem Status konnten sie dann einen Pull Request erstellen. Zwar kann jeder einen Fork-Pull-Request in einem öffentlichen Repository erstellen, doch standardmäßig haben Mitwirkende bei der Erstellung eines Pull Requests Zugriff auf den Runner des Hauptprojekts. Dies geschieht gemäß diesen Standardeinstellungen, bevor die Merge-Genehmigung erteilt wird. Enthält der Fork einen schädlichen Workflow, wird dieser vom Runner ausgeführt.
Runner bleiben auf dem Rechner, auf dem sie ausgeführt werden, bestehen, sodass dieser Code auch zukünftige Builds beeinflussen und ungestört im Hintergrund laufen kann. Der Runner kann im Prinzip als Trojaner für den Angreifer fungieren. Verfügt der Runner über erhöhte Rechte auf dem Rechner – was standardmäßig erforderlich ist –, erkennt der Rechner seine verdächtigen Aktivitäten nicht. Durch Keylogging kann dann das Authentifizierungstoken erfasst und der gesamte Prozess übernommen werden. Authentifizierungstoken ermöglichen den vollen Zugriff auf das Repository; von dort aus kann der Angreifer beliebige Aktionen ausführen.
Weitaus heimtückischer als die so offensichtliche Übernahme eines öffentlichen Projekts wäre der Missbrauch des persistenten Runners, um zukünftige Builds unbemerkt zu beeinträchtigen. Diese Repositories sind weit verbreitet; eines davon, PyTorch, das im Rahmen des Projekts direkt angegriffen wurde, hält einen Marktanteil von 21 % im Bereich des maschinellen Lernens. Stellen Sie sich die Anzahl der Projekte, Unternehmen und Software vor, die durch einen solchen Angriff kompromittiert werden könnten. Hinzu kommt, dass Ihre Organisation aufgrund der für moderne Projekte typischen langen Abhängigkeitsketten möglicherweise gar nicht weiß, dass sie von einem Projekt mit bekanntermaßen kompromittierter Anwendung abhängig ist. In diesem Fall haben wir Glück, dass es sich bei den Angreifern derzeit um Forscher handelt, die kein Interesse an Schaden haben. Dennoch ist es ratsam, die Prozesse und Tools, die Ihre Organisation für CI/CD verwendet, zu überprüfen und festzustellen, ob Ihre Abhängigkeiten noch anfällig für diese Angriffsmethode sind.
Fazit
Angriffe sind schwer zu verfolgen, insbesondere heutzutage, da das Ausmaß eines Angriffs oft erst nach Eintritt des Schadens absehbar wird. Wenn Ihr Unternehmen CI/CD einsetzt und Informationen zur Absicherung der Pipeline und zur Prävention von Angriffen benötigt, wenden Sie sich bitte an [Name des Unternehmens/der Organisation]. Verschlüsselungsberatung.
Unser Expertenteam unterstützt Sie bei der Implementierung von Best Practices für Zugriffskontrollen und Sicherheitsrichtlinien auf Ihrer CI/CD-Plattform und hilft Ihnen bei der Bewertung potenzieller Angriffsvektoren in Ihrem gesamten Unternehmen. Zu unseren Leistungen gehören außerdem: Zertifikatsverwaltung und Codesignatur, das sich problemlos in Ihr gesichertes CI / CD Prozess und beschleunigen Sie Ihren Bau- und Testprozess weiter.
