L Vývojáři Google představili "SLSA" (Úrovně dodavatelského řetězce pro softwarové artefakty), jejichž účelem je péče o ochrana rozvojové infrastruktury útoků prováděných ve fázi kódování, testování, vytváření a distribuce produktu.
Vývojáři zmínit, že vývojové procesy jsou stále složitější a závisejí na nástrojích třetích stran, která vytváří příznivé podmínky pro podporu útoků souvisejících nikoli s identifikací a využíváním zranitelných míst ve finálním produktu, ale se závazkem samotného vývojového procesu.
O SLSA
Uvádí se, že SLSA se zaměřuje na následující dva základní principy:
Není jednostranný: Žádná osoba nesmí upravovat softwarový artefakt kdekoli v dodavatelském řetězci softwaru bez výslovné kontroly a souhlasu alespoň jedné další „důvěryhodné osoby“. [^ 1] Účelem je prevence, zastrašování nebo včasné odhalení rizik / špatných změn.
Auditable - Softwarový artefakt lze bezpečně a transparentně vysledovat zpět k původním, člověkem čitelným zdrojům a závislostem. Hlavním účelem je automatizovaná analýza zdrojů a závislostí, stejně jako ad-hoc vyšetřování.
Chcete-li blokovat označené hrozby, SLSA nabízí sadu pokynů a nástrojů k automatizaci vytváření metadat pro auditování. SLSA shrnuje běžné metody útoku a zavádí koncept vrstev ochrany.
Každá vrstva má specifické požadavky na infrastrukturu, aby zajistila integritu artefaktů použitých při vývoji, tj. čím vyšší je podporovaná úroveň SLSA, tím více obrany bude implementováno a infrastruktura bude lépe chráněna před typickými útoky.
SLSA úroveň 1
Na této úrovni vyžaduje, aby byl proces sestavení plně automatizovaný a generoval metadata („Provenance“) o tom, jak jsou shromažďovány artefakty, včetně zdroje, závislosti a informací o procesu sestavení (pro akce GitHub je k dispozici ukázkový generátor metadat pro auditování). SLSA 1 nezahrnuje prvky ochrany před škodlivými změnamiIdentifikuje kód pouze nejjednodušším způsobem a poskytuje metadata pro správu zranitelnosti a analýzu rizik.
SLSA úroveň 2
Zde je první vrstva rozšířena tím, že se vyžaduje použití systému řízení zdroje a sestavení služeb, které generují ověřená metadata. Použití SLSA 2 umožňuje sledovat původ kódu a předchází neoprávněným změnám v kódu, v případě použití spolehlivých montážních služeb.
SLSA úroveň 3
Od tohoto bodunebo je potvrzeno, že zdrojový kód a platforma sestavení splňují požadavky norem zajistit, aby bylo možné kód auditovat a zaručit integritu poskytovaných metadat. Auditoři by měli být schopni certifikovat platformy pro soulad s požadavky norem.
SLSA úroveň 4
Toto je nejvyšší úroveň a také doplňuje předchozí úrovně přidáním mnohem přísnějších požadavků, jako je povinná kontrola všech změn dvěma různými vývojáři, stejně jako všechny kroky kompilace, kód a závislosti. plně deklarováno, všechny závislosti musí být zkontrolovány a zkontrolovány samostatně a proces sestavení musí být proveden offline.
Použití procesu opakovatelné kompilace také poskytuje schopnost opakovat proces kompilace a zajistit, aby byl spustitelný soubor kompilován z poskytnutých zdrojů.
Kromě toho tento rámec bere v úvahu 8 typů útoků související s hrozbami škodlivých změn ve fázi vývoje, kompilace, testování a distribuce kódu produktu.
Berou se v úvahu typy útoku Jsou následující:
1. - Zahrnutí změn, které obsahují zadní vrátka nebo skryté chyby, které vedou k chybám zabezpečení, do zdrojového kódu.
2. - Závazek platformy pro řízení zdrojů.
3. - Proveďte změny ve fázi přenosu kódu do systému kompilace nebo kontinuální integrace (shromažďuje se kód, který neodpovídá kódu úložiště).
4.- Závazek stavební platformy
5. - Propagace škodlivých kódů prostřednictvím závislostí nízké kvality.
6. - Načítání artefaktů nevygenerovaných v systému CI / CD.
7.- Kompromis úložiště balíčků.
8. - Zmatek v instalaci nesprávného balíčku uživatelem.
Konečně pokud o tom chcete vědět víc, můžete zkontrolovat podrobnosti Na následujícím odkazu.