Med hur komplex programvara är, är det utmanande att se till att det inte finns några buggar. Detta är helt enkelt sättet för saker som är mänskligt utformade och mycket komplexa. För att minimera problemet inkluderar programvaruutvecklingsföretag kodrecensioner i sin mjukvaruutvecklingslivscykel. Men även en noggrann expertgranskning kan inte fånga allt. Själva realtids- och budgetbegränsningarna förvärrar detta. På grund av detta tar buggar sin väg till produktionssystem. Vissa buggar har liten eller ingen effekt, men andra kan introducera otäcka säkerhetsbrister.
En säkerhetssårbarhet är en klass av buggar som påverkar systemets säkerhet på något sätt. Det finns ett brett utbud av möjliga resultat, men i slutändan är alla säkerhetsbrister dåliga för alla. Tyvärr kan det vara svårt och tidskrävande att hitta buggar. Medan utvecklare bara kan spendera en begränsad tid på att testa för buggar, spenderar en annan grupp tillsammans mycket mer tid på att använda applikationen – användarna.
Användare av ett system, kombinerat, spenderar mycket mer tid på ett system än vad utvecklarna av det systemet någonsin kunde. De använder också ett mycket bredare utbud av enheter. Tillsammans gör detta till den perfekta miljön för att hitta buggar – många ögon och kantfodral.
Att sätta användarna i arbete
Det traditionella sättet att använda användare för att lösa buggar är att ha någon felrapporteringsfunktion som låter användare rapportera en bugg de stöter på. Utvecklarna kan använda denna information för att replikera, identifiera och åtgärda problemet. Problemet är att det finns ett minimalt incitament för användaren att rapportera eventuella problem. Det är en process som tar tid, har potentiella integritetskonsekvenser och i allmänhet inte resulterar i någon feedback, även om problemet är åtgärdat.
Säkerhetssårbarheter är ännu värre. En illvillig användare kan välja att använda en sårbarhet de hittar aktivt. Beroende på frågan kan det vara möjligt att få tillgång till något värdefullt, antingen på den svarta marknaden eller genom lösen eller utpressning. Alternativt är det möjligt att sälja kunskap om sårbarheten på den svarta marknaden. Hur som helst, användare är inte motiverade att rapportera buggar och avskräcks från att rapportera säkerhetssårbarheter.
Vänd på steken
Ett bug-bounty-system är ett sätt att vända på steken för att uppmuntra att rapportera säkerhetsproblem aktivt. Metoden är enkel och belönar dem. Standardmetoden är att betala en penningpenning och att ge ett offentligt erkännande av bidraget. Detta belönar användare direkt för att rapportera en säkerhetsbrist och uppmuntrar dem att göra rätt sak.
Bug bounty-system är vanligtvis öppna för alla. Alla användare som identifierar en säkerhetsbrist kan rapportera den och få betalt. Det finns dock några varningar. För att få betalt måste du i allmänhet vara den första personen som rapporterar ett problem, även om det ibland finns sällsynta undantag under exceptionella omständigheter. Du måste också följa reglerna.
Reglerna för ett bug-bounty-system ger ett övergripande skydd mot rättsliga åtgärder om du håller dig inom dem. De är ofta detaljerade men relativt enkla. Få inte åtkomst till andra människors data, använd inte sårbarheter med uppsåt och avslöja dem privat och ansvarsfullt. Det kan också finnas vissa saker som anses vara förbjudna.
Hur är belöningarna?
Realistiskt sett är belöningarna baserade på goodwill. Det finns också ett element av "om detta orsakade ett dataintrång, skulle vi behöva betala mycket större böter." I allmänhet betalar företaget vad som är ett relativt lågt belopp för det. Detta kan dock vara ganska mycket för reportern. Vissa buggar kan betalas för mindre än hundra dollar. I extrema fall har dock vissa företag betalat hundra tusen dollar för allvarliga sårbarheter. Naturligtvis är de flesta belöningar mycket lägre än så.
Historiskt sett har buggvinsten varit mycket lägre och ibland mer av ett enkelt tack. Att skicka ut en gratis t-shirt eller tillhandahålla en gratis livstidsprenumeration på tjänsten, till exempel. Stora teknikföretag har dock stärkt marknaden, liksom ankomsten av bug-bounty-plattformar. Bug bounty-plattformar är webbplatser som är värd för bug-bounty-programmen för många klienter. De samlar allt på ett ställe. Detta gör det mycket lättare för en mindre organisation att köra ett bug-bounty-system. Ett av sätten att göra detta på är helt enkelt genom att standardisera processen.
Naturligtvis är belöningen i en bug-bounty mycket mindre än vad som kan uppnås genom att sälja buggen på den svarta marknaden. Konceptet litar på att de flesta i allmänhet vill göra rätt. Eller åtminstone vill de inte att risken för att bryta mot lagen ska återvända för att förfölja dem.
Slutsats
En bug-bounty är ett system för att betala en belöning för att hitta och på ett ansvarsfullt sätt avslöja en säkerhetssårbarhet. Det uppmuntrar aktivt användare att testa och förbättra säkerheten för produkter. Det ger många nya ögon till testprocessen, allt till minimal kostnad för företaget. Naturligtvis, som någon som deltar i ett bug-bounty-system, är det viktigt att vara försiktig och förstå reglerna.
Hacking är olagligt; bug bounty-programmet tillåter testning av vissa saker men innehåller vanligtvis begränsningar. Om du inte följer reglerna kan du bli straffrättsligt ansvarig. Om du följer reglerna, hittar och rapporterar ett fel kan du få en bra utbetalning och öka säkerheten för dig själv och andra användare.