X9: Cum Rezultatele Digitate pot detecta automat sensibile date în depozitele sale de coduri

(Vitoria Rio) (9 octombrie 2020)

Pe măsură ce companiile devin mai mari, cu o cantitate din ce în ce mai mare de caracteristici, dezvoltatorii creează și integrează în mod constant noi bucăți de cod pe măsură ce comitere, extrag cereri , etc. Odată cu creșterea popularității metodologiilor agile, o soluție mai rapidă pentru analiza vulnerabilității devine o necesitate. De îndată ce codul este trimis către depozit, dacă acest commit conține informații sensibile, trebuie luate măsuri pentru a le aborda imediat, deoarece poate duce în cele din urmă la scurgeri de date.

Cu toate acestea, aprofundarea în sute de commit-uri și solicitările de extragere nu sunt o sarcină ușoară nici măcar pentru o echipă de ingineri de securitate calificați, de aici intră X9. X9 este un instrument open-source creat pentru a automatiza detectarea informațiilor sensibile în depozitele GitHub ale organizației. Poate analiza automat codul și crea notificări prin Slack în timp aproape real.

Arhitectură

Github ne permite să citim mai multe evenimente, cum ar fi comitere și extragerea cererilor, prin utilizarea Github Webhooks . De exemplu, atunci când un dezvoltator creează un PR, un eveniment este creat pe platforma Github, care apoi trimite un mesaj de încărcare utilă către o rută preconfigurată (în acest caz, interfața X9) conținând informații detaliate cu privire la acel eveniment. Această abordare funcționează cel mai bine atunci când considerăm că Github ne permite să configurăm webhooks pentru întreaga organizație, permițând X9 să analizeze toate depozitele din acest domeniu.

Prin configurarea evenimentelor pentru întreaga organizație, X9 nu numai că garantează toate depozitele sunt analizate, dar simplifică și procesul de analiză, oferind inginerilor de securitate mai multă flexibilitate și control asupra potențialelor amenințări de securitate ale companiei.

La primirea sarcinii utile a evenimentului, aplicația clonează ramura depozitului și realizează mai multe sisteme de securitate. teste. Fiecare eveniment este procesat de un lucrător independent, care poate fi extins în caz de randament mai mare. Toate vulnerabilitățile scanate sunt apoi stocate într-o bază de date PostgreSQL și notificate pe un canal Slack. Interfața Slack permite crearea directă a unei probleme pe Github sau semnalarea vulnerabilității ca fiind fals pozitivă.

Analiză

X9 folosește semnături și modele specifice pentru a detecta date sensibile în cod. Aceste semnături sunt expresii regulate adaptate pentru acest scop specific, cum ar fi r"[a-zA-Z0-9]*\@emailexample.com" care pot detecta e-mailuri personale sau următoarele, care detectează cheile de acces AWS din conținutul fișierului (definite mai departe):

Aplicația permite, de asemenea, utilizatorului să configureze personalizat expresii regulate, permițând o abordare mai orientată spre domeniu. Există patru tipuri de contexte de semnătură pentru X9:

  • nume de fișier : Căutare nume de fișiere complete
  • extensie : caută extensii specifice (de exemplu: .pem, .db)
  • cale : caută calea completă a unui folder predeterminat al unui fișier din depozit
  • conținut : caută modele în fișiere

Notificări și acțiuni

Prin Slack Webhooks , X9 trimite informații detaliate pentru fiecare descoperire către un canal definit de utilizator. Este important să rețineți că orice informație posibilă este confundată în mod corespunzător, după cum se vede mai jos:

Componentele interactive ( Număr deschis și Butoanele False Positive) permit crearea directă a problemelor pe GitHub și ignoră vulnerabilitatea ca fiind fals pozitiv. Dacă trebuie creată o problemă din mesaj, următorul format al problemei este creat în depozitul vulnerabil:

Tablou de bord

X9 are, de asemenea, un tablou de bord pentru vizualizarea vulnerabilității. Acest tablou de bord este o aplicație opțională separată care nu interferează cu analiza de securitate. Folosește OpenID Connect pentru autentificarea autentificării.

Tabloul de bord este o vizualizare în tabel care permite filtrarea după numele depozitului și tipul de vulnerabilitate. Dacă este creat, va fi afișat și linkul problemei.

Gânduri finale

X9 este încă în lucru și este în curs de actualizare activă, contribuțiile sunt binevenite :).

Verificați-l la github.com/ResultadosDigitais/ x9 .

Referințe

Acest proiect a fost inspirat din Shhgit și Gitleaks , care a furnizat majoritatea semnăturilor și strategiei analitice.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *