Zapoznaj się uważnie z zapisami naszej polityki – szczegółowo opisaliśmy tam, jakiego rodzaju błędy kwalifikują się do zgłoszenia. Pamiętaj, że warunkiem uzyskania nagrody jest przesłanie zgłoszenia przy użyciu naszego formularza (dostęp do niego uzyskasz po naciśnięciu przycisku na dole tej strony)
W Doist do spraw bezpieczeństwa podchodzimy bardzo poważnie. Jeśli zdarzyło Ci się natrafić na problem z zabezpieczeniami naszych aplikacji, bardzo zależy nam, żeby się o tym dowiedzieć. Nasz Program polowania na błędy przewiduje nagrody pieniężne, więc podjęty wysiłek może się okazać korzystny dla obu stron.
Kto się kwalifikuje?
Aby otrzymać nagrodę, musisz być pierwszą osobą, która zgłasza dany problem.
Należy również dokonać zgłoszenia w prawidłowy sposób, tj. z uwzględnieniem informacji, dzięki którym nasz zespół pomocy technicznej będzie w stanie odtworzyć dane zdarzenie.
Przygotuj szczegółowy raport, w którym opiszesz kroki prowadzące do ujawnienia się błędu, jego wpływ na działanie naszej strony lub aplikacji lub ich użytkowników. Uwzględnij także informacje o kontach używanych do testowania.
Poszczególne problemy zgłaszaj pojedynczo.
Postaraj się zawrzeć rodzaj problemu w tytule zgłoszenia.
Twoje zgłoszenie musi zawierać opis czynności, których wykonanie pozwoli na odtworzenie błędu. Zgłoszenia, które nie będą zawierać jasnej instrukcji postępowania lub przedstawiające dowód koncepcji (PoC) wyłącznie w formie nagrania wideo mogą nie zostać zaakceptowane.
Nagrody
Możesz otrzymać nagrodę pieniężną, jeśli:
Jesteś pierwszą osobą, która zgłosiła dany problem zabezpieczeń strony internetowej lub aplikacji.
Nasz zespół uznał problem za istotnie wpływający na bezpieczeństwo.
Przestrzegałeś(-aś) wszystkich zasad programu
Wysokość nagrody za każdy upolowanych błędów będzie określana przez nasz zespół, który weźmie pod uwagę potencjalne zagrożenie, jakie może on powodować, określane według naszej wewnętrznej skali. Poniżej znajdziesz listę przykładowych problemów, wraz ze stopniami zagrożenia:
problemy nie powiązane z bezpieczeństwem, takie jak np. kody odpowiedzi HTTP inne niż 200, błędy aplikacji lub serwera
problemy nie mające ewidentnego wpływu na bezpieczeństwo, np. wylogowania CSRF, brakujące nagłówki zabezpieczeń HTTP, błędy SSL, problemy dotyczące polityki haseł lub clickjacking (porywanie kliknięć) na stronach, gdzie nie występują wrażliwe obiekty lub działania
problemy dotyczące nieaktualnych wersji aplikacji lub elementów, które nie są już dłużej używane
problemy dotyczące zewnętrznych podmiotów lub aplikacji, z których korzystamy (np. Firebase, Zendesk)
zgłoszenia dotyczące wykorzystania spamu lub technik inżynierii społecznej, takich jak SPF i DKIM oraz brak DNSSEC
sytuacje dotyczące ujawniania informacji serwera, w szczególności nagłówków zwrotnych „X-Powered-by” oraz „Server”. Wyjątkiem mogą być sytuacje, gdy ujawnione informacje zawierają wersję serwera i powiązane CVE (Common Vulnerabilities and Exposures)
zgłoszenia podatności Server-Side Request Forgery (SSRF) w odniesieniu do usług, których działanie wymaga wysyłania aktywnych zgłoszeń (o ile nie zostanie udowodnione, że może to doprowadzić do wycieku danych wrażliwych)
błędy, których pojawienie się jest rezultatem bardzo nietypowych działań użytkownika (np. przejęcie konta w wyniku logowania SSO)
zgłoszenia problemów, które wymagają rozszerzonego dostępu do urządzeń docelowych lub innych zasobów, które w innych przypadkach byłyby poza naszą kontrolą. Może to być między innymi dostęp do plików cookie przeglądarki i/lub tokenów uwierzytelniających użytkownika, dostęp do skrzynki pocztowej użytkownika itp.
zdarzenia dotyczące clickjackingu, które występują na uwierzytelnionych wcześniej stronach, brak opcji „X-Frame” lub dowolne inne przypadki clickjackingu, których nie można wykorzystać w szkodliwy sposób
zdarzenia CORS (Cross-OriginResourceSharing), kiedy serwer nie odpowiada nagłówkiem „Access-Control-Allow-Credentials: true”
brakujące limity prędkości, o ile nie doprowadza to do istotnej podatności na atak
user email enumeration (sposób poznania nazw kont użytkowników danego systemu) na stronach związanych z rejestracją konta, logowaniem i zapomnianym hasłem
Pliki dostępne w formie URI ze ścieżką zaczynającą się od `/.well-known` (znane również jako well-known URIs).
obchodzenie 2FA poprzez resetowanie hasła
problemy związane z konkretnymi aplikacjami klientów
przechowywanie danych użytkowników w formie niezaszyfrowanej
brak maskowania
exploity powodujące zmiany w bieżącym kodzie
Poziom zagrożenia: niski
otwarte przekierowania
błędy konfiguracji serwera lub przesyłu danych
wyciek/ujawnienie informacji (z wyłączeniem wrażliwych danych użytkowników)
zdarzenia CORS (Cross-OriginResourceSharing), kiedy serwer nie odpowiada nagłówkiem „Access-Control-Allow-Credentials: true” na zapytanie z nagłówkiem „Origin” pochodzące ze źródeł zewnętrznych (czyli np. nie „*.todoist.com” ani „*.twist.com”)
XSS zwracający wyniki (reflected XSS)
Zgłoszenia dotyczące problemów mieszanej zawartości(mixed content), jeżeli docelowy adres URL nie odpowiada nagłówkiem Strict-Transport-Security (aka HSTS). Zagrożenie istnieje, lecz jest ograniczone do pojedynczej interakcji na domenę/subdomenę (zależnie od wartości HSTS value). Od 2021 przeglądarki domyślnie przechodzą na HTTPS, co pomaga zniwelować ryzyko.
pozostałe błędy powodujące niewielkie zagrożenie
Poziom zagrożenia: średni
CSRF / XSRF
SSRF do usługi wewnętrznej
trwały XSS (stored XSS)
pozostałe błędy powodujące średnie zagrożenie
Poziom zagrożenia: wysoki
wyciek/ujawnienie informacji zawierających wrażliwe dane użytkowników
pozostałe błędy powodujące wysokie zagrożenie
Poziom zagrożenia: krytyczny
nieautoryzowane zapytania SQL (SQL injection)
zdalne wykonywanie kodu (remote code execution)
eskalacja uprawnień
uszkodzone uwierzytelnianie
SSRF do urządzenia wewnętrznego, skutkujące krytycznym zagrożeniem bezpieczeństwa
pozostałe błędy powodujące krytyczne zagrożenie
Apka
Brak
Niski
Średni
Wysoki
Krytyczny
Todoist
0 USD
100 USD
200 USD
500 USD
1000 USD
Twist
0 USD
50 USD
100 USD
250 USD
500 USD
Wykrycie słabych punktów w naszych aplikacjach na urządzenia mobilne z systemem Android może się kwalifikować do dodatkowej nagrody w programie Google Play (Google Play Security Rewards Program).
Wszystkie nagrody zostaną wypłacone na konta PayPal.
Zespół Doist każdorazowo zastrzega sobie prawo do zdecydowania, czy zgłoszony problem kwalifikuje się do programu.
Decyzje dotyczące wysokości przyznanych nagród w Programie Polowania na błędy Doist mają charakter ostateczny.