So verhindern Sie, dass vertrauliche Informationen in Ihren Code eindringen

Das Festkodieren von Unternehmensgeheimnissen in Ihren Code stellt ein ernstes, vermeidbares Sicherheitsrisiko dar.

Übersetzt aus „ How to Prevent Secrets from Creeping into Code“ , Autor Robert Curlee.

Vertrauliche Informationen erscheinen häufig in veröffentlichtem Code und setzen die Eigentümer Sicherheitsrisiken aus. Zu diesen vertraulichen Informationen gehören Passwörter, API-Schlüssel, Verschlüsselungsschlüssel, Token, Datenbankanmeldeinformationen und andere private Unternehmensinformationen.

Das Festkodieren vertraulicher Informationen im Quellcode ist gefährlich, und trotz der gewissenhaftesten Bemühungen des Entwicklers können dennoch vertrauliche Informationen eindringen. Entwickler nehmen beim Schreiben von Code möglicherweise Abkürzungen und geben vertrauliche Informationen in den Code ein, oder sie sind sich der Auswirkungen vertraulicher Informationen im Code möglicherweise nicht bewusst. Darüber hinaus überlassen es die meisten Scanlösungen dem Entwickler, herauszufinden, warum Code als Problem gekennzeichnet wurde. Schließlich suchen die meisten Tools erst dann nach Geheimnissen im Code-Repository, wenn ein Leck aufgetreten ist, was eine mühsame Behebung erfordert (d. h. rotierende Geheimnisse).

Aus Zeitgründen kann die ordnungsgemäße Verwaltung, Speicherung und der Schutz vertraulicher Informationen kompliziert sein, missverstanden werden oder einfach übersprungen werden. Wenn Unternehmen außerdem nicht wissen, wann und wo vertrauliche Informationen in ein Projekt gelangen, können sie nicht verhindern, dass diese bei der Veröffentlichung des Projekts durchsickern und seine Sicherheit gefährden.

Anmeldeinformationen und andere vertrauliche Informationen, die regelmäßig in den Code eindringen, sorgen für Schlagzeilen – und die Zahl der Offenlegungen aufgrund menschlicher Fehler nimmt zu . Tools, die vertrauliche Informationen in der IDE und in der gesamten CI/CD-Pipeline erfassen – bevor sie Probleme verursachen können – sind bahnbrechend.

Erfahren Sie, wie vertrauliche Informationen ihren Weg in den Code finden

Durch die Möglichkeit, vertrauliche Informationen zu erkennen, bevor sie in den Code gelangen, können Unternehmen ihre Risikoexposition verringern. Indem Sie sie in der IDE erkennen, vermeiden Sie den Aufwand, Geheimnisse zu wechseln, um sie zu beheben. Zunächst müssen Sie jedoch verstehen, wie vertrauliche Informationen in Ihren Code gelangen. Es gibt verschiedene Gründe:

1. Mangelndes Wissen

Möglicherweise aufgrund mangelnder Erfahrung oder unzureichender Schulung verstehen einige Entwickler einfach nicht die ordnungsgemäße Verwaltung vertraulicher Informationen und die Sicherheit des Quellcodes. Es braucht nur einen Entwickler, der die Best Practices für den Umgang mit vertraulichen Informationen im Code nicht kennt, um ein Unternehmen in die Hände von Bedrohungsakteuren zu bringen. Wenn Wissen Macht bedeutet, dann ist die beste Verteidigungslinie ein kompetentes Team.

2. Aus Versehen

Ein Entwickler kann Anmeldeinformationen oder Geheimnisse für schnelle lokale Tests vorübergehend fest codieren, mit der Absicht, sie später zu entfernen. Manchmal werden diese Dateien jedoch versehentlich in das öffentliche Repository übernommen, wodurch diese temporären Änderungen dauerhaft werden. Auch wenn der Code später gelöscht wird, kann es sein, dass jemand den Code mit vertraulichen Informationen kopiert hat, bevor er ihn bereinigt hat. Es ist menschlich, Fehler zu machen, aber wenn die Folgen enorm sein können, ist es am besten, sie wann immer möglich proaktiv zu verhindern.

3. Blindes Vertrauen

Probleme selbst zu lösen ist eine großartige Möglichkeit zu lernen, und manchmal sind die Probleme so spezifisch, dass die einzige Möglichkeit, sie zu lösen, darin besteht, es selbst zu tun. Wenn es viel Zeit in Anspruch nimmt und Sie keine Lösung finden, suchen Sie am besten Hilfe in der Produktdokumentation und auf Websites wie Stack Overflow. Obwohl diese Materialien nützliche Erklärungen und Beispiele liefern, sollten sie nicht einfach kopiert und für bare Münze genommen werden.

