Bei der Komplexität von Software ist es schwierig sicherzustellen, dass keine Fehler vorhanden sind. Dies ist einfach der Lauf der Dinge, die von Menschen entworfen und hochkomplex sind. Um das Problem zu minimieren, nehmen Softwareentwicklungsunternehmen Code-Reviews in ihren Softwareentwicklungslebenszyklus auf. Aber selbst eine sorgfältige Expertenprüfung kann nicht alles erfassen. Die sehr Echtzeit- und Budgetbeschränkungen verschärfen dies. Aus diesem Grund gelangen Fehler in Produktionssysteme. Einige Fehler haben nur geringe oder keine Auswirkungen, andere können unangenehme Sicherheitslücken einführen.
Eine Sicherheitslücke ist eine Klasse von Fehlern, die die Sicherheit des Systems in irgendeiner Weise beeinträchtigen. Es gibt eine breite Palette möglicher Ergebnisse, aber am Ende sind alle Sicherheitslücken schlecht für alle. Leider kann das Auffinden von Fehlern schwierig und zeitaufwändig sein. Während Entwickler nur eine begrenzte Zeit mit dem Testen auf Fehler verbringen können, verbringt eine andere Gruppe viel mehr Zeit mit der Nutzung der Anwendung – die Benutzer.
Benutzer eines Systems verbringen zusammengenommen viel mehr Zeit mit einem System, als die Entwickler dieses Systems jemals könnten. Sie verwenden auch eine viel größere Vielfalt an Geräten. Zusammen ergibt dies die perfekte Umgebung zum Auffinden von Fehlern – viele Augen und Grenzfälle.
Die Benutzer zur Arbeit bringen
Die traditionelle Art, Benutzer zum Beheben von Fehlern zu verwenden, besteht darin, eine Fehlerberichtsfunktion zu haben, die es Benutzern ermöglicht, einen Fehler zu melden, auf den sie stoßen. Die Entwickler können diese Informationen verwenden, um das Problem zu replizieren, zu identifizieren und zu beheben. Das Problem ist, dass es für den Benutzer nur einen minimalen Anreiz gibt, Probleme zu melden. Es ist ein Prozess, der Zeit braucht, potenzielle Auswirkungen auf die Privatsphäre hat und im Allgemeinen zu keinem Feedback führt, selbst wenn das Problem behoben ist.
Sicherheitslücken sind noch schlimmer. Ein böswilliger Benutzer könnte sich dafür entscheiden, eine Schwachstelle auszunutzen, die er aktiv findet. Je nach Problem kann es möglich sein, entweder auf dem Schwarzmarkt oder durch Lösegeld oder Erpressung an etwas Wertvolles zu gelangen. Alternativ ist es möglich, das Wissen um die Schwachstelle auf dem Schwarzmarkt zu verkaufen. In jedem Fall werden Benutzer nicht dazu angeregt, Fehler zu melden, und werden entmutigt, Sicherheitslücken zu melden.
Den Spieß umdrehen
Ein Bug-Bounty-System ist eine Möglichkeit, den Spieß umzudrehen, um das aktive Melden von Sicherheitsproblemen zu fördern. Die Methode ist einfach und belohnt sie. Die Standardmethode besteht darin, eine finanzielle Prämie zu zahlen und den Beitrag öffentlich anzuerkennen. Dies belohnt Benutzer direkt für das Melden einer Sicherheitslücke und ermutigt sie, das Richtige zu tun.
Bug-Bounty-Systeme stehen normalerweise jedem offen. Jeder Benutzer, der eine Sicherheitslücke identifiziert, kann diese melden und dafür bezahlt werden. Es gibt jedoch einige Vorbehalte. Um bezahlt zu werden, müssen Sie im Allgemeinen die erste Person sein, die ein Problem meldet, obwohl es in Ausnahmefällen manchmal seltene Ausnahmen gibt. Sie müssen sich auch an die Regeln halten.
Die Regeln eines Bug-Bounty-Systems bieten einen pauschalen Schutz vor rechtlichen Schritten, wenn Sie sich daran halten. Sie sind oft detailliert, aber relativ einfach. Greifen Sie nicht auf die Daten anderer Personen zu, nutzen Sie Schwachstellen nicht böswillig aus und legen Sie diese vertraulich und verantwortungsbewusst offen. Es kann auch einige Dinge geben, die als tabu gelten.
Wie sind die Belohnungen?
Realistischerweise basieren die Belohnungen auf Kulanz. Es gibt auch ein Element von „Wenn dies zu einer Datenschutzverletzung führen würde, müssten wir eine viel höhere Strafe zahlen“. In der Regel zahlt das Unternehmen dafür einen relativ geringen Betrag. Das kann für den Reporter aber ganz schön viel werden. Einige Bugs können für weniger als hundert Dollar bezahlt werden. In extremen Fällen haben einige Unternehmen jedoch Hunderttausende Dollar für schwerwiegende Schwachstellen bezahlt. Natürlich sind die meisten Kopfgelder viel niedriger.
In der Vergangenheit waren Bug Bountys viel niedriger und manchmal eher ein einfaches Dankeschön. Zum Beispiel das Versenden eines kostenlosen T-Shirts oder das Anbieten eines kostenlosen lebenslangen Abonnements für den Dienst. Große Technologieunternehmen haben den Markt jedoch angekurbelt, ebenso wie die Einführung von Bug-Bounty-Plattformen. Bug-Bounty-Plattformen sind Websites, die die Bug-Bounty-Programme vieler Kunden hosten. Sie gruppieren alles an einem Ort. Dies macht es für eine kleinere Organisation viel einfacher, ein Bug-Bounty-System zu betreiben. Eine Möglichkeit, dies zu erreichen, ist einfach die Standardisierung des Prozesses.
Natürlich ist die Belohnung in einem Bug-Bounty viel geringer als beim Verkauf des Bugs auf dem Schwarzmarkt. Das Konzept vertraut darauf, dass die meisten Menschen im Allgemeinen das Richtige tun wollen. Oder zumindest wollen sie nicht, dass das Risiko eines erneuten Gesetzesbruchs sie heimsucht.
Abschluss
Ein Bug Bounty ist ein System zur Zahlung einer Belohnung für das Auffinden und verantwortungsbewusste Offenlegen einer Sicherheitslücke. Es ermutigt Benutzer aktiv, die Sicherheit von Produkten zu testen und zu verbessern. Es bringt viele neue Augen in den Testprozess, und das alles zu minimalen Kosten für das Unternehmen. Als jemand, der an einem Bug-Bounty-System teilnimmt, ist es natürlich wichtig, vorsichtig zu sein und die Regeln zu verstehen.
Hacken ist illegal; Das Bug-Bounty-Programm erlaubt das Testen einiger Dinge, enthält jedoch normalerweise Einschränkungen. Wenn Sie sich nicht an die Regeln halten, können Sie sich strafbar machen. Wenn Sie die Regeln befolgen, einen Fehler finden und melden, erhalten Sie möglicherweise eine schöne Auszahlung und erhöhen die Sicherheit für sich und andere Benutzer.