Zasady programu są niezbędne w przypadku każdego VDP i należy je starannie tworzyć. Zasady programu to pierwsza rzecz, jaką zobaczą badacze bezpieczeństwa podczas korzystania z VDP. Wzmocnienie programu, określenie oczekiwań i zobowiązanie do zaangażowania badaczy, którzy zechcą wziąć w nim udział.
Tworzenie i hosting zasad programu
Zapoznaj się z tymi wytycznymi, aby przygotować zasady programu dla VDP. Zasady programu wynoszą zwykle 1–3 strony i zwykle obejmują te tematy:
- Naukowiec obiecuje
- Wskazówki dotyczące przeprowadzania testów
- Zakres programu
Zasady programu muszą być dostępne dla wszystkich potencjalnych badaczy. Jeśli zamierzasz prywatnie uruchomić VDP tylko dla kilku zaproszonych badaczy, zasady programu wymagają pewnej kontroli dostępu, aby udostępnić ją tylko zaproszonym badaczom. Badacze muszą też mieć możliwość przesyłania raportów, np. formularza internetowego lub aliasu e-mail połączonego z systemem sprzedaży biletów. Weź to pod uwagę podczas konfigurowania zasobów online VDP.
Platformy do ujawniania luk w zabezpieczeniach innych firm i platformy do zdobywania błędów zwykle oferują takie możliwości:
- Tworzenie, edytowanie i publikowanie zasad
- Dostęp do opcji tworzenia programu prywatnego
- Automatyczne zapraszanie hakerów w wygodnym tempie
- Funkcja skrzynki odbiorczej ułatwiająca przetwarzanie przychodzących raportów
Platformy innych firm oferują też różne usługi konsultingowe, które ułatwiają tworzenie i uruchamianie VDP. Zwykle platformy zewnętrzne i usługi doradcze są płatne. Zastanów się, jakie są koszty i korzyści związane z korzystaniem z usług innej firmy niż utworzenie własnego programu i zarządzanie nim w celu określenia najlepszej ścieżki rozwoju Twojej organizacji.
Dodatkowe inspiracje do uwzględnienia w zasadach programu znajdziesz w dokumencie przygotowanym przez Departament Sprawiedliwości Stanów Zjednoczonych: „Aframework for a Vulnerability Transparency Program for Online Systems” (Program tworzenia wiadomości online do wykrywania luk w zabezpieczeniach).
Osoby zainteresowane zasadami programu
Podczas opracowywania zasad programu zastanów się, jak współpracować ze swoimi współpracownikami. Różne zespoły mogą udzielać pomocy na podstawie Twoich zasad.
Osoby zainteresowane | Uwagi |
---|---|
Legal |
|
IT |
|
Inżynieria |
|
PR |
|
Zabezpieczenia |
|
Obietnica naukowca
Obietnica naukowca wyjaśnia zobowiązanie organizacji do uczestnictwa w badaniach, które działają w dobrej wierze, zgodnie z wytycznymi dotyczącymi testowania określonymi w zasadach. Może to być na przykład zobowiązanie do reagowania na wszystkie przychodzące raporty bezpieczeństwa w określonym czasie oraz powiadomienie o tym, które raporty o lukach w zabezpieczeniach są akceptowane i poprawione.
Przykład
<Nazwa Twojej organizacji> współpracuje z badaczami zabezpieczeń, którzy pomagają w wykrywaniu i naprawianiu luk w naszych systemach i usługach. Jeśli działasz w dobrej wierze i przestrzegasz wytycznych opisanych w tej polityce, dołożymy wszelkich starań, aby:- Wstępną odpowiedź na raport o lukach w zabezpieczeniach umieść w ciągu 3 dni roboczych.
- Ustal, czy zaakceptujemy Twój raport o lukach w zabezpieczeniach w ciągu 10 dni roboczych (zamierzamy go poprawić), czy odrzucimy (zidentyfikujemy go jako fałszywe lub dopuszczalne ryzyko).
- Informuj nas na bieżąco o postępach w rozwiązywaniu problemów, które otrzymujemy od Ciebie.
Zastosowanie bezpiecznego portu w zasadach programu zapewnia, że badacze nie będą podejmować działań prawnych przeciwko testom przeciwko Twoim systemom, pod warunkiem, że będą działać w dobrej wierze i będą przestrzegać wszystkich wytycznych opisanych w zasadach.
Wskazówki dotyczące przeprowadzania testów
Wytyczne dotyczące testowania opisują testy zabezpieczeń objęte VDP, a także testy, które nie są objęte zakresem i nie powinny być przeprowadzane przez badaczy. Jeśli istnieją konkretne typy luk, na których badacze chcą się skupić, w tej sekcji warto je wyróżnić.
Przykład:
podczas testów bezpieczeństwa należy przestrzegać tych wytycznych:
- Testuj tylko własne konta i dane (np. twórz konta testowe). Jeśli znajdziesz lukę w zabezpieczeniach, która może umożliwić dostęp do danych innych użytkowników, skontaktuj się z nami, zanim przejdziesz dalej.
- Jeśli przypadkowo uzyskasz dostęp do danych innych użytkowników podczas testów, poinformuj nas o tym i nie przechowuj takich danych użytkownika.
- Nie przeprowadzaj testów, które mogą doprowadzić do odmowy stanu usługi lub pogorszenia naszych usług produkcyjnych.
- Inżynieria społeczna nie jest objęta tym programem. Nie próbuj modyfikować inżynierii społecznej dla naszej organizacji lub naszych użytkowników.
Interesują nas zwłaszcza te typy luk w zabezpieczeniach i ich skutki:
- Zdalne uruchamianie kodu
- XSS skutkujące dostępem do danych wrażliwych (np. informacji o sesji)
- Wstrzyknięty SQL skutkujący dostępem do danych wrażliwych lub funkcji
- Luki związane z logiką biznesową skutkujące dostępem do danych wrażliwych lub funkcji
Mniej interesują nas te typy luk w zabezpieczeniach, które z większym prawdopodobieństwem
będą odrzucane przez wyniki fałszywie pozytywne lub akceptowane:
- Brak nagłówka X-Frame-Options na stronach bez zmian stanu
- Niezweryfikowane wyniki automatycznego skanera
- Problemy, których najprawdopodobniej nie będzie można wykorzystać lub które nie mają realnego wpływu na bezpieczeństwo
Zakres
Zakres definiuje zasoby, które mogą testować osoby badające, a także zasoby, które nie są częścią VDP. Musisz dokładnie przemyśleć zakres i rozszerzyć zakres bez przeciążania zespołu. Im bardziej skłonny jest się mieścić w zakresie, tym większa szansa, że uda Ci się zwiększyć zaangażowanie badaczy bezpieczeństwa. Nie może on jednak być zbyt duży, aby zespół nie nadążał za raportami przychodzącymi. Zacznij od kilku zasobów. Poszerz zakres, aby lepiej zrozumieć, ile raportów otrzymasz. Zanim platforma VDP zostanie udostępniona publicznie, zadbaj o to, by mieściła się w zakresie.
Aby określić zakres w zasadach programu, dodaj szczegóły dotyczące każdego zasobu lub obszaru, co pomoże badaczom zabezpieczeń określić, co jest dla Ciebie ważne i gdzie się skoncentrować. Możesz też dodać wskazówki dotyczące bezpiecznego testowania zasobów. Oto przykład:
Asset | mail.example.com |
---|---|
Opis | Domena główna, w której użytkownicy mają dostęp do swojej poczty e-mail. |
Interesujące luki w zabezpieczeniach i ich wpływ |
|
Problemy, które mogą zostać odrzucone |
|
Wskazówki dotyczące testowania | Testuj tylko na kontach, które są Twoją własnością lub na których używanie masz wyraźną zgodę. Tworząc konta testowe, dodaj „vdptest” do nazwy użytkownika. Konta testowe możesz tworzyć na stronie mail.example.com/nowe. |
To dość szczegółowy opis. Możesz też dodać prostą listę zasobów należących do zakresu i spoza niego:
W zakresie
- poczta.example.com
- example.com
Poza zakresem
- blog.example.com
Ponowne udostępnianie VDP
Aby uruchomić VDP, musisz mieć odpowiednie zasoby. Potrzebujesz tych zasobów:
- Przeglądanie przychodzących raportów o lukach w zabezpieczeniach
- Komunikacja z hakerami
- Znajdowanie właścicieli zasobów i zgłaszanie błędów
- Naprawianie błędów
- Zarządzanie lukami w zabezpieczeniach / dalsze kroki naprawcze
Powróć do kluczowych zainteresowanych osób
Omów z przedstawicielami kluczowych interesariuszy rozmowy z udziałem kluczowych partnerów, o których rozmawiałeś(-aś) wcześniej, aby upewnić się, że są one zgodne z harmonogramem wprowadzania VDP, a także zadbać o przygotowanie kolejki do niezbędnych zasobów. Możesz na przykład współpracować z kierownictwem inżynierów, aby przygotować swoje zespoły na potencjalny napływ błędów związanych z bezpieczeństwem w ciągu kilku tygodni od wprowadzenia na rynek. Upewnij się, że Twój zespół zajmujący się bezpieczeństwem sprawdza, czy alerty w systemach wykrywania i reagowania zna datę wprowadzenia VDP oraz że na początku testowania trzeba przeznaczyć więcej czasu i zasobów. Musisz też utworzyć zespół, który będzie codziennie pomagał w korzystaniu z VDP.
Tworzenie zespołu
Uruchomienie VDP wymaga sporej ilości pracy z użyciem funkcji przerywania. Jeśli będziesz samodzielnie sprawdzać, weryfikować poprawność techniczną i odpowiadać na wszystkie zgłoszenia dotyczące luk w zabezpieczeniach, a także zgłaszać wszystkie błędy, śledzić stan i przekazywać informacje badaczom samodzielnie, możesz dojść do wypalenia. Nawet jeśli nie masz dużego zespołu ds. bezpieczeństwa, znajdź wolontariuszy dbającego o bezpieczeństwo, który pomoże Ci stworzyć zespół, który pomoże Ci wdrożyć i obsługować VDP. Nadal będziesz potrzebować zdefiniowanego „właściciela” lub „przywódcy” VDP, który będzie ostatecznie odpowiedzialny za sukces Twojego VDP, ale będziesz potrzebować zespołu, który będzie wspierać ten lider.
Utwórz własny plan dnia
Gdy masz już gotowe zasoby i chcesz pomóc w obsłudze VDP, możesz zacząć pracować nad tworzeniem konkretnego harmonogramu. Możesz to zrobić dowolnie, ale cotygodniowa rotacja to całkiem normalne rozwiązanie. Jeśli masz obowiązek tygodnia, musisz:
- Triage – sprawdź przychodzące raporty o lukach w zabezpieczeniach
- Podejmij techniczną weryfikację raportu i zdecyduj, czy chcesz go zaakceptować, czy odrzucić.
- Informację o problemie hakera, który zgłosił problem
- Jeśli to konieczne, poproś hakera o więcej informacji, jeśli nie jesteś w stanie odtworzyć problemu
- Jeśli luka w zabezpieczeniach jest prawidłowa, zgłoś poprawiony błąd właściwemu właścicielowi.
- Zarządzanie lukami w zabezpieczeniach – przekazywanie istniejących luk w zabezpieczeniach
- Przejrzyj błędy zgłoszone z ubiegłych tygodni, aby mieć pewność, że działania naprawcze będą kontynuowane na podstawie Twoich standardów ważności i harmonogramów rozwiązywania problemów.
- Skorzystaj z porad znajdujących właścicieli, aby przekonać właścicieli do pracy nad tymi błędami
- Komunikacja – aktualizuj informacje o bieżących raportach dla badaczy zabezpieczeń
- Analitycy mogą aktywnie prosić o aktualizacje w dotychczasowych raportach. Sprawdź to i w razie potrzeby odpowiedz.
- Jeśli usuniesz lukę w zabezpieczeniach, przekaż tę informację badaczowi, aby wiedzieli, że jego ciężka praca przyniosła pozytywne zmiany w Twojej organizacji. Możesz też dodać język szablonu, w którym pracownik działu badawczego poprosi Cię o informację o ominięciu jakiegoś poprawki lub o możliwości pominięcia zmiany.
W zależności od liczby otrzymanych raportów oraz stopnia ich złożoności oraz umiejętności i wiedzy pracowników dyżur ich zgłoszenia może zająć od kilku godzin do całego tygodnia. Oto wskazówki dotyczące skutecznej rotacji:
- Zadbaj o to, by Twój zespół był gotowy do pomocy w szczególnie ciężkich tygodniach.
- Przygotuj się do przekazywania materiałów. Jeśli pojawią się problemy, które mogą wymagać natychmiastowej interwencji, spisz kilka notatek lub przeprowadzą rozmowę na żywo pod koniec tygodnia.
- Utwórz automatyczny harmonogram, aby wszyscy wiedzieli, że mają czas na pracę. Możesz po prostu tworzyć wpisy cykliczne dla każdej osoby.
- Zwróć szczególną uwagę na początek VDP, aby upewnić się, że pracownik pamięta, że to jego tydzień, i czy potrzebuje pomocy. Jeśli masz do czynienia z mniejszymi zasobami w dziedzinie rotacji, współpracuj z nimi lepiej, tak aby czuli się swobodnie i mogli zadawać pytania na bieżąco.
- Korzystaj z elastycznego procesu wymiany tygodni. Nieunikniona osoba będzie musiała w każdym tygodniu wziąć udział w wydarzeniach awaryjnych lub trzeba wziąć urlop itp. W takiej sytuacji zachęć zespół do wymiany tygodni, w którym będzie odpowiadać wszystkim na harmonogramy.
- Utwórz ściągawkę dotyczącą cła, która wskaże, jakie opłaty musisz pokryć, i zapoznaj się z dokumentacją.
Porównanie wewnętrznych i zewnętrznych rozwiązań
Większość wskazówek co do tej pory opiera się na tworzeniu i prowadzeniu własnej platformy VDP. Dostępnych jest wiele usług i platform konsultingowych, które pomogą Ci utworzyć i prowadzić VDP. Te firmy zewnętrzne zwykle wiążą się z kosztami, ale mogą być pomocne w tworzeniu, uruchamianiu i uruchamianiu VDP. Niektóre oferują nawet usługi klasyfikacji, które pomagają w przeglądaniu raportów o lukach w zabezpieczeniach. Pomagają w komunikacji z hakerami i przekazują tylko prawidłowe raporty do zespołu. Decyzja o tym, czy ten proces zostanie stworzony wewnętrznie, czy też zostanie wykorzystana na platformie innej firmy, będzie zależała od Twoich wymagań i dostępnych zasobów. Jeśli masz duży budżet, ale masz niewiele pracowników, skorzystanie z pomocy firmy zewnętrznej może pomóc w realizacji programu. Jeśli jest na odwrót, warto poświęcić czas na stworzenie własnego programu.
Otrzymywanie raportów
Jeśli zdecydujesz się na korzystanie z platformy innej firmy, hakerzy powinni mieć możliwość bezpośredniego przesyłania raportów. Jeśli tworzysz program samodzielnie, musisz to zrobić samodzielnie. Może to być adres e-mail, który automatycznie generuje zgłoszenie lub błąd w narzędziu do śledzenia błędów (np.bezpieczeństwo@example. com), albo formularz internetowy z wymaganymi polami formularza.Link do formularza może znajdować się na tej samej stronie co zasada programu. Bez względu na to, jaką formę formularza używasz, z jakiegoś powodu warto poinformować hakerów o formacie, w jakim chcesz otrzymywać raporty. Pamiętaj, że poproszenie hakerów o przesłanie raportów w określonym formacie nie gwarantuje, że tak się stanie, ale nie zaszkodzi poprosić. Oto przykład tego, o co możesz poprosić w formularzu zgłoszenia:
Title: [Dodaj pojedynczy wiersz opisu problemu, np. „XSS w poczcie.example.com
skutkuje kradzieżą sesji”]
1.
2.
3.
Scenariusz i wpływ: [jak go wykorzystać? Jaki wpływ na bezpieczeństwo ma ten
problem?]
Porady na temat rozwiązywania problemów: [Jeśli masz jakiekolwiek porady na temat sposobu rozwiązywania tego problemu lub rozwiązywania problemów, dodaj go tutaj.]