Værktøjer forhindrer lækager i offentlige kodelagre

business, technology, city-5475661.jpg

Disse værktøjer finder din virksomheds eksponerede hemmeligheder i GitLab, GitHub eller Google Cloud Build før hackere gør det.

Hemmeligheder gemt i Git depoter har været en torn i øjet af udviklere og en kilde for hackere i lang tid. At sikre at følsomme oplysninger opbevares korrekt og fjernes fra depoter, er blevet en nødvendighed for at reducere sandsynligheden for, at software kompromitteres, ofte på meget offentlige måder. Selvom dette synes indlysende, er det nemt at overse hardcodede forbindelsesstrenge, adgangskoder og endda plaintext-legitimationsoplysninger, der er gemt af selve udviklingsværktøj. Visual Studio kan f.eks. gemme SQL-forbindelsesoplysninger i almindelig tekst, medmindre andet er fortalt.

Alene i 2020 opdagede GitGuardian over 2 millioner hemmeligheder i offentlige arkiver. Det har været stort set antaget, at en lækket legitimationsoplysninger produceret af en praktikant spillede en rolle i udførelsen af SolarWinds angreb. Med sådanne højt profilerede sager som denne er det værd at overveje, om dine egne projekter kan blive udsat på denne måde.

Tricket er at finde hemmelighederne til at begynde med. De er ofte gemt væk i kode eller obskure XML-filer og kodet på måder, der er vanskelige at finde. Manuel skrubbekode vil sandsynligvis resultere i fejl og forglemmelser. Da Git ligesom andre kontrolsystemer, bevarer fejl tidligere begået. Det skal renses fra historien, hvilket nogle gange kan betyde at starte forfra. På grund af dette er det vigtigt at få tingene rigtigt og få dem rigtigt tidligt i processen.

Heldigvis er flere værktøjer til rådighed for at hjælpe med at håndtere denne slags problemer. Mens de fleste er kommandolinjeværktøjer, er nogle webbaserede indstillinger. Alle deler lignende funktionalitet, men opnår resultatet på lidt forskellige måder. De vigtigste oplysninger, de leder efter, omfatter brugernavne, adgangskoder, private nøgler og andre potentielt følsomme oplysninger.

Når det overvejes hvilken at bruge, er det vigtigt at evaluere dine egne tekniske evner, tid til at lære et nyt værktøj, uanset om du har brug for brugerdefinerede registreringer, og budget.

Gitleaks

GitLeaks kan installeres ved hjælp af Homebrew, Docker eller Go, som er tilgængelig på flere platforme. Når det er installeret, kan du definere regler og køre kommandolinjeværktøjet for at scanne Git-lageret. Regler er skrevet ved hjælp af Tom’s Obvious Minimal Language (TOML), der ligner noget som en krydsning mellem JSON og Windows INI filer. Hver regel er et regulært udtryk, så det er nyttigt at være flydende i dem.

Heldigvis er der virkelig ingen grænse for de typer af mønstre, som du kan matche mod. GitLeaks giver også en hel del prøvekonfigurationer, som du kan bruge, hvis du har brug for at opdatere din viden om regulære udtryk eller har brug for et godt udgangspunkt for at opbygge din egen. Derudover vil en standardkonfiguration fange de fleste af de almindelige hemmeligheder, som du ikke ønsker, at skurke eller uærlige medarbejdere skal finde.

Når du har kørt værktøjet, får du en liste over problemer og en returkode, hvis du kan lide at automatisere dine scanninger. GitLeaks er et kraftfuldt værktøj, der kræver, at du ved, hvad du laver, men det er let nok til, at det kan passe ind i udviklingspipelinen.

GittyLeaks

GittyLeaks har et lignende navn som GitLeaks, men er et meget anderledes værktøj. Det er skrevet i Python og er lidt af en one-trick pony. Når du har installeret det, kan du udføre det fra den mappe, hvorfra dit Git-lager er klonet. Det vil forsøge at kigge efter ord som brugernavn, adgangskode og e-mail, der kan have været overset. Det er stadig et igangværende arbejde og mangler en solid mekanisme til at tilpasse søgemønstre samt beskæftige sig med oprydning, men det gør arbejdet med at finde hemmeligheder og kræver ikke at lære særlige regel syntaks som GitLeaks.

Det ene vanskelige stykke af enhver Python værktøj er at sikre, at du kører både den rigtige version af Python og den rigtige version af pip. Så længe du er meget opmærksom på begge dele, var der ingen problemer med at køre værktøjet og få gode resultater.

Spektralops

SpectralOps fra Spectral er en betalt løsning. Mens Spectral ikke offentligt giver priser, kan du tilmelde dig en demo på sin hjemmeside for at forhøre dig om det. Fordelene ved SpectralOps er mange. Det integreres med flere datakilder ud over bare Git. Det kan interface med GitHub, GitLab, NPM, Google Cloud Build og meget mere. Ligesom de gratis muligheder er det et kommandolinjeværktøj, der scanner din kode, før den går til skyen.

Det, der adskiller SpectralOps, er, at det nemt kan integreres med flere Continuous Integration (CI)-systemer, som er værktøjer, der automatisk bygger og tester kodeændringer. SpectralOps bruger specielt udformede YAML filer kaldet detektorer til at samle op på hemmeligheder defineret i din kode. Mens Spectral konstant udvider dette bibliotek, er du fri til at skrive dit eget.

SpectralOps er klart rettet mod et større udviklingsteam med et budget og har en masse støtte bag sig. Hvis du har brug for et skridt over gratis værktøjer og har bekymringer om privatlivets fred, er SpectralOps et besøg værd.

GitGuardian

GitGuardian er en fuldt webbaseret løsning, der løbende scanner dine depoter for hemmeligheder. Det er næsten helt automatiseret og fungerer meget gerne et slutpunktsbeskyttelsesprodukt til din kode. Det forbinder direkte til GitHub, Bitbucket, GitLab eller dine interne depoter og overvåger dem løbende for hemmeligheder. Alle hemmeligheder, der opdages, kan håndteres, spores og afhjælpes fra appen.

Mens du stadig skal foretage manuelle ændringer i dit Git Repository, sørger GitGuardian for, at du følger alle de nødvendige trin for at sikre korrekt hemmelig fjernelse. GitGuardian er gratis for private depoter og små teams op til 25 udviklere.

Problemet kan være, at der skal oprette direkte forbindelse til dit lager. Hvis du har visse politikker til beskyttelse af personlige oplysninger eller andre bekymringer, der kan forbyde dette, kan det være mere fornuftigt at søge efter et offlineværktøj. Når det er sagt, hvis du ikke kan lide at stå op med en kommandolinje og foretrækker en visuel tilgang, er GitGuardian vejen at gå.

Uanset budgettet eller det tekniske færdighedsniveau er der et værktøj til rådighed til at hjælpe med at sikre, at missionskritiske hemmeligheder ikke lækkes til verden gennem dit kildekontrolsystem. Ved at tage lidt tid og vedtage et af disse applikationer i din udviklingsproces, kan tage et stort skridt i retning af at gøre organisationen og brugerbasen føler sig mindre udsatte og undgå berygtet af forsiden overskrifter.

Kilde: CSO