Bitcoin Core 0.20.0

Bitcoin veiliger door verwijderen versleuteltoolkit OpenSSL

De recent gelanceerde twintigste versie van Bitcoin bevat allerlei belangrijke wijzigingen waar je als gebruiker niet direct iets van merkt. Eén daarvan is verbeterde veiligheid door het verwijderen van versleuteltoolkit OpenSSL.

Bitcoin

Bitcoin veiliger door verwijderen versleuteltoolkit OpenSSL
0%
Peter Slagter
Door Peter Slagter

Code van derde partijen

Van veel van de software die je gebruikt, lijkt het alsof er één partij achter zit. In werkelijkheid bestaat de code vaak uit veel verschillende onderdelen, waar een deel van door derde partijen is geschreven. Meestal gaat het om code die gratis en zonder addertjes onder het gras gebruikt mag worden, opensourcesoftware. Neem bijvoorbeeld Google Chrome: deze populaire internetbrowser is afhankelijk van meer dan 150 externe projecten.

Het is heel gebruikelijk om code te gebruiken van derden. Het bespaart tijd, geld en stelt je in staat om snel nieuwe features uit te rollen. Maar ook hier geldt de Cruijffiaanse waarheid: ‘Elk voordeel heb zijn nadeel’.

Alleen al in 2019 zijn er bijna 13.000 meldingen gemaakt van nieuw gevonden kwetsbaarheden in opensourcesoftware. Sommige van die pakketten worden door duizenden ontwikkelaars en bedrijven gebruikt in hun producten en applicaties. Fantastisch nieuws voor kwaadwillenden, want zij kunnen de zwaktes daarin misbruiken.

OpenSSL verwijderd

Iedere keer dat een ontwikkelaar een nieuwe afhankelijkheid introduceert, vergroot hij de mogelijkheden voor aanvallers – de zogeheten attack surface. Hij wint wellicht wat aan tijd en geld, maar krijgt er een toegenomen risico voor terug. Dat risico minimaliseren wordt in de IT gezien als basale veiligheidsmaatregel.

Daarin heeft Bitcoin een belangrijke stap gezet met de lancering van versie 0.20.0. “OpenSSL is no longer used by Bitcoin Core”, lezen we in de notities bij deze release. Een proces waar jaren aan vooraf is gegaan.

OpenSSL is een opensource-implementatie van het SSL/TLS-protocol en een algemene bibliotheek voor allerlei cryptografische functies. Al in de eerste versie van Bitcoin (0.1.0) was het in gebruik, onder andere voor het genereren en valideren van digitale handtekeningen (signatures).

OpenSSL wordt door velen gezien als industriestandaard voor cryptografische toepassingen. Het bestaat al bijna 22 jaar en is één van de meestgebruikte opensourcepakketten die de wereld ooit gezien heeft. Dat heeft als voordeel dat het veel vlieguren achter de kiezen heeft en als nadeel dat het voor kwaadwillenden buitengewoon interessant is om naar kwetsbaarheden te zoeken én ze te misbruiken.

In september 2014 kwam Bitcoinontwikkelaar Pieter Wuille een kwetsbaarheid gerelateerd aan OpenSSL op het spoor die ‘spontane’ hardforks tot gevolg kon hebben. Wat volgde was een periode met pogingen om het probleem op te lossen zonder er al teveel ruchtbaarheid aan te geven. Uiteindelijk kon men opgelucht ademhalen, want op 4 juli 2015 bereikte de nieuw voorgestelde consensusregel die werd beschreven in BIP66 voldoende draagvlak. De analyse van Wuille die daarop volgde is een ‘goed’ voorbeeld van de potentiële impact van het gebruik van code van derden.

Mooi, denk je wellicht, dan zijn we van OpenSSL af. Niet helemaal, dit was alleen nog het genereren van nieuwe signatures. OpenSSL werd ook nog gebruikt voor het valideren van signatures, het genereren van willekeurige getallen, de encryptie van private keys en voor een obscuur betaalprotocol (BIP70).

Een kleine vijf jaar later zijn al die features vervangen of verwijderd. Het wachten was op het verwijderen van bovengenoemd betalingsprotocol, dat als doel had om de communicatie tussen koper en verkoper te verbeteren. BIP70 is nooit echt van de grond gekomen, was in Bitcoin 0.19.0 al naar achter de coulissen verplaatst en is nu definitief verwijderd.

Dat brengt ons bij het einde van OpenSSL in Bitcoin. Het heeft jarenlang een cruciale rol vervuld en is tegelijkertijd een pain in the ass geweest. Een afgesloten tijdperk en Bitcoins attack surface verkleind. Mooi!

Iedereen heeft een mening

Onder de noemer Opinie schrijven we regelmatig over een spraakmakende podcast, video of tweetstorm. We zijn het niet noodzakelijkerwijs eens met de spreker of schrijver, maar vinden het interessant genoeg om te delen, duiden en ondertitelen.

Over de auteur

Peter Slagter

Peter Slagter

Hoofdredacteur en medeoprichter van LekkerCryptisch. Voorliefde voor techniek en economie, met in het bijzonder de overlap tussen die twee. Vind het leuk om complexe onderwerpen toegankelijk te maken voor een breed publiek.