Vzhledem k tomu, jak složitý software je, je náročné zajistit, aby v něm nebyly žádné chyby. To je prostě způsob věcí, které jsou navrženy lidmi a jsou velmi složité. Aby se tento problém minimalizoval, společnosti zabývající se vývojem softwaru zahrnují do životního cyklu vývoje softwaru revize kódu. Ale ani pečlivá odborná recenze nemůže postihnout vše. Skutečná omezení v reálném čase a rozpočtová omezení to ještě zhoršují. Z tohoto důvodu se chyby dostávají do produkčních systémů. Některé chyby mají malý nebo žádný účinek, ale jiné mohou představovat nepříjemné bezpečnostní chyby.
Chyba zabezpečení je třída chyb, která nějakým způsobem ovlivňuje zabezpečení systému. Existuje široká škála možných výsledků, ale nakonec jsou všechny chyby zabezpečení špatné pro všechny. Bohužel hledání chyb může být obtížné a časově náročné. Zatímco vývojáři mohou strávit testováním chyb pouze omezené množství času, další skupina tráví používáním aplikace mnohem více času – uživatelé.
Uživatelé systému dohromady stráví na systému mnohem více času, než by kdy vývojáři tohoto systému dokázali. Používají také mnohem širší škálu zařízení. Dohromady to dělá dokonalé prostředí pro hledání chyb – mnoha oček a okrajových případů.
Uvedení uživatelů do práce
Tradičním způsobem, jak používat uživatele k řešení chyb, je mít nějakou funkci hlášení chyb, která uživatelům umožňuje nahlásit chybu, na kterou narazí. Vývojáři mohou tyto informace použít k replikaci, identifikaci a nápravě problému. Problém je v tom, že uživatel má minimální motivaci hlásit jakékoli problémy. Je to proces, který vyžaduje čas, má potenciální dopady na soukromí a obecně nevede k žádné zpětné vazbě, i když je problém vyřešen.
Bezpečnostní slabiny jsou ještě horší. Uživatel se zlými úmysly by se mohl rozhodnout použít zranitelnost, kterou aktivně najde. V závislosti na problému může být možné získat přístup k něčemu cennému, buď na černém trhu, nebo prostřednictvím výkupného nebo vydírání. Případně je možné znalosti o zranitelnosti prodat na černém trhu. Ať tak či onak, uživatelé nejsou motivováni k hlášení chyb a jsou odrazováni od hlášení chyb zabezpečení.
Otáčení stolů
Systém bug bounty je způsob, jak otočit stůl a podpořit aktivní hlášení bezpečnostních problémů. Metoda je jednoduchá, odměňuje je. Standardní metodou je vyplacení peněžní odměny a veřejné potvrzení o příspěvku. To přímo odměňuje uživatele za nahlášení bezpečnostní chyby a povzbuzuje je, aby udělali správnou věc.
Systémy odměn za chyby jsou obvykle otevřené komukoli. Každý uživatel, který identifikuje chybu zabezpečení, ji může nahlásit a dostat zaplaceno. Existují však určitá upozornění. Abyste mohli dostat zaplaceno, musíte být obvykle první osobou, která problém nahlásí, i když za výjimečných okolností se někdy vyskytují vzácné výjimky. Musíte také dodržovat pravidla.
Pravidla systému odměn za chyby poskytují plošnou ochranu před právními kroky, pokud se v nich budete držet. Jsou často podrobné, ale relativně přímočaré. Nepřistupujte k datům jiných lidí, nepoužívejte zranitelná místa se zlým úmyslem a sdělujte je soukromě a zodpovědně. Mohou také existovat některé věci, které jsou považovány za zakázané.
Jaké jsou odměny?
Reálně jsou odměny založeny na dobré vůli. Je zde také prvek „pokud by to způsobilo narušení dat, museli bychom zaplatit mnohem větší pokutu“. Obecně za to společnost platí relativně nízkou částku. To však může být pro reportéra opravdu hodně. Některé chyby mohou být zaplaceny za méně než sto dolarů. V extrémních případech však některé společnosti zaplatily za vážná zranitelnost sto tisíc dolarů. Většina odměn je samozřejmě mnohem nižší.
Historicky byly odměny za chyby mnohem nižší a někdy spíše prostým poděkováním. Například zaslání trička zdarma nebo poskytnutí bezplatného doživotního předplatného služby. Velké technologické společnosti však trh posílily, stejně jako příchod platforem bug bounty. Platformy pro odměny za chyby jsou webové stránky, které hostí programy odměn za chyby mnoha klientů. Seskupují vše na jednom místě. Díky tomu je pro menší organizaci mnohem snazší provozovat systém bug bounty. Jedním ze způsobů, jak toho dosáhnout, je jednoduše standardizovat proces.
Odměna v odměně za chyby je samozřejmě mnohem menší, než by bylo možné dosáhnout prodejem chyby na černém trhu. Koncept věří, že obecně většina lidí chce dělat správnou věc. Nebo alespoň nechtějí, aby je pronásledovalo riziko porušování zákona.
Závěr
Bug bounty je systém vyplácení odměny za nalezení a zodpovědné odhalení bezpečnostní chyby. Aktivně vybízí uživatele k testování a zlepšování zabezpečení produktů. Přináší mnoho nových očí do procesu testování, to vše s minimálními náklady pro společnost. Jako někdo, kdo se účastní systému odměn za chyby, je samozřejmě nezbytné být opatrný a rozumět pravidlům.
Hackování je nezákonné; program bug bounty umožňuje testování některých věcí, ale obvykle zahrnuje omezení. Pokud pravidla nedodržíte, můžete být trestně odpovědní. Pokud budete dodržovat pravidla, najdete a nahlásíte chybu, můžete získat pěknou výplatu a zvýšit bezpečnost pro sebe i ostatní uživatele.