Tworzenie VDP

Zasady programu są niezbędne w przypadku każdego VDP i należy je starannie opracować. Zasady programu to pierwsza rzecz, jaką widzą badacze zabezpieczeń podczas uczestnictwa w VDP. Nadaje to ton programowi, określa oczekiwania i określa Twoje zaangażowanie względem badaczy, którzy zdecydują się w nim uczestniczyć.

Jak utworzyć i udostępnić zasady programu

Skorzystaj z poniższych wytycznych, aby opracować zasady programu dotyczące VDP. Zasady programu zawierają zwykle tylko 1–3 stron i obejmują zwykle następujące tematy:

  • Obietnica badacza
  • Wskazówki dotyczące przeprowadzania testów
  • Zakres programu

Zasady programu muszą być dostępne dla wszystkich potencjalnych badaczy. Jeśli planujesz prywatnie udostępnić program VDP tylko kilku zaproszonym badaczom, zasady programu będą wymagały pewnej kontroli dostępu, aby udostępnić je zaproszonym badaczom, ale tylko wybranym osobom. Badacze potrzebowali też sposobu przesyłania raportów, np. formularza internetowego lub aliasu e-mail powiązanego z systemem obsługi zgłoszeń, aby je śledzić. Warto o tym pamiętać podczas konfigurowania zasobów online VDP.

Platformy do ujawniania luk w zabezpieczeniach i zgłaszania problemów z błędami na ogół oferują takie możliwości jak:

  • sposób tworzenia, edytowania i publikowania zasad;
  • Kontrola dostępu umożliwiająca utworzenie programu prywatnego
  • Automatyczne zapraszanie hakerów w swobodnym tempie
  • Funkcja skrzynki odbiorczej ułatwiająca przetwarzanie przychodzących raportów

Platformy zewnętrzne oferują również różne usługi doradcze, aby ułatwić tworzenie i uruchamianie VDP. Zwykle korzystanie z platform zewnętrznych i usług konsultingowych jest płatne. Aby określić najlepszą ścieżkę dla swojej organizacji, przeanalizuj koszty i korzyści związane z korzystaniem z usług firmy zewnętrznej oraz z tworzeniem programu i zarządzaniem nim samodzielnie.

Więcej inspiracji na temat tego, co należy umieścić w zasadach programu, znajdziesz w dokumencie „A Framework for a Vulnerability Disclosure Program for Online Systems” (ramów programu ujawniania luk w zabezpieczeniach dla systemów online) Departamentu Sprawiedliwości Stanów Zjednoczonych.

Zainteresowane osoby odpowiedzialne za zasady programu

Podczas opracowywania zasad programu zastanów się, jak współpracować z zainteresowanymi osobami. Różne zespoły mogą przekazywać Ci informacje, które warto uwzględnić w zasadach.

Zainteresowana osoba co należy wziąć pod uwagę
Legal
  • Wspólnie z działem prawnym opracuj zasady programu i warunki korzystania z usług hakerów.
  • Badacze nie otrzymują wynagrodzenia, więc nie ma powodu, aby narzucać się skomplikowanym wymogom związanym z wprowadzeniem lub uciążliwym terminem.
IT
  • Współpracuj ze swoim zespołem IT nad opracowaniem wymagań i zakresu testów, na przykład nie będą tworzyć warunków odmowy usługi.
Inżynieria
  • Inżynierowie mogą mieć informacje o wymaganiach i zakresie testowania, w tym o typach luk w zabezpieczeniach, które są najbardziej lub najmniej interesujące.
PR
  • Skontaktuj się ze swoim zespołem PR, aby zapoznać się z treścią zasad dotyczących ujawniania informacji.
Bezpieczeństwo
  • Tworzeniem zasad zajmuje zazwyczaj zespół ds. bezpieczeństwa.
  • Zespół ds. bezpieczeństwa prawdopodobnie otrzyma opinie od hakerów, a z czasem wspólnie z innymi zainteresowanymi osobami będzie pracować nad zasadami.

Obietnica badacza

Obietnica wyjaśniająca zobowiązania organizacji do uczestniczących w badaniu badaczy, którzy działają w dobrej wierze, postępując zgodnie z wytycznymi dotyczącymi testowania określonymi w zasadach. Dotyczy to na przykład zobowiązania do reagowania na wszystkie przychodzące raporty zabezpieczeń w określonym czasie, a także informowania o decyzjach o tym, które raporty o lukach w zabezpieczeniach są akceptowane i usuwane.

Przykład:

