Tworzenie VDP

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
  • Nawiąż współpracę z działem prawnym, aby stworzyć zasady programu oraz warunki, jakie będą podlegać hakerom.
  • Badacze nie otrzymują wynagrodzenia, więc nie ma powodu, by podlegać rygorystycznym wymaganiom wprowadzenia lub żmudnym warunkom.
IT
  • Nawiąż współpracę z zespołem IT, aby opracować wymagania i zakres testowania, na przykład nie tworzyć warunków odmowy usługi.
Inżynieria
  • Inżynierowie mogą mieć informacje na temat wymagań i zakresu testów, w tym dotyczące tego, które typy luk są najbardziej lub najmniej interesujące.
PR
  • Wspólnie z zespołem PR zapoznaj się z zasadami dotyczącymi ujawniania informacji.
Zabezpieczenia
  • Zespół ds. zabezpieczeń zazwyczaj zajmuje się utworzeniem zasad.
  • Zespół ds. zabezpieczeń najprawdopodobniej otrzymuje opinie od hakerów i z czasem zmienia zasady dotyczące innych zainteresowanych osób.

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
  • Luki w zabezpieczeniach powodujące nieautoryzowany dostęp do poczty e-mail innych użytkowników.
  • Możliwość nieodwracalnego usunięcia e-maila lub całego konta innego użytkownika.
Problemy, które mogą zostać odrzucone
  • SPF,
  • Wyłudzanie informacji lub problemy ułatwiające wyłudzanie informacji
  • możliwość wysyłania potencjalnie szkodliwych załączników.
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
  • 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”]

Podsumowanie: [podaj krótki opis luki w zabezpieczeniach i jej znaczenie, np. ze względu na brak zmiany znaczenia możesz wysłać e-maila do innego użytkownika, który zawiera ładunek XSS, który umożliwia kradzież plików cookie innego użytkownika zawierających informacje o sesji. Dzięki temu osoba przeprowadzająca atak może zalogować się na konto ofiary.] Kroki odtworzenia: [Dodaj szczegółowe instrukcje umożliwiające odtworzenie problemu z luką w zabezpieczeniach].
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.]