Code in Stack Overflow und die Dokumentation können die Frage beantworten, aber es ist nicht der sicherste Weg, eine Lösung zu implementieren. Beispielsweise enthält die Dokumentation häufig Codeausschnitte, um die Funktionen des Produkts zu veranschaulichen, es wird jedoch möglicherweise nicht erwähnt, ob es mit Vorsicht verwendet werden sollte und ob es sicherere Optionen gibt. Ergebnis? Schlechter Code . Jede Lösung, die Sie in Ihre Codebasis einführen, sollte ordnungsgemäß evaluiert werden, um sicherzustellen, dass sie den Qualitätsstandards entspricht und keine Probleme für den Code verursacht.

Ein weiteres Vertrauensproblem, das zum Durchsickern vertraulicher Informationen in den Code führt, ist die zunehmende Verwendung von KI-generiertem Code . Da generative KI in der Codeentwicklung immer beliebter wird, werden Sie feststellen, dass die Anzahl der Codezeilen, die Sie scannen müssen, und die Anzahl der Probleme mit vertraulichen Informationen zunehmen. Der von der KI generierte Code könnte Sie zu der Annahme verleiten, dass der richtige Weg, sich mit dem Dienst zu verbinden, darin besteht, einen Token oder ein Geheimnis fest zu codieren. Abhängig von der Qualität der Hinweise und dem Bewusstsein für das Problem generiert die KI möglicherweise keinen sauberen Code und kann zum Verlust vertraulicher Informationen führen. Der von der KI generierte Code kann als Grundlage für das Verständnis der Verbindung mit dem Dienst dienen. Sie müssen ihn jedoch ändern, um den Confidential Information Vault zu verwenden.

Letztendlich müssen Sie jeden Code, den Sie mithilfe von KI finden oder generieren, in Frage stellen. Unternehmen müssen sicherstellen, dass ihre Entwicklerteams über die entsprechenden Tools zur Codequalität verfügen, um zu verhindern, dass vertrauliche Informationen in den Code eindringen, und um etwaige Lecks zum frühestmöglichen Zeitpunkt der Codeentwicklung zu beheben.

Erfassen Sie vertrauliche Informationen von Anfang an

Wenn öffentlich vertrauliche Informationen zum Zeitpunkt der Einführung gekennzeichnet werden, sei es in Echtzeit während des Codierens oder kurz vor einem Commit, kann dies dem Team viel Kopfzerbrechen ersparen. Menschliche Fehler passieren, aber indem Sie die richtigen Kontrollen zur richtigen Zeit durchführen, können Sie die Folgen von Fehlern frühzeitig verhindern.

Der beste Ort, um diese Probleme im Entwicklungsworkflow zu erkennen und zu beheben, ist am Anfang, in der IDE. Funktionen zur Erkennung vertraulicher Informationen in SonarLint, SonarQube und SonarCloud ermöglichen es Unternehmen, öffentlich verfügbare vertrauliche Informationen im Quellcode zu erkennen, deren Offenlegung zu verhindern und das Sicherheitsrisiko eines illegalen oder unbefugten Zugriffs auf private Daten zu verringern. Entwickler, die SonarQube Enterprise Edition 10.3 und höher verwenden, können auch benutzerdefinierte Mustererkennungsregeln für Geheimnisse erstellen . Die Kombination mit den Methoden „Clean as You Code“ (CaYC) und „Learn as You Code“ unterstützt die Bereitstellung von sauberem Code – Code, der wartbare, zuverlässige und sichere Software erzeugt.

Durch die Entfernung vertraulicher Informationen aus dem Code in der IDE von Beginn der Entwicklung an können Teams verhindern, dass vertrauliche Informationen in ihre Repositorys gelangen. Das frühzeitige Erkennen und Entfernen vertraulicher Informationen in der Projektentwicklung reduziert die komplexe und teure Behebung, die erforderlich ist, wenn offengelegte vertrauliche Informationen später im Release-Zyklus entdeckt werden.

Dieser Artikel wurde zuerst auf Yunyunzhongsheng ( https://yylives.cc/ ) veröffentlicht, jeder ist herzlich willkommen.

Ich beschloss , auf Open-Source -Industriesoftware zu verzichten – OGG 1.0 wurde veröffentlicht, das Team von Ubuntu 24.04 LTS wurde offiziell entlassen ". Fedora Linux 40 wurde offiziell veröffentlicht. Ein bekanntes Spieleunternehmen veröffentlichte neue Vorschriften: Hochzeitsgeschenke von Mitarbeitern dürfen 100.000 Yuan nicht überschreiten. China Unicom veröffentlicht die weltweit erste chinesische Llama3 8B-Version des Open-Source-Modells. Pinduoduo wird zur Entschädigung verurteilt 5 Millionen Yuan für unlauteren Wettbewerb. Inländische Cloud-Eingabemethode – nur Huawei hat keine Sicherheitsprobleme beim Hochladen von Cloud-Daten
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/6919515/blog/11063471
Empfohlen
Rangfolge