Organizacja <Name of your organization> współpracuje z badaczami bezpieczeństwa nad sposobami wykrywania i usuwania luk w zabezpieczeniach naszych systemów i usług. 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 należy przesłać w ciągu 3 dni roboczych.
  • Określ, czy w ciągu 10 dni roboczych zaakceptujemy (zamierzamy naprawić) Twój raport o lukach w zabezpieczeniach (oznacz go jako fałszywie pozytywne lub akceptowalne ryzyko), czy go odrzucimy.
  • Informują Cię o postępach w naprawianiu raportów, które od Ciebie przyjmujemy.

Dzięki przyjęcia w zasadach programu bezpiecznej przystani badacze będą mieć pewność, że nie będą podejmowane względem nich żadnych działań prawnych przeciwko Twoim systemom, o ile będą one działać w dobrej wierze i przestrzegać wszystkich wytycznych opisanych w zasadach.

Wskazówki dotyczące przeprowadzania testów

Wskazówki dotyczące testowania zawierają opis testów zabezpieczeń wchodzących w skład VDP oraz testów spoza zakresu i powinny być omijane przez badaczy. Jeśli są jakieś typy luk, na których powinni się skupić badacze, ta sekcja pomoże Ci je zwrócić.

Przykład:
Podczas testów zabezpieczeń przestrzegaj tych wytycznych:

  • Przeprowadzaj testy tylko na własnych kontach i danych (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 przeprowadzisz dalsze testy.
  • Jeśli podczas testowania przypadkowo uzyskasz dostęp do danych innych użytkowników, poinformuj nas o tym i nie przechowuj takich danych.
  • Nie przeprowadzaj testów, które powodują odmowę działania lub pogorszenie działania naszych usług produkcyjnych.
  • Ten program nie obejmuje inżynierii społecznej. Nie próbuj stosować inżynierii społecznej do naszej organizacji ani użytkowników.


Interesują nas następujące rodzaje luk w zabezpieczeniach i ich wpływ:

  • Zdalne wykonywanie kodu
  • XSS skutkujący dostępem do danych wrażliwych (np. informacji o sesji)
  • Wstrzyknięcie kodu SQL skutkujące dostępem do poufnych danych lub funkcji
  • Błędy logiki biznesowej, które prowadzą do dostępu do danych wrażliwych lub funkcji


Mniej interesują nas te rodzaje luk w zabezpieczeniach, które z większym prawdopodobieństwem
zostaną odrzucone jako fałszywe trafienia lub akceptowane zagrożenia:

  • Brak nagłówka X-Frame-Options na stronach bez funkcji zmiany stanu
  • Wyniki automatycznego skanera nie zostały zweryfikowane
  • Problemy, które prawdopodobnie nie nadają się do wykorzystania lub nie mają realistycznego wpływu na bezpieczeństwo

Zakres

Zakres określa zasoby, które mogą być testowane przez badaczy, oraz zasoby nieobjęte VDP. Zakres trzeba starannie przemyśleć, aby jego zakres był jak najszerszy, bez przeciążania zespołu. Im bardziej skrupulatnie podejmujesz działania, tym bardziej prawdopodobne, że przyciągniesz uwagę specjalistów ds. bezpieczeństwa. Nie zaprojektuj jednak tak szerokiego zakresu, by zespół nie nadążał za otrzymywaniem kolejnych raportów. Zacznij od kilku zasobów. Aby lepiej zrozumieć, jaką liczbę raportów będziesz otrzymywać, poszerz zakres. Zanim udostępnisz VDP publicznie, sprawdź, czy wszystko jest w jego zakresie.

Jeśli chodzi o określenie zakresu w zasadach programu, podawanie szczegółowych informacji o każdym zasobie lub obszarze pomoże badaczom zabezpieczeń określić, co jest dla Ciebie ważne i na czym warto się skupić. Możesz też dołączyć wskazówki dotyczące bezpiecznego testowania zasobów. Oto przykład:

Asset mail.example.com
Opis Domena podstawowa, w której użytkownicy mogą uzyskiwać dostęp do poczty e-mail.
Interesujące luki w zabezpieczeniach i wpływ
  • Luki w zabezpieczeniach, które umożliwiają nieautoryzowany dostęp do poczty e-mail innych użytkowników.
  • Możliwość trwałego usunięcia e-maila innego użytkownika lub całego konta.
Problemy, które prawdopodobnie zostaną odrzucone
  • SPF
  • Wyłudzanie informacji lub problemy umożliwiające wyłudzanie informacji
  • możliwość wysyłania potencjalnie złośliwych załączników.
Wskazówki dotyczące testowania Testuj tylko na kontach, których jesteś właścicielem lub na których masz wyraźną zgodę na przeprowadzanie testów. Podczas tworzenia kont testowych w nazwie użytkownika umieść ciąg „vdptest”. Konta testowe możesz tworzyć pod adresem mail.example.com/new.

To jest dość szczegółowe. Możesz też dołączyć prostą listę zasobów z zakresu i poza nim:

Obejmuje

  • mail.example.com
  • example.com

Poza zakresem

  • blog.example.com

Zasoby VDP

Przed uruchomieniem VDP musisz mieć odpowiednie zasoby. Potrzebujesz zasobów:

  • Sprawdzanie 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 / kontynuowanie działań naprawczych

Ponowna rozmowa z najważniejszymi zainteresowanymi osobami

Ponownie przejrzyj rozmowy z najważniejszymi zainteresowanymi osobami, z którymi rozmawiałeś(-aś) wcześniej na temat VDP, aby się upewnić, że uzgodnią one termin wprowadzenia VDP. Zrób to też w kolejce wszelkich materiałów niezbędnych do wprowadzenia tej funkcji. Możesz na przykład współpracować z kierownictwem inżynierów, aby upewnić się, że ich zespoły są gotowe na potencjalny napływ błędów w zabezpieczeniach, nad którymi będzie pracować w ciągu pierwszych kilku tygodni po wprowadzeniu aplikacji. Zadbaj o to, aby osoby w zespole ds. bezpieczeństwa klasyfikujące alerty w systemach wykrywania i reagowania wiedziały o dacie wprowadzenia VDP. Rozważ też przeznaczyć więcej czasu i zasobów na rozpoczęcie testów. Musisz też utworzyć zespół, który ułatwi Ci codzienne działanie VDP.

Tworzenie zespołu

Korzystanie z VDP wymaga dużej ilości pracy operacyjnej opartej na przerwach. Jeśli spróbujesz przeglądać i technicznie sprawdzić każdy raport o lukach w zabezpieczeniach i odpowiadać na niego, a także zgłaszać wszystkie błędy, śledzić ich stan i samodzielnie przekazywać informacje badaczom, możesz wypalić się. Nawet jeśli nie masz dużego zespołu ds. zabezpieczeń, znajdź wolontariuszy, którzy zwracają uwagę na bezpieczeństwo. Pomoże Ci on stworzyć zespół, który pomoże Ci wdrożyć i obsługiwać VDP. Nadal potrzebujesz określonego „właściciela” lub „lidera” VDP, który ostatecznie odpowiada za sukces VDP, ale potrzebujesz też zespołu, który będzie go wspierał.

Opracuj harmonogram działania

Gdy już zbierzesz zasoby i chcesz pomóc w rozwiązaniu VDP, nagraj strukturę, określając harmonogram zadań. Możesz tworzyć dowolną ilość treści, ale dość powszechną praktyką jest rotacja cotygodniowa. Gdy masz obowiązek:

  • Test – przegląd przychodzących raportów o lukach w zabezpieczeniach
    • Weryfikacja techniczna raportu i podjęcie decyzji „akceptuj” lub „odrzucaj”
    • Przekaż hakerowi swoją decyzję, który zgłosił problem.
    • Jeśli nie potrafisz odtworzyć problemu, poproś hakera o więcej informacji.
    • Jeśli luka jest prawidłowa, zgłoś utworzony błąd z odpowiednim właścicielem.
  • Zarządzanie lukami w zabezpieczeniach – wysuwanie istniejących luk w zabezpieczeniach
  • Komunikowanie się – przekazywanie badaczom nowych informacji o istniejących raportach
    • Badacze mogą z własnej inicjatywy prosić o aktualizacje istniejących raportów. Sprawdzaj je i w razie potrzeby reaguj.
    • Jeśli luka zostanie usunięta, powiadom o tym badacza, aby dowiedział się, że ich ciężka praca przyniosła pozytywne efekty w Twojej organizacji. Możesz nawet dołączyć język szablonów, który będzie pytać badacza, czy coś zostało pominięte lub czy poprawka może zostać w jakiś sposób ominięta.

W zależności od liczby otrzymanych raportów, stopnia złożoności tych raportów oraz umiejętności i wiedzy danej osoby pracującej na szczeblu dyrektorskim może zająć od kilku godzin do całego tygodnia. Oto kilka wskazówek, jak:

  • Zadbaj o to, aby Twój zespół był gotowy do działania i pomagał firmie w pracy w szczególnie ciężkich tygodniach.
  • Opracuj odpowiednią procedurę przekazywania sprawy. Jeśli wystąpią problemy, które mogą wymagać natychmiastowej uwagi ze strony kolejnej osoby pracującej, przygotuj pod koniec tygodnia notatki lub porozmawiaj na żywo.
  • Utwórz automatyczne harmonogramy, aby mieć pewność, że wszyscy wiedzą, kiedy mają swoją pracę. Wystarczy, że utworzysz cykliczne wpisy w kalendarzu dla każdej osoby.
  • Szczególnie na początku pracy z VDP sprawdź, czy osoba zatrudniona w firmie nie pamięta, że mamy już za sobą tydzień, i upewnij się, że nie potrzebuje pomocy. Jeśli masz mniej doświadczonych pracowników, zwróć się o pomoc do tych przedstawicieli, aby poczuli się pewnie i mogli zadawać pytania w miarę nabierania doświadczenia.
  • Zapewnij elastyczny sposób wymiany tygodni. Z pewnością nie da się uniknąć nadzwyczajnej sytuacji i koniecznie będzie trzeba zrobić sobie urlop w ciągu tygodnia lub ktoś weźmie urlop itp. W takim przypadku zachęć zespół do zamiany tygodni, aby dostosować się do grafików wszystkich pracowników.
  • Przygotuj „ściągawkę” z opisem zakresu obowiązków, w tym dokumentacji, jak je wykonać.

Porównanie skuteczności reklam wewnętrznych i zewnętrznych

Większość dotychczasowych wskazówek opierała się na tworzeniu i prowadzeniu własnego konta VDP. Dostępne są różne usługi konsultacyjne i platformy, które pomogą Ci utworzyć i uruchomić VDP. Korzystanie z usług takich firm zwykle wiąże się z kosztami, ale mogą okazać się przydatne, jeśli chodzi o tworzenie, uruchamianie i uruchamianie VDP. Niektórzy oferują nawet usługi sklasyfikowania, które pomagają przeglądać przychodzące raporty o lukach w zabezpieczeniach, ułatwiają komunikację z hakerami i przekazują tylko prawidłowe raporty do zespołu. Podejmowanie decyzji o tym, czy przeprowadzisz ten proces samodzielnie, czy użyjesz platformy zewnętrznej, zależy od Twoich wymagań i dostępnych zasobów. Jeśli masz duży budżet, ale mało pracowników, warto skorzystać z pomocy firmy zewnętrznej w prowadzeniu programu. Jeżeli jest na odwrót, być może warto poświęcić czas na samodzielne zbudowanie programu.

Otrzymywanie raportów

Jeśli zdecydujesz się na korzystanie z platformy innej firmy, hakerzy powinni umożliwić hakerom przesyłanie raportów bezpośrednio Tobie. Jeśli programujesz samodzielnie, musisz stworzyć go samodzielnie. Może to być adres e-mail, który automatycznie tworzy zgłoszenie lub błąd w rejestrze problemów (np. security@example.com), albo formularz internetowy z wymaganymi polami, do którego link znajduje się na stronie z zasadami programu lub na tej samej stronie, na której znajdują się zasady programu. Bez względu na to, w jakiej formie chcesz otrzymywać raporty, jest to szansa dla hakerów. Pamiętaj, że proszenie hakerów o przesyłanie raportów w określonym formacie nie gwarantuje, że to zrobią, ale nie zaszkodzi. Oto przykład informacji, o jakie można poprosić w formularzu przesyłania zgłoszenia:

Tytuł: [Dodaj jednowierszowy opis problemu, np. „XSS w adresie e-mail.example.com
spowoduje kradzież sesji"]

Podsumowanie: [dodaj krótki opis luki w zabezpieczeniach i jej znaczenia, np. Ze względu na brak zmiany znaczenia możesz wysłać do innego użytkownika e-maila z ładunkiem XSS, który umożliwiłby atakującemu kradzież plików cookie innego użytkownika z informacjami o sesji. Umożliwi to hakerowi zalogowanie się na konto ofiary]. Etapy odtworzenia: [dodaj szczegółowe instrukcje, jak odtworzyć lukę w zabezpieczeniach.]
1.
2.
3.

Scenariusz ataku i jego skutki: [jak można to wykorzystać? Jaki ma to wpływ na bezpieczeństwo
?] Porady dotyczące rozwiązywania problemów: [opcjonalnie, jeśli masz jakieś wskazówki dotyczące rozwiązania tego problemu, dodaj je tutaj].