Bezpečnost produktů
PSIRT: co dělá tým pro reakci na bezpečnostní incidenty produktů
Každá firma, která dodává software, dodává i zranitelnosti. PSIRT je tým, který se o nich dozví, zjistí, kterých produktů a verzí se týkají, zajistí jejich opravu a řekne zákazníkům, co mají dělat. Tento průvodce popisuje jeho práci, framework FIRST, na kterém staví většina týmů, a proces a nástroje, které za tím stojí.
Aktualizováno
Co je PSIRT?
Product Security Incident Response Team (PSIRT) je funkce, která řeší bezpečnostní zranitelnosti v produktech, které firma vyrábí a prodává. FIRST ho definuje jako útvar zaměřený na identifikaci, posouzení a vypořádání rizik spojených s bezpečnostními zranitelnostmi v produktech, včetně nabídek, řešení, komponent a služeb.
V praxi PSIRT:
- provozuje kanál, kterým výzkumníci, zákazníci a partneři hlásí zranitelnosti;
- sleduje zranitelnosti v komponentách třetích stran a open source uvnitř svých produktů;
- provádí triáž každého hlášení: je skutečné, kterých produktů a verzí se týká, jak je závažné;
- zajistí, aby ho odpovědný vývojový tým opravil v termínu odpovídajícím riziku;
- vydává bezpečnostní oznámení a koordinuje zveřejnění s nálezci a navazujícími dodavateli;
- reportuje metriky vedení a školí lidi, kteří produkty vyvíjejí.
Většina práce přichází po vydání. FIRST uvádí, že většina zranitelností produktů se nahlásí jako chyby kvality, které unikly, až když je produkt na trhu, i když PSIRT přináší hodnotu i dřív, při revizích návrhu a modelování hrozeb.
Kde PSIRT v organizaci stojí
Od jiných bezpečnostních týmů ho odlišuje zaměření na produkty. Podnikový CSIRT chrání vlastní systémy a sítě firmy; PSIRT chrání zákazníky, kteří produkty firmy provozují. Oba sdílejí dovednosti a často i linii podřízenosti a setkávají se, když incident ve vlastní infrastruktuře firmy, například kompromitovaný systém buildu, zasáhne produkt. Úplné srovnání najdete v článku PSIRT vs CSIRT.
FIRST popisuje tři provozní modely:
- Distribuovaný: malý centrální PSIRT určuje politiku a koordinuje, triáž a opravy dělají bezpečnostní zástupci v jednotlivých produktových týmech. Škáluje na velké a různorodé portfolio, ale lidé, kteří práci dělají, PSIRT nepodléhají.
- Centralizovaný: větší PSIRT s vlastním řízením programu, triáží a pracovníky pro nápravu, který podléhá vrcholovému manažerovi pro bezpečnost produktů. Hodí se pro menší firmy nebo jednotné portfolio a s růstem portfolia je dražší.
- Hybridní: kombinace obou, zvolená podle velikosti firmy, portfolia a strategie vývoje.
Ať je model jakýkoli, FIRST zdůrazňuje nezávislost: PSIRT by měl podléhat vedoucímu pracovníkovi, který potvrzuje jeho pravomoc, aby mohl zaujmout objektivní postoj ke zranitelnostem ve vlastních produktech firmy.
FIRST PSIRT Services Framework
PSIRT Services Framework, který FIRST vydává zdarma a který je nyní ve verzi 1.1, je referencí, na které většina týmů PSIRT staví svůj katalog služeb. Stanovuje provozní základy (mandát, zainteresované strany, rozpočet, politiky) a poté šest oblastí služeb:
| Oblast služeb | Co pokrývá |
|---|---|
| 1. Správa ekosystému zainteresovaných stran | Interní zainteresované strany, komunita nálezců, navazující dodavatelé a zákazníci, komunikace při incidentech, uznání nálezců, metriky zainteresovaných stran |
| 2. Objevování zranitelností | Příjem hlášení o zranitelnostech, hledání nenahlášených zranitelností, monitorování komponent produktů na zranitelnosti, identifikace nových zranitelností, metriky objevování |
| 3. Triáž a analýza zranitelností | Kvalifikace hlášení, spolupráce se zavedenými nálezci, reprodukce zranitelností |
| 4. Náprava | Plán řízení vydání oprav, náprava, řešení incidentů, metriky vydání |
| 5. Zveřejňování zranitelností | Oznámení, koordinace, zveřejnění prostřednictvím bezpečnostních oznámení, metriky zveřejňování |
| 6. Školení a vzdělávání | Školení PSIRT, vývojových a validačních týmů a dalších zainteresovaných stran; mechanismy zpětné vazby |
Jednu službu stojí za to vyzdvihnout, protože tvoří velkou část práce: monitorování zranitelností v komponentách produktů. Její první funkcí je inventář komponent produktu, seznam dodavatelů, produktů a verzí obsažených v každém produktu, který je podle FIRST nezbytný k rychlému určení produktů zasažených zděděnými zranitelnostmi. V moderním softwaru je tímto inventářem softwarový kusovník (SBOM).
Proces PSIRT v přehledu
Proces popisují dvě normy ISO/IEC. ISO/IEC 30111:2019 pokrývá, jak dodavatel řeší zranitelnosti interně. ISO/IEC 29147:2018 pokrývá, jak přijímá hlášení zvenčí a zveřejňuje informace o nápravě. Norma 30111 je určena k použití spolu s 29147 a fáze, které popisuje, dávají užitečnou osnovu:
- Příprava. Politika, role, zveřejněný způsob hlášení zranitelností, metoda hodnocení, inventář toho, co dodáváte.
- Příjem. Přijímejte hlášení od výzkumníků, zákazníků, partnerů a z vlastního testování i z bezpečnostních oznámení ke komponentám, které používáte. Potvrďte nálezci přijetí.
- Ověření. Potvrďte zranitelnost, reprodukujte ji, ohodnoťte ji a určete všechny zasažené produkty a verze. Zaznamenejte i produkty, které zasaženy nejsou, a proč.
- Vývoj nápravy. Odpovědný tým vytvoří a otestuje opravu nebo zmírňující opatření. PSIRT sleduje plnění dohodnutého harmonogramu.
- Vydání. Dodejte opravu a zveřejněte bezpečnostní oznámení, koordinovaně s nálezcem a s navazujícími dodavateli, kteří váš produkt zabudovávají.
- Po vydání. Sledujte problémy s opravou, odpovídejte zákazníkům a hlavní příčiny vracejte zpět do vývoje.
Každou fázi s tím, co zaznamenat a kdo za ni odpovídá, popisuje životní cyklus správy zranitelností. Jak rozhodnout, které nálezy mají přednost, viz určování priority zranitelností se signály o zneužívání z EPSS a katalogu CISA KEV. Zranitelnost zneužitá dřív, než existuje oprava, je zero-day a PSIRT ji řeší jako incident. Cestu od bezpečnostního oznámení k opravenému a dodanému buildu popisuje náprava CVE.
Zveřejňování a bezpečnostní oznámení
Zveřejňování je ta část PSIRT, kterou zákazníci vidí. Obvyklou praxí je koordinované zveřejňování zranitelností: nálezce hlásí neveřejně, dodavatel opraví a oba zveřejní v dohodnutý den, s uvedením nálezce. Začíná veřejnou politikou zveřejňování zranitelností, která říká, jak hlásit, co mohou nálezci očekávat a jak dlouho jsou produkty podporovány. Viz koordinované zveřejňování zranitelností.
Dobré bezpečnostní oznámení řekne zákazníkovi bez telefonátu:
- které produkty a verze jsou zasaženy a které ne;
- ID CVE a hodnocení závažnosti;
- opravenou verzi, nebo zmírňující opatření, pokud oprava ještě není;
- kdo zranitelnost našel.
Velcí zákazníci stále častěji chtějí bezpečnostní oznámení ve strojově čitelné podobě, kterou mohou automaticky porovnat s vlastním inventářem aktiv. CSAF je standardní formát OASIS pro bezpečnostní oznámení a VEX je způsob, jak uvést, že produkt není zasažen zranitelností v jedné ze svých komponent, což oběma stranám ušetří tiket.
Metriky a vyspělost PSIRT
Framework zařazuje metriky do každé oblasti služeb. Běžné jsou:
- doba do potvrzení hlášení, do triáže a do vydání opravy, podle závažnosti;
- otevřené zranitelnosti podle produktu, závažnosti a stáří;
- podíl oprav dodaných v rámci zveřejněných cílů nápravy;
- zranitelnosti nalezené interně oproti nahlášeným zvenčí;
- zveřejněná bezpečnostní oznámení a jejich opravy.
Doprovodný PSIRT Maturity Document od FIRST řadí služby do tří úrovní:
- Úroveň 1, základní: podpora vedení, zainteresované strany, rozpočet a politiky; způsob příjmu hlášení; workflow triáže; zdokumentované opravy; bezpečnostní oznámení, která používají CVE a CVSS a uvádějí nálezce.
- Úroveň 2, středně pokročilá: statut a organizační model, základní metriky, registr produktů s mapováním závislostí, formální plán nápravy, systém pro informování zainteresovaných stran a školení týmu.
- Úroveň 3, pokročilá: přímá spolupráce s komunitou nálezců, monitorování zranitelností v komponentách produktů, metriky objevování a vydání, pokročilé řešení incidentů a playbooky pro koordinaci v odvětví.
Posun mezi úrovněmi vede od reaktivního k proaktivnímu přístupu.
Jak vybudovat PSIRT: začněte v malém
- Získejte písemný mandát od vedení s pravomocí žádat produktové týmy o opravy.
-
Zveřejněte, jak hlásit zranitelnost: bezpečnostní kontaktní adresu, webový formulář nebo soubor
security.txta krátkou politiku zveřejňování. - Definujte triáž a hodnocení: kdo rozhoduje, zda je hlášení platné, jak se hodnotí závažnost a jaké jsou cíle nápravy podle závažnosti.
- Vězte, co dodáváte. Pro každou verzi produktu komponenty a verze, které obsahuje. Bez toho se každé nové CVE v populární knihovně změní v dny vyptávání vývojových týmů.
- Určete vlastníka pro každý produkt, který přijímá nálezy a plánuje opravy.
- Napište šablonu bezpečnostního oznámení a zveřejněte první, i kvůli drobnému problému.
- Měřte od začátku několik časových údajů, abyste mohli ukázat zlepšení.
Stránka pro týmy PSIRT se na roli dívá z pohledu vedoucího bezpečnosti produktů a dodavatelé průmyslových řešení mohou tyto kroky namapovat na IEC 62443-4-1, jejíž požadavky na životní cyklus bezpečného vývoje zahrnují správu vad a správu záplat.
Předpisy, které PSIRT očekávají
PSIRT býval znakem vyspělého dodavatele. Několik rámců dnes vyžaduje jeho výstupy. NIS2 v čl. 21 odst. 2 písm. e) uvádí „řešení a zveřejňování zranitelností“ mezi opatřeními, která musí přijmout základní a důležité subjekty. V USA section 524B vyžaduje, aby výrobci zdravotnických prostředků předložili plán monitorování, identifikace a řešení zranitelností po uvedení na trh, včetně koordinovaného zveřejňování zranitelností, spolu se SBOM. A EU Cyber Resilience Act vyžaduje, aby výrobci hlásili aktivně zneužívané zranitelnosti a závažné incidenty úřadům, počínaje včasným varováním do 24 hodin; viz co je CRA. Oznámení se podávají přes Single Reporting Platform agentury ENISA.
Nástroje, které PSIRT potřebuje
| Potřeba | Proč |
|---|---|
| Příjem hlášení a sledování případů | Každé hlášení má vlastníka, stav a harmonogram |
| Inventář toho, co dodáváte | Přesná SBOM pro každou verzi produktu, včetně tranzitivních závislostí |
| Průběžné monitorování | Nová CVE porovnávaná s komponentami v každé vydané verzi, nejen v té příští |
| Triáž a směrování | Nálezy jdou týmu, který vlastní opravu, s kontextem potřebným k jednání |
| Prohlášení o zasažení a nezasažení | VEX zaznamenává, kterých produktů se zranitelnost týká a proč ostatní zasaženy nejsou |
| Zveřejňování bezpečnostních oznámení | Oznámení čitelná pro lidi a strojově čitelný CSAF pro velké zákazníky |
Málokterý produkt pokryje všechny řádky; srovnání nástrojů pro PSIRT ukazuje, který nástroj dělá co. Inventář je místo, kde má většina týmů PSIRT potíže. Skener, který dodatečně čte lockfily, uvádí vývojové závislosti, které se nikdy nedodávají, a přehlíží balíčky, které build stáhl mimo správce balíčků, takže odpověď na otázku „jsme zasaženi?“ začíná pochybností.
CRACI bere tento inventář přímo z buildu. Spouští buildy GitHub Actions na vlastních runnerech a zaznamenává balíčky, které každý job skutečně stáhl, včetně tranzitivních závislostí, balíčků obnovených z cache CI a závislostí, které žádný lockfile neuvádí. Každá SBOM nese stav úplnosti a exportuje se jako CycloneDX nebo SPDX. Monitorované SBOM se průběžně znovu vyhodnocují, jak vycházejí nové zranitelnosti, historie buildů ukazuje, které minulé buildy obsahovaly zranitelnou závislost, a pohled inventáře ukazuje, které verze softwaru jsou nasazené ve kterých produktech. Bezpečnostní týmy provádějí triáž nálezů a posílají je týmům, které vlastní opravu, a CRACI podporuje VEX. Viz sledování zranitelností a CRACI pro týmy PSIRT.
PSIRT: časté dotazy
Co znamená zkratka PSIRT?
PSIRT znamená Product Security Incident Response Team. FIRST ho definuje jako útvar v organizaci zaměřený na identifikaci, posouzení a vypořádání rizik spojených s bezpečnostními zranitelnostmi v produktech, nabídkách, řešeních, komponentách a službách, které organizace vyrábí nebo prodává.
Jaký je rozdíl mezi PSIRT a CSIRT?
PSIRT řeší zranitelnosti v produktech, které firma dodává zákazníkům. Podnikový CSIRT řeší bezpečnostní incidenty ve vlastních systémech a sítích firmy. Oba spolupracují, například když průnik do infrastruktury buildu zasáhne produkt. Viz PSIRT vs CSIRT.
Co je FIRST PSIRT Services Framework?
Bezplatný průvodce od FIRST, Forum of Incident Response and Security Teams, který vyjmenovává služby, které může PSIRT poskytovat. Verze 1.1 je řadí do šesti oblastí služeb: správa ekosystému zainteresovaných stran, objevování zranitelností, triáž a analýza zranitelností, náprava, zveřejňování zranitelností a školení a vzdělávání. Doprovodný dokument o vyspělosti řadí služby do tří úrovní.
Které normy popisují proces PSIRT?
ISO/IEC 30111:2019 pokrývá, jak dodavatel interně zpracovává hlášení o zranitelnostech, od přípravy a příjmu přes ověření, vývoj nápravy a vydání až po fázi po vydání. ISO/IEC 29147:2018 pokrývá rozhraní s vnějším světem: příjem hlášení a zveřejňování informací o nápravě. Norma 30111 je určena k použití spolu s 29147. IEC 62443-4-1 stanovuje požadavky na životní cyklus bezpečného vývoje, včetně správy vad a záplat, pro produkty průmyslové automatizace.
Potřebuje malá firma PSIRT?
Potřebuje tuto funkci, ne nutně oddělení. Dokument FIRST o vyspělosti začíná podporou vedení, jmenovanými zainteresovanými stranami, rozpočtem, několika politikami, zveřejněným způsobem hlášení zranitelností, workflow triáže, zdokumentovanými opravami a bezpečnostními oznámeními, která uvádějí nálezce. To zvládne jeden nebo dva lidé s písemným mandátem.
Jaké nástroje PSIRT potřebuje?
Minimálně: způsob příjmu hlášení, sledování případů, metodu hodnocení zranitelností, inventář toho, které komponenty se dodávají ve kterých verzích produktů, monitorování těchto komponent na nové zranitelnosti, způsob, jak zaznamenat, zda je každý produkt zasažen (často jako VEX), a způsob zveřejňování bezpečnostních oznámení, stále častěji v CSAF.
Vězte, které produkty dodávají zranitelný balíček
Rezervujte si demo a podívejte se, jak CRACI zaznamenává, co každý build GitHub Actions skutečně stáhl, aby váš PSIRT mohl na základě důkazů odpovědět, kterých vydání se to týká.
Rezervujte si demo