Kategorie
Administracja publiczna

Startuje rządowy program bug bounty

Jeśli nie zetknęliście się dotąd z terminem bug bounty, oto jego definicja: bug bounty to sformalizowana inicjatywa w ramach której osoby zgłaszające w sposób odpowiedzialny informacje o błędach w oprogramowaniu mogą otrzymać nagrody pieniężne lub rzeczowe. Duże firmy technologiczne wypłacają nagrody wynoszące nawet setki tysięcy dolarów, choć takie kwoty dotyczą oczywiście nielicznych błędów najgrubszego kalibru.

Od dziś nagrody pieniężne w programie bug bounty można dostać za wskazanie podatności w kilku rządowych aplikacjach i serwisach internetowych, m.in. stronie www.gov.pl czy komunikatorze internetowym mSzyfr. Płatny program bug bounty realizowany w sposób otwarty przez administrację centralną państwa to wielka rzadkość i stanowi dowód zaangażowania koleżanek i kolegów z CERT Polska, musieli oni pokonać naprawdę wiele przeszkód biurokratycznych. Przyjrzyjmy się więc bliżej całej inicjatywie oraz platformie hack.cert.pl!

logo serwisu hack.cert.pl

Czy to w ogóle legalne?

Łamanie zabezpieczeń systemów informatycznych i sieci telekomunikacyjnych jest w Polsce przestępstwem, oczywiście Kodeks Karny rozbija to na dużo bardziej szczegółowe przypadki, m.in.:

  • art. 267 – dostęp do sieci systemu informatycznego bez uprawnienia (do 2 lat pozbawienia wolności), ściganie na wniosek pokrzywdzonego
  • art. 268, 268a, 269 – niszczenie / uszkadzanie / usuwanie / zmienianie zapisów istotnej informacji albo udaremnianie / utrudnianie dostępu do niej (warianty: 2, 3, 5 lub 8 lat pozbawienia wolności), ściganie na wniosek pokrzywdzonego za wyjątkiem przypadków o szczególnym znaczeniu dla obronności i funkcjonowania administracji
  • art. 269a – zakłócanie pracy systemu (tele)informatycznego (do 5 lat pozbawienia wolności)

Na szczęście etyczni badacze bezpieczeństwa mają do dyspozycji od 2017 roku art. 269c, który wyłącza karalność naruszenia art. 267 (nieuprawniony dostęp) oraz 269a (zakłócenie pracy), jeśli człowiek popełniający zdefiniowane tam przestępstwa działał „wyłącznie w celu zabezpieczenia systemu informatycznego, […] albo opracowania metody takiego zabezpieczenia i niezwłocznie powiadomił dysponenta tego systemu lub sieci o ujawnionych zagrożeniach, a jego działanie nie naruszyło interesu publicznego lub prywatnego i nie wyrządziło szkody”.

Warto zwrócić uwagę na fakt, że przestępstwa nadal pozostają przestępstwami a lista wymaganych kryteriów jest długa. Nawet przy dużej staranności i ostrożności odkrywanie podatności (czekitałt, joł) może wyrządzić szkodę albo naruszyć interes publiczny lub prywatny, o czym badacz dowie się po doprowadzeniu do prokuratora.

Czy fakt istnienia publicznego bug bounty sprawi, że instytucje „pokrzywdzone” przez badaczy będą bardziej wyrozumiałe i nie zechcą zbyt pospiesznie wnosić o ściganie także w przypadkach nie objętych kontratypem art. 269c?

Zasady obowiązujące w typowym bug bounty

Firmy i instytucje organizujące program bug bounty mogą dowolnie ustalać jego reguły, jednak przez minione kilkanaście lat wypracowano dobre praktyki służące obu stronom.

Po pierwsze – to organizator określa zakres zgłoszeń. Może np. określić, że przyjmuje zgłoszenia dotyczące publicznie dostępnej usługi online, ale wyklucza z programu usługi pomocnicze używane przez pracowników (np. wewnętrzny komunikator albo środowiska testowe). Często spotyka się też zasadę, że zgłoszenie braku dobrych praktyk – np. odpowiednich nagłówków w odpowiedziach HTTP – będzie uwzględniane tylko, gdy towarzyszy mu udowodniona metoda naruszenia bezpieczeństwa (tzw. Proof of Concept).

Po drugie – badacz nie może modyfikować ani kasować danych innych użytkowników, nie może też obniżać stabilności ani dostępności usługi. Badacz powinien zatrzymać się, gdy stwierdzi obecność usterki, nie może wykorzystywać jej np. do instalacji backdoora albo nieuzasadnionego pozyskiwania danych wewnętrznych firmy/usługi.

Po trzecie – nagroda przysługuje wyłącznie za usterki, które nie były znane wcześniej. Badacz musi być pierwszą osobą, która zgłosi dany wektor ataku (kolejne osoby otrzymają jedynie informację o duplikacie), i nie może zdradzać publicznie żadnych informacji o szczegółach ani nawet istnieniu podatności.

Wrażliwą (i drażliwą) kwestią bywa długość embarga na informację o usterce – w końcu nieujawniony i nienaprawiony błąd stanowi ciągłe zagrożenie. W 2014 roku Google powołało do życia Project Zero czyli zespół badający bezpieczeństwo usług i programów innych firm. Przyjęto wówczas zasadę, że szczegóły błędu będą ujawniane światu po 90 dniach od przekazania informacji autorom systemu nawet, jeśli do tego czasu błąd nie został załatany.

