Bezpieczeństwo produktu
PSIRT: czym zajmuje się zespół reagowania na incydenty bezpieczeństwa produktu
Każda firma, która dostarcza oprogramowanie, dostarcza też podatności. PSIRT to zespół, który się o nich dowiaduje, ustala, których produktów i wersji dotyczą, doprowadza do ich naprawienia i informuje klientów, co mają zrobić. Ten przewodnik omawia zadania zespołu, framework FIRST, na którym opiera się większość zespołów, oraz stojące za tym procesy i narzędzia.
Zaktualizowano
Czym jest PSIRT?
Product Security Incident Response Team (PSIRT) to funkcja, która obsługuje podatności bezpieczeństwa w produktach wytwarzanych i sprzedawanych przez firmę. FIRST definiuje ją jako jednostkę skupioną na identyfikacji, ocenie i rozstrzyganiu ryzyk związanych z podatnościami bezpieczeństwa w produktach, w tym w ofertach, rozwiązaniach, komponentach i usługach.
W praktyce PSIRT:
- prowadzi kanał, przez który badacze, klienci i partnerzy zgłaszają podatności;
- śledzi podatności w komponentach zewnętrznych i open source wchodzących w skład produktów;
- przeprowadza triaż każdego zgłoszenia: czy jest prawdziwe, których produktów i wersji dotyczy i jak jest poważne;
- doprowadza do tego, by odpowiedzialny zespół inżynierski naprawił problem w terminie odpowiadającym ryzyku;
- publikuje biuletyny i koordynuje ujawnianie ze zgłaszającymi i dalszymi dostawcami;
- raportuje wskaźniki kierownictwu i szkoli osoby tworzące produkty.
Większość pracy odbywa się po wydaniu. FIRST zauważa, że większość podatności produktów jest zgłaszana jako błędy jakości, które wyszły na jaw, gdy produkt jest już na rynku, choć PSIRT wnosi wartość także wcześniej, w przeglądach projektu i modelowaniu zagrożeń.
Miejsce PSIRT w organizacji
Od innych zespołów bezpieczeństwa odróżnia go skupienie na produktach. Korporacyjny CSIRT chroni własne systemy i sieci firmy, a PSIRT chroni klientów korzystających z jej produktów. Oba zespoły mają wspólne umiejętności i często wspólną linię raportowania, a spotykają się, gdy incydent we własnej infrastrukturze firmy, na przykład przejęty system buildów, dosięga produktu. Pełne porównanie znajdą Państwo na stronie PSIRT a CSIRT.
FIRST opisuje trzy modele działania:
- Rozproszony: mały główny PSIRT ustala polityki i koordynuje, a przedstawiciele ds. bezpieczeństwa w każdym zespole produktowym prowadzą triaż i naprawy. Skaluje się w dużym, zróżnicowanym portfolio, ale osoby wykonujące pracę nie podlegają zespołowi PSIRT.
- Scentralizowany: większy PSIRT z własnym zarządzaniem programem, personelem ds. triażu i napraw, podlegający członkowi kadry kierowniczej odpowiedzialnemu za bezpieczeństwo produktów. Pasuje do mniejszych firm lub jednolitego portfolio, a wraz ze wzrostem portfolio kosztuje więcej.
- Hybrydowy: połączenie obu, dobrane do wielkości firmy, portfolio i strategii rozwoju.
Bez względu na model FIRST podkreśla niezależność: PSIRT powinien podlegać członkowi kierownictwa, który potwierdza jego uprawnienia, aby mógł zajmować obiektywne stanowisko wobec podatności we własnych produktach firmy.
FIRST PSIRT Services Framework
PSIRT Services Framework, bezpłatnie publikowany przez FIRST i obecnie w wersji 1.1, to punkt odniesienia, na którym większość zespołów PSIRT opiera swój katalog usług. Określa podstawy operacyjne (mandat, interesariuszy, budżet, polityki), a następnie sześć obszarów usług:
| Obszar usług | Co obejmuje |
|---|---|
| 1. Zarządzanie ekosystemem interesariuszy | Interesariusze wewnętrzni, społeczność zgłaszających, dalsi dostawcy i klienci, komunikacja o incydentach, wyróżnianie zgłaszających, wskaźniki dotyczące interesariuszy |
| 2. Wykrywanie podatności | Przyjmowanie zgłoszeń podatności, znajdowanie niezgłoszonych podatności, monitorowanie komponentów produktów pod kątem podatności, identyfikowanie nowych podatności, wskaźniki wykrywania |
| 3. Triaż i analiza podatności | Kwalifikowanie zgłoszeń, współpraca ze stałymi zgłaszającymi, odtwarzanie podatności |
| 4. Naprawa | Plan zarządzania wydaniem poprawek, naprawa, obsługa incydentów, wskaźniki wydań |
| 5. Ujawnianie podatności | Powiadamianie, koordynacja, ujawnianie w biuletynach, wskaźniki ujawniania |
| 6. Szkolenia i edukacja | Szkolenie PSIRT, zespołów wytwarzania i walidacji oraz innych interesariuszy; mechanizmy informacji zwrotnej |
Jedną usługę warto wyróżnić, ponieważ stała się dużą częścią pracy: monitorowanie podatności w komponentach produktów. Jej pierwszą funkcją jest inwentaryzacja komponentów produktu, czyli lista dostawców, produktów i wersji wchodzących w skład każdego produktu, którą FIRST uznaje za niezbędną do szybkiego wskazania produktów dotkniętych odziedziczonymi podatnościami. We współczesnym oprogramowaniu tą inwentaryzacją jest software bill of materials (SBOM).
Proces PSIRT w skrócie
Proces opisują dwie normy ISO/IEC. ISO/IEC 30111:2019 dotyczy tego, jak dostawca wewnętrznie obsługuje podatności. ISO/IEC 29147:2018 dotyczy tego, jak przyjmuje zgłoszenia z zewnątrz i publikuje informacje o naprawach. Norma 30111 ma być stosowana razem z 29147, a opisane w niej fazy tworzą przydatny zarys:
- Przygotowanie. Polityka, role, opublikowany sposób zgłaszania podatności, metoda oceny i inwentaryzacja tego, co jest dostarczane.
- Przyjęcie. Przyjmowanie zgłoszeń od badaczy, klientów, partnerów i z własnych testów, a także z biuletynów dotyczących używanych komponentów. Potwierdzenie odbioru zgłaszającemu.
- Weryfikacja. Potwierdzenie podatności, jej odtworzenie i ocena oraz ustalenie wszystkich produktów i wersji, których dotyczy. Także zapisanie produktów, których nie dotyczy, wraz z uzasadnieniem.
- Opracowanie naprawy. Odpowiedzialny zespół tworzy i testuje poprawkę lub środek zaradczy. PSIRT śledzi postępy względem uzgodnionego harmonogramu.
- Wydanie. Dostarczenie poprawki i opublikowanie biuletynu, w koordynacji ze zgłaszającym i dalszymi dostawcami, którzy wbudowują produkt.
- Po wydaniu. Obserwowanie problemów z poprawką, odpowiadanie klientom i przekazywanie przyczyn źródłowych z powrotem do rozwoju.
Każdy etap, wraz z tym, co zapisywać i kto za niego odpowiada, opisuje cykl życia zarządzania podatnościami. Kolejność zajmowania się znaleziskami omawia strona priorytetyzacja podatności, z sygnałami o wykorzystywaniu z EPSS i katalogu CISA KEV. Podatność wykorzystywana, zanim powstanie poprawka, to zero-day, a PSIRT obsługuje ją jako incydent. Drogę od biuletynu do naprawionego, dostarczonego buildu opisuje strona naprawa CVE.
Ujawnianie i biuletyny
Ujawnianie to ta część pracy PSIRT, którą widzą klienci. Typową praktyką jest skoordynowane ujawnianie podatności: zgłaszający informuje poufnie, dostawca naprawia, a obie strony publikują w uzgodnionym terminie, ze wskazaniem zgłaszającego. Zaczyna się to od publicznej polityki ujawniania podatności, która określa, jak zgłaszać, czego mogą spodziewać się zgłaszający i jak długo produkty są wspierane. Zob. skoordynowane ujawnianie podatności.
Dobry biuletyn mówi klientowi, bez konieczności dzwonienia:
- których produktów i wersji dotyczy problem, a których nie;
- jaki jest identyfikator CVE i poziom ważności;
- która wersja zawiera poprawkę lub jaki jest środek zaradczy, jeśli poprawki jeszcze nie ma;
- kto znalazł podatność.
Duzi klienci coraz częściej oczekują biuletynów w postaci do odczytu maszynowego, które mogą automatycznie dopasowywać do własnej inwentaryzacji zasobów. CSAF to standardowy format biuletynów OASIS, a VEX to sposób na stwierdzenie, że podatność w jednym z komponentów nie dotyczy produktu, co oszczędza obu stronom obsługi zgłoszenia.
Wskaźniki i dojrzałość PSIRT
Framework przewiduje wskaźniki w każdym obszarze usług. Najczęstsze z nich:
- czas do potwierdzenia zgłoszenia, do triażu i do wydania poprawki, według ważności;
- otwarte podatności według produktu, ważności i wieku;
- odsetek poprawek dostarczonych w ramach opublikowanych celów naprawy;
- podatności znalezione wewnętrznie a zgłoszone z zewnątrz;
- opublikowane biuletyny i ich korekty.
Towarzyszący mu PSIRT Maturity Document organizacji FIRST układa usługi w trzy poziomy:
- Poziom 1, podstawowy: sponsor na poziomie kierownictwa, interesariusze, budżet i polityki; sposób przyjmowania zgłoszeń; proces triażu; udokumentowane poprawki; biuletyny korzystające z CVE i CVSS i wskazujące zgłaszającego.
- Poziom 2, średni: statut i model organizacyjny, podstawowe wskaźniki, rejestr produktów z mapowaniem zależności, formalny plan naprawy, system powiadamiania interesariuszy i szkolenia zespołu.
- Poziom 3, zaawansowany: bezpośrednia współpraca ze społecznością zgłaszających, monitorowanie komponentów produktów pod kątem podatności, wskaźniki wykrywania i wydań, zaawansowana obsługa incydentów oraz playbooki koordynacji branżowej.
Przejście między poziomami to droga od działania reaktywnego do proaktywnego.
Jak zbudować PSIRT: zacząć od małych kroków
- Uzyskać pisemny mandat od członka kierownictwa, z uprawnieniem do proszenia zespołów produktowych o naprawy.
-
Opublikować sposób zgłaszania podatności: adres kontaktowy ds. bezpieczeństwa, formularz internetowy lub plik
security.txtoraz krótką politykę ujawniania. - Określić triaż i ocenę: kto decyduje, czy zgłoszenie jest zasadne, jak oceniana jest ważność i jakie są cele naprawy dla każdego poziomu ważności.
- Wiedzieć, co jest dostarczane. Dla każdej wersji produktu: jakie komponenty i wersje zawiera. Bez tego każda nowa CVE w popularnej bibliotece oznacza dni wypytywania zespołów inżynierskich.
- Wyznaczyć właściciela każdego produktu, który otrzymuje znaleziska i planuje poprawki.
- Napisać szablon biuletynu i opublikować pierwszy, nawet przy niewielkim problemie.
- Mierzyć kilka wskaźników czasowych od samego początku, aby móc pokazać postępy.
Strona dla zespołów PSIRT przedstawia tę rolę z perspektywy lidera bezpieczeństwa produktu, a dostawcy przemysłowi mogą przypisać te kroki do IEC 62443-4-1, której wymagania dotyczące bezpiecznego cyklu rozwoju obejmują zarządzanie defektami i poprawkami.
Regulacje, które oczekują PSIRT
PSIRT był kiedyś oznaką dojrzałego dostawcy. Dziś kilka frameworków wymaga efektów jego pracy. Art. 21 ust. 2 lit. e NIS2 wymienia obsługę i ujawnianie podatności wśród środków, które muszą stosować podmioty kluczowe i ważne. W USA sekcja 524B wymaga od producentów wyrobów medycznych przedstawienia planu monitorowania, identyfikowania i usuwania podatności po wprowadzeniu do obrotu, łącznie ze skoordynowanym ujawnianiem podatności, a także SBOM. A unijny Cyber Resilience Act wymaga od producentów zgłaszania organom aktywnie wykorzystywanych podatności i poważnych incydentów, począwszy od wczesnego ostrzeżenia w ciągu 24 godzin; zob. czym jest CRA.
Narzędzia potrzebne zespołowi PSIRT
| Potrzeba | Dlaczego |
|---|---|
| Przyjmowanie zgłoszeń i śledzenie spraw | Każde zgłoszenie ma właściciela, status i harmonogram |
| Inwentaryzacja tego, co jest dostarczane | Dokładny SBOM dla każdej wersji produktu, łącznie z zależnościami przechodnimi |
| Ciągłe monitorowanie | Nowe CVE dopasowywane do komponentów w każdej wydanej wersji, a nie tylko w następnej |
| Triaż i kierowanie | Znaleziska trafiają do zespołu odpowiedzialnego za poprawkę, z kontekstem potrzebnym do działania |
| Oświadczenia „dotyczy” i „nie dotyczy” | VEX zapisuje, których produktów dotyczy podatność i dlaczego nie dotyczy pozostałych |
| Publikowanie biuletynów | Biuletyny czytelne dla ludzi oraz CSAF do odczytu maszynowego dla dużych klientów |
Niewiele produktów obejmuje wszystkie wiersze; porównanie narzędzi PSIRT pokazuje, które narzędzie co robi. Największy problem większości zespołów PSIRT to inwentaryzacja. Skaner odczytujący lockfile po fakcie wymienia zależności deweloperskie, które nigdy nie trafiają do klientów, i pomija pakiety pobrane przez build poza menedżerem pakietów, więc odpowiedź na pytanie „czy nas to dotyczy?” zaczyna się od wątpliwości.
CRACI bierze tę inwentaryzację z samego buildu. Uruchamia buildy GitHub Actions na własnych runnerach i rejestruje pakiety faktycznie pobrane przez każde zadanie, łącznie z zależnościami przechodnimi, pakietami przywróconymi z cache CI i zależnościami, których nie wymienia żaden lockfile. Każdy SBOM ma określony stan kompletności i eksportuje się jako CycloneDX lub SPDX. Monitorowane SBOM-y są stale oceniane ponownie, w miarę publikowania nowych podatności, historia buildów pokazuje, które wcześniejsze buildy zawierały podatną zależność, a widok inwentarza pokazuje, które wersje oprogramowania są wdrożone w których produktach. Zespoły bezpieczeństwa przeprowadzają triaż znalezisk i kierują je do zespołów odpowiedzialnych za poprawkę, a CRACI obsługuje VEX. Zob. śledzenie podatności i CRACI dla zespołów PSIRT.
PSIRT: najczęściej zadawane pytania
Co oznacza skrót PSIRT?
PSIRT to Product Security Incident Response Team, czyli zespół reagowania na incydenty bezpieczeństwa produktu. FIRST definiuje go jako jednostkę w organizacji skupioną na identyfikacji, ocenie i rozstrzyganiu ryzyk związanych z podatnościami bezpieczeństwa w produktach, ofertach, rozwiązaniach, komponentach i usługach, które organizacja wytwarza lub sprzedaje.
Czym różni się PSIRT od CSIRT?
PSIRT obsługuje podatności w produktach dostarczanych przez firmę klientom. Korporacyjny CSIRT obsługuje incydenty bezpieczeństwa we własnych systemach i sieciach firmy. Oba zespoły współpracują, na przykład gdy naruszenie infrastruktury buildów dotyka produktu. Zob. PSIRT a CSIRT.
Czym jest FIRST PSIRT Services Framework?
To bezpłatny przewodnik FIRST, czyli Forum of Incident Response and Security Teams, wymieniający usługi, które może świadczyć PSIRT. Wersja 1.1 grupuje je w sześć obszarów: zarządzanie ekosystemem interesariuszy, wykrywanie podatności, triaż i analiza podatności, naprawa, ujawnianie podatności oraz szkolenia i edukacja. Towarzyszący dokument o dojrzałości układa usługi w trzy poziomy.
Które normy opisują proces PSIRT?
ISO/IEC 30111:2019 dotyczy tego, jak dostawca wewnętrznie obsługuje zgłoszenia podatności, od przygotowania i przyjęcia przez weryfikację, opracowanie naprawy i wydanie aż do etapu po wydaniu. ISO/IEC 29147:2018 dotyczy kontaktu ze światem zewnętrznym: przyjmowania zgłoszeń i publikowania informacji o naprawach. Norma 30111 ma być stosowana razem z 29147. IEC 62443-4-1 określa wymagania dotyczące bezpiecznego cyklu rozwoju, w tym zarządzania defektami i poprawkami, dla produktów automatyki przemysłowej.
Czy mała firma potrzebuje PSIRT?
Potrzebuje tej funkcji, niekoniecznie działu. Dokument FIRST o dojrzałości zaczyna od sponsora na poziomie kierownictwa, wskazanych interesariuszy, budżetu, kilku polityk, opublikowanego sposobu zgłaszania podatności, procesu triażu, udokumentowanych poprawek i biuletynów wskazujących zgłaszającego. Może to prowadzić jedna lub dwie osoby z pisemnym mandatem.
Jakich narzędzi potrzebuje PSIRT?
Co najmniej: sposobu przyjmowania zgłoszeń, systemu śledzenia spraw, metody oceny podatności, inwentaryzacji komponentów w poszczególnych wersjach produktów, monitorowania tych komponentów pod kątem nowych podatności, sposobu zapisywania, czy problem dotyczy danego produktu (często jako VEX), oraz sposobu publikowania biuletynów, coraz częściej w CSAF.
Proszę sprawdzić, które produkty zawierają podatny pakiet
Proszę umówić demo i zobaczyć, jak CRACI rejestruje to, co faktycznie pobrał każdy build GitHub Actions, aby PSIRT mógł wskazać wydania objęte problemem na podstawie dowodów.
Umów demo