Kwetsbaar C++ levert studenten $100.000 op

Facebook reikt rijke beloning uit voor detectietool.

Twee studenten en hun twee professoren kunnen gezamenlijk een ton bijschrijven op hun rekening voor onderzoek dat een detectietool opleverde voor een veelvoorkomend probleem met C++.

De studenten schreven een paper over hoe je typeconversie kunt misbruiken in C++ om malafide acties uit te voeren. Typeconversie forceert het type van een gegeven naar een andere, bijvoorbeeld van een geheel getal (integer) naar een zwevendekomma-getal (float). Dat opent de deur naar type confusion, een probleem dat ontstaat als er geen controle wordt uitgevoerd op het gegevenstype van de returnwaarde in een programma.




Lek detecteren

De studenten bedachten ze een detectietool om kwetsbaarheden die ontstaan door type confusion op te merken in browsers als Chrome-bron Chromium en Firefox. Daarmee ontdekten ze maar liefst elf nieuwe bugs en de tool kan dit type C++-problemen opsporen in allerlei (web)code. Voor die prestatie heeft Facebook een prijs van 100.000 dollar uitgereikt op beveiligingscongres Usenix.

Facebook reikt de Internet Defense Prize jaarlijks samen met de organisatoren van beveiligingscongres Usenix uit aan onderzoek dat het hele web, niet alleen Facebook zelf, veiliger maakt. De prijs werd vorig jaar voor het eerst uitgereikt en was toen nog 50.000 dollar. Hij ging die keer naar twee Duitse onderzoekers die een detectietool bouwden voor webapplicaties en daarmee al 159 kwetsbaarheden ontdekten in 6 populaire web-apps.

Wees responsible

Maar bedenk goed wat je met je Facebook-bug doet. Voor een student van Harvard die een fout in Messenger demonstreerde met een Chrome-plugin van gelekte locaties liep het minder goed af. De extensie werd 85.000 keer gedownload en Facebook dichtte het gat vlug, maar kon niet lachen om de demonstratie. In plaats van een bounty, verloor de student zijn stageplek bij het social media-bedrijf.