W przypadku programów bug bounty badacze mają jednak finansową motywację, by czekać miesiące a nawet kwartały – bo niektórzy producenci oprogramowania i usług online łatają swoje produkty niechętnie i powoli. Zdarza się też, że waga błędu (od której zależy wysokość nagrody) bywa przez firmę zaniżana, a mimo to od badacza oczekuje się gotowości do współpracy przy weryfikacji błędu. Bywa też, że nagrodzie bug bounty towarzyszy umowa o poufności, by szczegóły błędu nigdy nie zostały ujawnione.

Program bug bounty stanowi uznany zwyczajem sygnał, że firma nie będzie dążyła do ścigania i karania badacza bezpieczeństwa za te próby ataku, które mieszczą się w ustalonym zakresie i których rezultaty zostały zgłoszone w sposób odpowiedzialny.

Oto… platforma bug bounty hack.cert.pl

Raz jeszcze – czapki z głów dla wszystkich osób zaangażowanych w powstanie projektu. Musieli oni pokonać schemat myślenia wielu oficjeli, przestawić ich podejście z „hakerów włamujących się do naszych systemów trzeba wyłapać i pozamykać” na „będziemy płacić spore pieniądze za udokumentowane włamania”.

W programach bug bounty prowadzonych na stronie hack.cert.pl będzie można otrzymać nagrody w wysokości do 20 tysięcy zł „na rękę”. Od strony prawnej są one realizowane w formie cyklicznych konkursów – dzięki temu organizator (CERT Polska) od razu uiści stosowny podatek. Początkowy budżet na nagrody wynosi aż milion złotych a w razie potrzeby może zostać zwiększony.

Godne odnotowania jest też, że platforma bug bounty stanowi autorskie rozwiązanie a całość komunikacji między badaczem, CERT Polska i właściciel systemu będzie realizowana suwerennie w ramach polskiej cyberprzestrzeni. Gdyby zamiast tego użyto gotowych rozwiązań dostarczanych przez firmy komercyjne (np. HackerOne), wiedza o podatnościach w systemach polskiej administracji trafiałaby najpierw do firmy z USA, z wszystkimi niepożądanymi konsekwencjami.

Musisz mieć PESEL

Aby kwalifikować się do nagrody w CERT-owym bug bounty, musisz zalogować się do systemu przy użyciu Krajowego Węzła Identyfikacji Elektronicznej – a mówiąc prościej, poprzez witrynę login.gov.pl.

Może to rodzić obawy, że dziś zgłosisz błąd a jutro o szóstej usłyszysz walenie do drzwi, niemniej przyczyny są czysto proceduralne – organizator konkursu może wypłacić nagrodę tylko polskiemu rezydentowi podatkowemu posiadającemu polski rachunek bankowy. Jeśli nie chcesz lub nie możesz uwierzytelnić się w Węźle Krajowym, pozostaje ci ścieżka zgłoszenia i obsługi podatności opisana na stronie cert.pl/cvd – dostępna także dla badaczy zachowujących anonimowość.

Warto brać pod uwagę, że publiczne programy bug bounty są zawalone po kokardę zgłoszeniami pochodzącymi wprost z automatycznych skanerów bezpieczeństwa (generujących masę fałszywych informacji) oraz od ludzi całkowicie niewykwalifikowanych (tzw. beg bounty, niemal żebractwo). Z tego powodu wiele firm otwiera prywatne programy do których zaprasza badaczy indywidualnie.

W przypadku serwisu hack.cert.pl obowiązek imiennego logowania powinien znacząco ograniczyć bezwartościowe zgłoszenia błędów – a osoby wysyłające notorycznie tego typu znaleziska mogą dostać czasowego bana.

Premierowe konkursy

Narodowe bug bounty startuje z kilkoma konkursami obejmującymi serwis www.gov.pl, komunikator mSzyfr, serwisy CERT Polska, wybrane serwisy NASK oraz… gminę Władysławowo. Zakres poszerzy się, gdy organizator zbierze doświadczenia z obsługi pierwszych zgłoszeń a do inicjatywy dołączą kolejne podmioty publiczne. Twórcy planują też dodać ranking i system odznak, więc etycznym hackowaniem będzie można pochwalić się np. w CV.

Wysokość nagród jest inna dla każdego konkursu, zaś przedziały kwotowe zależą od krytyczności ocenionej szablonem CVSS. Regulaminy jasno określają, które serwisy oraz jakie typy podatności wchodzą w zakres konkursów.

Warto dodać, że tego typu publiczne programy bug bounty to wciąż wielka rzadkość. W Europie można dostać pieniądze za wskazanie podatności w witrynach francuskiej i szwajcarskiej administracji publicznej, Estonia prowadzi program bug bounty dostępny dla zaproszonych badaczy, Belgia organizuje coroczne konkursy trwające kilka tygodni i… to chyba tyle. Tym bardziej cieszy, że CERT Polska przeciera szlaki innym krajom!

Wszystko jasne? Zatem… klawiatury w dłoń i do boju!

Z ostatniej chwili

Już po kilku godzinach od startu programu bug bounty, z konkursu gminy Władysławowo usunięto portal BIP – nie wytrzymał on ruchu generowanego przez badaczy i tymczasowo został wyłączony. Konkurs nadal obejmuje trzy inne witryny wskazane na stronie konkursu.


.

O autorze: zawodowy programista od 2003 roku, pasjonat bezpieczeństwa informatycznego. Rozwijał systemy finansowe dla NBP, tworzył i weryfikował zabezpieczenia bankowych aplikacji mobilnych, brał udział w pracach nad grą Angry Birds i wyszukiwarką internetową Microsoft Bing.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *