Bug Bounty: oto jak działa polowanie na błędy

Bug Bounty: oto jak działa polowanie na błędy28.10.2019 07:25

Sztaby programistów i testerów badają każdy program, aplikację i stronę internetową pod kątem błędów czy luk. Stawką jest nie tylko sprawność działania produktu, ale też bezpieczeństwo użytkowników i własny wizerunek. A także uniknięcie milionowych kar. Grzywna w połączeniu z zadaniem, jakim jest szukanie igły w stogu siana, zachęciła firmy do nietypowej zagrywki. Skoro i tak hakerzy szukają dziur w systemie - niech podzielą się odkryciem i jeszcze na tym zarobią. Nieraz roczną pensję.

Niemal wszystkie współczesne urządzenia i systemy bezustannie otrzymują aktualizacje, które łatają błędy. W szczególnym stopniu dotyczy to łat dla systemu Windows, gdzie proces aktualizacji jest długi, awaryjny i wymaga restartów. Reszta oprogramowania po prostu otrzymuje nowe wersje w sposób przezroczysty (nawet tego nie zauważamy) - i to znacznie częściej niż Windows.

Prędkość aktualizacji niekoniecznie wynika z tego, że dzisiejszy software jest pisany aż tak źle, by ciągle trzeba go było poprawiać. Jest to po prostu naturalna konsekwencja wzrostu złożoności. Błędy są na tyle nieuniknione, że autorzy przyznają to wprost i oferują programy polowania na błędy (z ang. bug bounty). Biorąc w nich udział, można się wiele nauczyć, a czasami nieźle zarobić.

Prowadzenie inicjatywy bug bounty jest po prostu jedną z metod zapewnienia jakości. Testerzy i penetratorzy oprogramowania zatrudniani "na etat" wcale nie są armią wysoko wykwalifikowanych specjalistów, zdolnych do nieskończenie skutecznego audytu oprogramowania. Stąd też zastąpienie ich wolnymi strzelcami nie jest pójściem na skróty. Zresztą, ustalone wysokości nagród potrafią przyciągnąć odpowiednich fachowców.

(fot. Laxman Muthiyah)
(fot. Laxman Muthiyah)

Ze względu na priorytety, rodzajami błędów oczekiwanych w bug bounties są luki w zabezpieczeniach. Wykrycie błędów funkcjonalnych następuje samoistnie. Problemy z interfejsem i "wykończeniówką" nie są źródłem blamażu wizerunkowego ani odpowiedzialności karnej, pozostaje więc kwestia bezpieczeństwa.

Rzecz jasna, o wiele lepiej by było, gdyby problemy z zabezpieczeniami znalazł ktoś z wewnątrz, a nie osoba trzecia. Ale oprogramowanie i tak jest wyeksponowane i podatne na ataki, więc polowanie na błędy nie jest tworzeniem groźnej pokusy.

Modne łowy

Ze względu na korzyści techniczne i marketingowe, coraz więcej firm z branży IT decyduje się na prowadzenie bug bounty i nie brakuje wśród nich topowych graczy. Swoje programy mają Microsoft, Apple, Google, GitHub, Facebook, Mozilla, Dropbox, ING, LinkedIn, a nawet Nintendo. Na naszym rodzimym podwórku są to przede wszystkim Allegro oraz... portal Pyszne.pl, być może nieco niespodziewanie. To doskonały przykład, że błędów w infrastrukturze IT należy szukać nie tylko w firmach z branży.

mniam.
mniam.

Jako że prowadzenie bug bounty stało się częstą inicjatywą i zyskownym biznesem, pojawił się oczywiście pośrednik. Firma HackerOne jest platformą zajmującą się koordynacją i prowadzeniem polowań na błędy dla firm, które nie chcą organizować ich w pełni samodzielnie.

Obfity katalog uczestników pozwala znaleźć takie firmy jak IBM, Adobe i PayPal. Są też niezliczone ilości innych, mniej i bardziej znanych. Wśród stron zarejestrowanych w katalogu H1 widnieje również... amerykański Departament Obrony, aczkolwiek jest on jedynie zarejestrowany, nie prowadzony przez HackerOne. Niemniej to akurat mało zaskakujące, wszak mowa o bezpieczeństwie na szczeblu państwowym.

Bezpieczeństwo a etyka

Do inicjatywy polowania na błędy (i zarabiania na nich) można także podejść w odmienny sposób, aplikując nie do programu bug bounty, a do firmy skupującej exploity. Jest nią Zerodium. Skupuje ona błędy w popularnych aplikacjach i protokołach, ale nie dzieli się nimi z autorami złamanych programów.

Cel wykorzystania zgłaszanych luk pozostaje tajemnicą handlową (jest zresztą nieweryfikowalny), ale całkiem możliwe, że jest dość mroczny. Zerodium płaci bowiem parokrotnie więcej niż firmy-właściciele programów, do których luki są skupowane. Możliwość prędkiego zarobienia dużych pieniędzy jest tutaj poważną próbą sumienia.

Zakres zainteresowania skupu dziur
Zakres zainteresowania skupu dziur

Stawki

Wysokości nagród w projektach BB są bardzo zróżnicowane, w zależności od wagi problemu i popularności aplikacji. Nagrody Google wahają się od 100 dolarów za skromną dziurę w zewnętrznym programie przejętym przez firmę Google do 31337 dolarów (121 tysięcy złotych minus podatek) za możliwość zdalnego wykonania kodu w głównych aplikacjach korzystających z konta Google. Zerodium za to samo oferuje aż do pół miliona!

Za odnalezienie dziury w Twitterze, pozwalającej na wykonanie kodu po stronie serwera, właściciel płaci 20160 dolarów. Za możliwość przejęcia konta można dostać 7700 dolarów. Z kolei PayPal oferuje 20 tysięcy za wykazanie możliwości kradzieży pieniędzy z konta (hmmm...). Polskie Allegro płaci 200 dolarów za prosty i niegroźny błąd, a 3 tysiące dolarów (11500 złotych minus podatek) za krytyczną lukę.

Windows to już dziś nic pilnego
Windows to już dziś nic pilnego

Ciekawiej robi się u dostawców platform ponoszących odpowiedzialność nie tylko za swój produkt, ale i za bezpieczeństwo usług dostarczanych przez wszystkich swoich klientów. Dlatego Microsoft za swój Azure jest gotów zapłacić nawet 300 tysięcy dolarów, jeżeli tylko komuś uda się wykazać, że możliwe jest naruszenie integralności kontenerów klienta.

Hipernadzorca Hyper-V jest wyceniany na 250 tysięcy, czyli niewiele mniej. Zapewne dlatego, że luki w obu tych produktach mogą być podobne. W kwestii lokalnych dziur jest już taniej: dziura w Windows to 50 tysięcy dolarów, ucieczka z piaskownicy Defendera — 30 tysięcy. Najniżej wyceniane przez Microsoft są luki w... oprogramowaniu do ochrony państwowych wyborów (15 tysięcy).

Zawód: łowca

Przy odpowiedniej dozie determinacji (i pancernej psychice), da się uczynić z polowania na błędy regularne, główne źródło zarobków. Jednak czasy, w których wystarczyło po prostu pozgłaszać komponenty na stronie niepokryte przez TLS, już minęły.

Nie można założyć, że będzie się w stanie cyklicznie odkrywać istotne, opłacalne dziury w oprogramowaniu. Poddaje to zawodowych łowców ciągłej presji kreatywności, która może prowadzić do silnego stresu i wypalenia. Warto o tym pamiętać, nawet posiadając zaawansowane umiejętności pozwalające znajdować dziury.

Aby zacząć zabawę w polowanie na błędy, nie jest potrzebne formalne wykształcenie i udokumentowane przygotowanie. W tej kwestii rzeczywistość jest jeszcze bardziej liberalna niż rynek pracy, który coraz mniej przywiązuje wagę do dyplomów. Zresztą, badanie oprogramowania pod kątem luk nie jest elementem żadnego uczelnianego programu nauczania ani kursu.

Badanie błędów w Windows to często grzebanie w C (fot. Tavis Ormandy)
Badanie błędów w Windows to często grzebanie w C (fot. Tavis Ormandy)

Pozostaje determinacja i samodzielne zgłębianie wiedzy. Próg wejścia potrafi być dość wysoki i należy zacząć od zagadnień, w których wcześniej wykazywało się jakąś biegłość. Istnieją pakiety kursów zorientowane na wyszukiwanie błędów, jak Hacker 101, ale najwłaściwszą drogą jest po prostu poświęcenie góry czasu (overfocus) na próby zepsucia produktu.

Nie da się tego osiągnąć bez gruntownej znajomości fundamentów. A te potrafią być żywiołowo odmienne. W przypadku web-aplikacji i systemów operacyjnych nie będą miały ze sobą nic wspólnego. Co więcej, nawet różnice między systemami są zbyt istotne, a "wiedza ogólna" nie wystarczy.

Aby zasięgnąć inspiracji, doskonałym źródłem będzie... Twitter. Członkowie społeczności infosec często chwalą się na swoich blogach procesami, które stosowali w celu odkrycia danych podatności. Umieszczają też odnośniki do interesujących badań i publikacji pozwalających pogłębiać wiedzę.

To nie czary

Istotna jest tutaj świadomość, że ludzie, o których mowa nie są super-utalentowanymi fachowcami, których zdolności znajdują się lata świetlne od innych. Nie jest dowodem naszego niedouczenia to, że niektóre rozwiązania opisywane przez znanych fachowców są niepodobne do naszego sposobu rozumowania: każde podejście jest unikatowe. Gorzej, jeżeli opisywane rozwiązania są po prostu niezrozumiałe, a użyte narzędzia — obce.

Zgłoszenie wykrytej słabości musi być przeprowadzone w sposób zgodny z wytycznymi projektu i/lub platformy. Błąd musi być jednoznacznie opisany wraz z użytymi narzędziami i powtarzalny. Strony umawiają się też, że słabość nie zostanie opublikowana poza procesem uzgodnionym na platformie. Nie możemy się publicznie chwalić odkryciem od razu, trzeba poczekać na odpowiedź właścicieli i załatanie luki.

Kariera łowcy błędów nie jest dla każdego. Wymaga rozbudowanej wiedzy, ale także specyficznego sposobu rozumowania. Nie jest tak, że wszyscy branżowi fachowcy nadają się na łowców w programach bug bounty.

Jeżeli nie udało się nam znaleźć jakiejś ważnej, przełomowej luki w oprogramowaniu, nie oznacza to od razu zawstydzającej niekompetencji. Nie trzeba także uczestniczyć w programach regularnie (choć podobno uzależniają). Mimo pozorów niewinnej inicjatywy nieodmiennej od innych branżowych hobby, polowanie na błędy może być wyzwaniem dla naszych nerwów i sumienia.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.