X9: Jak Resultados Digitais dokáže automaticky detekovat citlivá data data ve svých úložištích kódů

(Vitoria Rio) (9. října 2020)

Jak se společnosti zvětšují a neustále se zvyšují množství funkcí, vývojáři neustále vytvářejí a integrují nové části kódu v podobě závazků atd. S nárůstem popularity agilních metodik se rychlejší řešení pro analýzu zranitelnosti stává nutností. Jakmile je kód odevzdán do úložiště, obsahuje-li tento závazek citlivé informace, je třeba přijmout opatření k jeho okamžitému vyřešení, protože to může nakonec vést k úniku dat.

Avšak ponoření do stovek závazků a vyžádané vyžádání není snadný úkol ani pro tým zkušených bezpečnostních techniků, to je místo, kde přichází X9. X9 je open-source nástroj vytvořený k automatizaci detekce citlivých informací v úložištích GitHub organizace. Může automaticky analyzovat kód a vytvářet oznámení prostřednictvím Slacku téměř v reálném čase.

Architektura

Github nám umožňuje číst několik událostí, jako jsou revize a žádosti o stažení pomocí Github Webhooks . Například když vývojář vytvoří PR, vytvoří se událost na platformě Github, která poté odešle užitečné zatížení zprávy na předem nakonfigurovanou trasu (v tomto případě rozhraní X9) obsahující podrobné informace týkající se této události. Tento přístup funguje nejlépe, když vezmeme v úvahu, že Github nám umožňuje konfigurovat webhooky pro celou organizaci, což X9 umožňuje analyzovat všechna úložiště z tohoto rozsahu.

Konfigurací událostí pro celou organizaci X9 nejen zaručuje, že všechna úložiště se analyzují, ale také zefektivňují proces analýzy a poskytují bezpečnostním technikům větší flexibilitu a kontrolu nad potenciálními bezpečnostními hrozbami společnosti.

Po obdržení datové části události aplikace naklonuje větev úložiště a provede několik zabezpečení testy. Každou událost zpracovává nezávislý pracovník, který lze v případě vyšší propustnosti škálovat. Všechny naskenované chyby zabezpečení jsou poté uloženy v databázi PostgreSQL a upozorněny na kanálu Slack. Rozhraní Slack umožňuje přímo vytvořit problém na Githubu nebo označit zranitelnost jako falešně pozitivní.

Analýza

X9 používá specifické podpisy a vzory k detekci citlivých dat v kódu. Tyto podpisy jsou regulární výrazy přizpůsobené pro tento konkrétní účel, například r"[a-zA-Z0-9]*\@emailexample.com", které mohou detekovat osobní e-maily nebo následující, které detekují přístupové klíče AWS uvnitř obsahu souboru (definováno dále dopředu):

Aplikace také umožňuje uživateli konfigurovat vlastní regulární výrazy, což umožňuje více doménový přístup. Pro X9 existují čtyři typy podpisových kontextů:

  • název souboru : Vyhledá celé názvy souborů
  • rozšíření : Vyhledá konkrétní rozšíření (např. .pem, .db)
  • cesta : Vyhledá úplnou cestu k předem určené složce souboru v úložišti
  • contents : Vyhledá vzory uvnitř souborů

Oznámení a akce

Prostřednictvím Slack Webhooks odesílá X9 podrobné informace o každém nálezu na uživatelem definovaný kanál. Je důležité si uvědomit, že veškeré potenciálně citlivé informace jsou správně popleteny, jak je vidět níže:

Interaktivní součásti ( Otevřené číslo a Falešně pozitivní tlačítka) umožňují přímé vytváření problémů na GitHubu a zranitelnost ignorují jako falešně pozitivní. Pokud je třeba ze zprávy vytvořit problém, vytvoří se ve zranitelném úložišti následující formát problému:

Dashboard

X9 má také řídicí panel pro vizualizaci zranitelnosti. Tento řídicí panel je volitelná samostatná aplikace, která nezasahuje do analýzy zabezpečení. Pro ověřování přihlášení používá OpenID Connect .

Řídicí panel je zobrazení tabulky, které umožňuje filtrování podle názvu úložiště a typu chyby zabezpečení. Pokud bude vytvořen, zobrazí se také odkaz na problém.

Závěrečné myšlenky

X9 stále probíhá a aktivně se aktualizuje, příspěvky jsou vítány :).

Podívejte se na github.com/ResultadosDigitais/ x9 .

Reference

Tento projekt byl inspirován Shhgit a Gitleaks , které poskytly většinu podpisů a analytické strategie.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *