X9: Hur Resultados Digitais automatiskt kan upptäcka känsliga data i sina kodförråd

Publicerad

(Vitoria Rio) (9 okt 2020)

När företag blir större, med en ständigt växande mängd funktioner, skapar och integrerar utvecklare ständigt nya kodbitar som begår, drar förfrågningar osv. Med den ökade populariteten för agila metoder blir en snabbare lösning för sårbarhetsanalys ett måste. Så snart koden har förpliktats till förvaret, om det åtagandet innehåller känslig information, måste åtgärder vidtas för att ta itu med det omedelbart, eftersom det så småningom kan leda till dataläckage.

Men att gå in i hundratals åtaganden och pull-förfrågningar är ingen lätt uppgift även för ett team av skickliga säkerhetsingenjörer, det är där X9 kommer in. X9 är ett open source-verktyg som skapats för att automatisera detektering av känslig information i organisationens GitHub-arkiv. Det kan automatiskt analysera kod och skapa meddelanden via Slack i nästan realtid.

Arkitektur

Github tillåter oss att läsa flera händelser som åtaganden och dra förfrågningar genom att använda Github Webhooks . Till exempel, när en utvecklare skapar en PR, skapas en händelse på Github-plattformen, som sedan skickar en meddelandets nyttolast till en förkonfigurerad rutt (i det här fallet X9-gränssnittet) som innehåller detaljerad information om den händelsen. Detta tillvägagångssätt fungerar bäst när vi anser att Github tillåter oss att konfigurera webbhooks för hela organisationen, vilket gör att X9 kan analysera alla arkiv från detta omfång.

Genom att konfigurera händelserna för hela organisationen garanterar X9 inte bara att alla arkiv analyseras, men effektiviserar också analysprocessen, vilket ger säkerhetsingenjörer mer flexibilitet och kontroll över företagets potentiella säkerhetshot.

Efter att ha mottagit händelsens nyttolast klonar appen förvarets filial och utför flera säkerheter tester. Varje händelse behandlas av en oberoende arbetare som kan skalas upp vid högre genomströmning. Alla skannade sårbarheter lagras sedan i en PostgreSQL-databas och meddelas på en Slack-kanal. Med Slack-gränssnittet kan man direkt skapa ett problem på Github eller flagga sårbarheten som falskt positiv.

Analys

X9 använder specifika signaturer och mönster för att upptäcka förnuftiga data i koden. Dessa signaturer är reguljära uttryck skräddarsydda för detta specifika syfte, till exempel r"[a-zA-Z0-9]*\@emailexample.com" som kan upptäcka personliga e-postmeddelanden eller följande, som upptäcker AWS-åtkomstnycklar i filinnehållet (definierat längre fram): p>

Applikationen tillåter också användaren att konfigurera anpassad reguljära uttryck, vilket möjliggör ett mer domänorienterat tillvägagångssätt. Det finns fyra typer av signaturkontexter för X9:

  • filnamn : Söker efter fullständiga filnamn
  • tillägg : Söker efter specifika tillägg (t.ex.: .pem, .db)
  • sökväg : Söker efter hela sökvägen till en förutbestämd mapp i en fil i arkivet
  • innehåll : Söker efter mönster i filerna

Aviseringar och åtgärder

Genom Slack Webhooks skickar X9 detaljerad information för varje sökning till en användardefinierad kanal. Det är viktigt att notera att all eventuell känslig information fördunklas ordentligt, se nedan:

De interaktiva komponenterna ( Öppna nummer och Falskt positiva -knappar) möjliggör direkt skapande av problem på GitHub och bortser från sårbarheten som en falsk positiv. Om ett problem måste skapas från meddelandet skapas följande problemformat i det sårbara arkivet:

Instrumentpanel

X9 har också en instrumentpanel för visualisering av sårbarheter. Denna instrumentpanel är en valfri separat applikation som inte stör säkerhetsanalysen. Den använder OpenID Connect för inloggningsautentisering.

Instrumentpanelen är en tabellvy som gör det möjligt att filtrera efter förvarets namn och sårbarhetstyp. Om den skapas visas även länken till problemet.

Slutliga tankar

X9 är fortfarande ett pågående arbete och uppdateras aktivt, bidrag är välkomna :).

Kolla in det på github.com/ResultadosDigitais/ x9 .

Referenser

Detta projekt inspirerades av Shhgit och Gitleaks , som gav de flesta signaturerna och den analytiska strategin.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *