Zephyrnet-logo

Deel 6: Ontstaan ​​van Ledger Recover – Bedreigingsanalyse/evaluatie | Grootboek

Datum:

Welkom terug bij het zesde deel van onze blogserie over Grootboek herstellen's ontstaan! 

In de vorige delen hebben we uitgelegd hoe de entropie van een geheime herstelzin kan zijn opgesplitst in meerdere aandelen (of fragmenten)dan verzonden naar vertrouwde back-upproviders, en tenslotte veilig opgeborgen terwijl altijd het hoogste beveiligingsniveau wordt gehandhaafd.

Meer details:

Genesis of Ledger Recover Deel 1 – “Zelfbeheer zonder compromis,” duikt in alle potentiële uitdagingen bij het bouwen van Ledger Recover, aangeboden door Coincover, en laat ons kennismaken met de kernbeveiligingsfunctie van Ledger Recover, waarbij uw geheime herstelzin in aandelen wordt opgesplitst.

Genesis of Ledger Recover Deel 2 – “Veilig distribueren van de aandelen,” introduceert verschillende cryptografische tools en wiskundige concepten die Ledger Recover gebruikt om uw startaandelen veilig te distribueren naar back-upproviders.

Genesis of Ledger Recover Deel 3 – “Vermijden van collusies en lekken,” behandelt hoe we ervoor zorgen dat de shares veilig worden opgeslagen en hoe we voorkomen dat back-upproviders samenspannen om uw geheime herstelzin te reconstrueren.

Genesis of Ledger Recover Deel 4 – “Toegang tot de back-up controleren: identiteitsverificatie,” bespreekt hoe de service ervoor zorgt dat de persoon die het verzoek indient om zijn geheime herstelzin te delen of te herstellen, inderdaad de rechtmatige eigenaar is.

Genesis of Ledger Recover Deel 5 – 'Operationele beveiliging' gaat dieper in op de manier waarop we maximale veiligheid op operationeel niveau garanderen, inclusief de beveiligingsinfrastructuur, scheiding van taken, governance, monitoring en ten slotte de Incident Response-strategie.

Voor dit deel laten de auteurs je kennismaken Grootboek donjon, Ledger's interne beveiligingsevaluatielaboratorium. The Ledger Donjon bestaat uit een expertteam van wereldklasse met uitgebreide achtergronden in de beveiligings- en smartcard-industrie. De belangrijkste functies zijn interne en externe veiligheidsbeoordeling. Ze werken nauw samen met de Firmware-ontwikkelings- en hardwareteams van Ledger om de beveiliging van Ledger-producten te analyseren en te verbeteren.

Het team is voortdurend op zoek naar kwetsbaarheden in Ledger-producten en in de producten van de leveranciers van Ledger.

Dit laatste artikel onderzoekt de beveiligingsuitdagingen die de Ledger Donjon heeft geïdentificeerd bij het bouwen van een Seed Recovery-service, en hoe regelmatige interne en externe beveiligingsaudits worden uitgevoerd om de maximale veiligheid voor gebruikers te garanderen.

Adviseren over protocolspecificaties

Bescherming van de zaadzin en het aandeel
Zorgen voor toestemming van gebruikers voor zaadgerelateerde acties

Het doel van een hardware wallet is om uw sleutels te beschermen: de privésleutels van de ingebedde applicatie of de masterseed zelf. Er mag geen toegang worden verkregen tot de sleutels van de gebruiker als de gebruiker er geen toegang toe heeft verleend. Telkens wanneer een gebruiker besluit om met de sleutels te communiceren, bijvoorbeeld door een transactie te ondertekenen, wordt er een pinverzoek gedaan en kan de actie alleen worden uitgevoerd als de gebruiker zijn pincode invoert na het valideren van de transactie op het vertrouwde scherm van het apparaat.

Dit mechanisme wordt gegarandeerd door ons aangepaste besturingssysteem, genaamd BOLOS, loopt bovenop de Beveiligd element. Het Secure Element voorkomt ongewenste toegang tot uw portemonnee door deze te beschermen tegen de meeste aanvalsscenario's, terwijl u nog steeds legitieme toegang tot uw zaad- of privésleutels mogelijk maakt. Het gecombineerde werk van het Secure Element en het aangepaste besturingssysteem maakt het mogelijk om de toestemming van de gebruiker te garanderen wanneer een gebruiker toegang probeert te krijgen tot zijn geheimen.

Het toestemmingsmechanisme voor gebruikers veranderde niet voor Ledger Recover en de creatie van de drie Secret Recovery Phrase-shares: het besturingssysteem vereist toestemming van de gebruiker omdat deze interactie met het zaad nodig heeft. Vanuit apparaatoogpunt lijkt de Ledger Recover-opt-in op interactie met slimme contracten of het ondertekenen van transacties. En als u geen toegang verleent tot het zaad, is het maken van aandelen onmogelijk. Bovendien staat Ledger Recover alleen het exporteren van aandelen toe, niet het zaad zelf, en alleen op volledig gecodeerde beveiligde kanalen, zoals beschreven in de vorige blogposts.  

Zaadtoegang beveiligen: ongeoorloofde toegang voorkomen

Dankzij het duo aangepaste besturingssysteem en Secure Element kunt u ook aangepaste applicaties op uw Ledger-apparaten hebben zonder de veiligheid in gevaar te brengen. Zoals herinnerd door de Donjon toen praten over het dreigingsmodel voor de vertrouwelijkheid van de Seed- en Private Keys.

De applicaties op het toestel hebben dus nooit toegang tot jouw zaad. Ze kunnen alleen communiceren met privésleutels die aan elke applicatie zijn toegewezen en die door BOLOS uit de Seed worden gegenereerd, zonder de mogelijkheid om ze te extraheren. Ledger Recover is ontworpen als een functie die rechtstreeks in BOLOS is geïntegreerd en niet als een externe app om de geldigheid van het bedreigingsmodel te behouden:

  • Geen mogelijkheid voor Applicaties om te interacteren met het zaad, met alle risico's van dien
  • Handhaaf het huidige applicatie-isolatiemechanisme (zie de Ledger Nano X-beveiligingsdoel, sectie 7.5 Beveiligingsfunctie #5: App-isolatie).
Garandeer de vertrouwelijkheid van gebruikerszaad

Een ander cruciaal punt voor de beveiliging van Ledger-apparaten is de interactie met de zaad- of privésleutels zonder enige informatie daarover te lekken.

Net als bij andere cryptografische bewerkingen op het zaad worden aandelen binnen het Secure Element gegenereerd, waardoor we over beveiligingsmechanismen beschikken die voorkomen dat externe aanvallers informatie over het zaad verkrijgen. Bovendien, zoals te zien is in de eerste deel, maakt het gekozen cryptografische protocol het creëren van aandelen mogelijk die op zichzelf geen informatie geven over het oorspronkelijke zaad.

Communiceer de aandelen veilig

De shares moeten ook worden beschermd tijdens de communicatie tussen het Secure Element op het apparaat en de HSM (Hardware Security Module). 

De communicatiekanalen garanderen alle eigenschappen van een veilig kanaal: vertrouwelijkheid, integriteit en authenticiteit. Dit gebeurt met behulp van een Beveiligd kanaal al geïntegreerd in Ledger-apparaten en HSM's via het mechanisme van Attestation: 

  • De vertrouwelijkheid wordt gewaarborgd door kortstondige sleutelparen op het apparaat en de HSM te genereren en daarmee berichten te versleutelen. De cryptografische protocollen garanderen de integriteit van berichten.
  • De authenticatie gebeurt via attesten en een vertrouwensketen die garandeert dat de communicatie plaatsvindt tussen een echt Ledger-apparaat en een echte Ledger HSM. Niemand kan ze nabootsen.

De shares worden ook doorgestuurd naar de databases van de back-upproviders en er moet aan dezelfde vereisten worden voldaan. Om de versleuteling van de aandelen te garanderen, maken we gebruik van het versleutelingsmechanisme van de HSM. Op deze manier kan alleen een echte Ledger Recover HSM de shares ontsleutelen. Het betekent ook dat zelfs als iemand erin slaagt de aandelendatabases te stelen, hij geen informatie over de aandelen zal hebben.

Deze eerste vereisten stellen ons in staat ervoor te zorgen dat de aandelen alleen via een echt Ledger-apparaat naar een echte Ledger Recover HSM worden getransporteerd, waarbij niemand tussen deze twee elementen het aandeel kan ophalen. 

Wat betreft de identiteit van de gebruiker

Het andere cruciale bezit van Ledger Recover is de identiteitsinformatie van de gebruiker. We moeten gebruikers ook beschermen tegen datalekken. Dit is de reden waarom we tijdens beoordelingen hebben geverifieerd dat: 

  • De communicatie van de identiteit van de IDV naar de opslag moet gecodeerd zijn en vertrouwelijkheid en integriteit bieden. 
  • De database voor langetermijnopslag moet een sterk versleutelingsmechanisme hebben dat gebruik maakt van een HSM, op ​​dezelfde manier waarop de shares worden opgeslagen. 

Bij alle beveiligingsbeoordelingen is rekening gehouden met externe aanvallers en interne malafide medewerkers. Bij de beveiligingsvereisten moet rekening worden gehouden met het geval waarin een insider aandelen probeert te stelen om uiteindelijk gebruikersgelden te stelen. Dit is de reden waarom al het beveiligingsgedrag in beveiligde componenten wordt geplaatst, zoals HSM's en nano-apparaten.   

security Analysis

Er worden continu beveiligingsanalyses uitgevoerd voor Ledger-componenten. De analyses worden op twee verschillende manieren uitgevoerd: interne veiligheidsbeoordelingen en externe pentests. In de volgende secties wordt gedetailleerd beschreven wat ze zijn en waarom er twee verschillende soorten analyses nodig zijn.

Interne veiligheidsbeoordelingen

Omdat beveiliging bij Ledger geen optie is, is er een toegewijd in-house team samengesteld: de Ledger Donjon (Het grootboek Donjon, Ga de Donjon binnen). (https://donjon.ledger.com/threat-model/). De primaire missie is het verbeteren van de veiligheid van Ledger-producten. Om dit te bereiken beschikt de Donjon over technische vaardigheden waarmee ze kunnen presteren: 

  • rigoureuze software- en hardware-aanvallen
  • codebeveiligingsaudits
  • beoordelingen van architectuurbeveiliging
  • statische analyse
  • valideren dat producten bestand zijn tegen het dreigingsmodel 

Om concrete voorbeelden te geven van wat het team doet:

  • Beoordeling van codebeveiliging:
    • Nano-firmware-updates worden veilig geanalyseerd voordat ze kunnen worden gedownload op Ledger Live
    • Aanvragen worden beoordeeld voordat ze beschikbaar worden gemaakt in Ledger Live
  • Architectuurbeveiligingsbeoordeling:
    • De productarchitectuur en componenten worden beoordeeld om het beveiligingsniveau van onze producten te behouden
  • Hardware-aanvallen:
  • Codeondertekening:
    • Het proces voor het vrijgeven van updates wordt ook beschermd door de handtekening te vereisen van verschillende mensen met verschillende belangen in het bedrijf
Externe pentesten

Omdat transparantie echter een van onze kernwaarden is, willen wij bij Ledger ook uitgedaagd worden door onze gemeenschap. Dat is waar pentests, ook wel beveiligingsevaluaties genoemd, een rol gaan spelen.

Met deze pentests kunnen we aan klanten – zowel particulieren als bedrijven – het beveiligingsniveau van producten of diensten, zoals onze Ledger Nano-lijn of Ledger Recover, aantonen. Door deze evaluaties te ondergaan, onderwerpen we dergelijke producten, diensten, software en kennis aan tests door een onafhankelijk extern beveiligingslaboratorium met zeer geavanceerde apparatuur en expertise. Als resultaat van de evaluaties heeft Ledger CSPN-certificaten ontvangen voor de Nano S en Nano X door ANSSI.

Pentestlaboratorium

De pentesten worden niet door een willekeurig laboratorium uitgevoerd. We besloten om mee te gaan met de degenen met een vergunning by ANSSI, het Franse Cybersecurity Agentschap, bekend om zijn nauwgezette werk op het gebied van cyberbeveiliging.

Onze beslissing leidde ertoe dat we aan boord gingen Synactief voor deze cruciale reis. Synacktiv, afkomstig uit Parijs, is een offensief beveiligingslaboratorium dat erkend wordt vanwege de kwaliteit van hun werk en hun bevindingen. Gezien onze uiterste wens om eventuele tekortkomingen, kwetsbaarheden of bugs in Ledger Recover aan het licht te brengen, hebben we kosten noch moeite gespaard om ervoor te zorgen dat ze in de juiste positie waren voor succes door ze alle middelen en ondersteuning te bieden die ze nodig hadden:

  • alle documentatie (architectuur, cryptografische specificaties, sequentiediagrammen)
  • white-box-methodologie (toegang tot de broncode)
  • monsters (Nano X)
  • toegang tot Ledger Recover-interfaces (zelfs degene die niet zichtbaar zijn voor de eindgebruiker)
  • toegang tot Ledger-personeel (architecten, ontwikkelaars, beveiligingsexperts)
  • 80 mandagen om hun beoordeling uit te voeren

Resultaat van de beveiligingsanalyse

De uitkomst was meer dan positief voor Ledger. Ondanks al het harde werk en de tijd die we hebben gestoken in het ontwikkelen en beoordelen van Ledger Recover, werden er nog steeds bugs en kwetsbaarheden gevonden door Synacktiv, wat leidde tot refactoring en architectuurveranderingen in de code, het toevoegen van extra beveiligingslagen en het versterken van wat al aanwezig was. En natuurlijk voerde de Ledger Donjon een Internal Security Review uit.

Omdat we er vast van overtuigd zijn dat “de duivel in de details zit”, zijn we vastbesloten om op dat pad verder te gaan en regelmatig pentests uit te voeren op Ledger Recover.

We zullen bijvoorbeeld enkele resultaten van de verschillende audits en de geplande mitigatie gedetailleerd beschrijven.

Man In the Middle-aanvallen

Ledger Recover is ontworpen om te profiteren van de beveiliging die is ingebouwd in onze apparaten en HSM's. Maar zelfs met een dergelijke beveiliging moeten we ervoor zorgen dat gebruikers niet voor de gek gehouden of gemanipuleerd kunnen worden om acties uit te voeren die hun zaad in gevaar zouden brengen en hen daarom maximale veiligheid garanderen.

Tijdens een van de beoordelingen merkten we dat het herstelproces kwetsbaar was voor social engineering-aanvallen. Het was afhankelijk van een vereiste: vooraf een frauduleuze Ledger Live op de computer van de gebruiker hebben geïnstalleerd. Het idee was het volgende:

  • Met behulp van het frauduleuze Ledger Live wacht de aanvaller tot de gebruiker een identiteitsverificatie start.
  • Zodra dit laatste is geïnitieerd, start de aanvaller ook een identiteitsverificatie.
  • Terwijl hij de bedrieglijke Ledger Live bestuurt, kan de aanvaller de sessies omschakelen, waardoor de gebruiker naar een verkeerde sessie gaat en de aanvaller de echte sessie van de gebruiker steelt.
  • Uiteindelijk had de aanvaller het zaad van de gebruiker kunnen achterhalen.

Deze aanval kan worden uitgevoerd via social engineering, bijvoorbeeld door de gebruiker te manipuleren om een ​​identiteitsverificatie uit te voeren. Om dit probleem op te lossen, hebben we besloten twee actielijnen te hanteren: ten eerste hebben we, net als bij alle andere producten, besloten om gebruikersdocumentatie aan te bieden, zodat gebruikers het juiste proces kunnen volgen en zich tijdens sommige acties niet voor de gek kunnen houden. De tweede actie die we hebben ingevoerd is een technische maatregel: voorkomen dat één account twee herstelbewerkingen vanuit hetzelfde zaad start.

Interne bedreigingen

Andere uitkomsten van de veiligheidsbeoordelingen gingen over de potentiële interne dreigingen. Dit veiligheidsoogpunt was al aanwezig in de oorspronkelijke architectuur met het idee om drie bedrijven te hebben om de verschillende delen van het zaad op te slaan en te voorkomen dat een slechte acteur elementen zou stelen. Maar aanvankelijk werd de mitigatie op een hoog niveau ontworpen door de scheiding van kennis. Uit de beveiligingsbeoordelingen bleek enige zwakte, wat leidde tot aanvullende maatregelen.

We hebben bijvoorbeeld de diversificatie van backup_id ontwikkeld. Oorspronkelijk was de backup_id hetzelfde in de drie databases, zodat de Ledger Recover-service eenvoudig kon achterhalen welk deel van de share op de eerste backupprovider was gekoppeld aan die op de tweede backupprovider. Vervolgens hebben we besloten om de backup_id zo te diversifiëren dat als mensen van twee bedrijven besluiten samen te werken, het moeilijk zal zijn om te weten welk aandeel aan een ander aandeel is gekoppeld.

Een ander geval was de database waarin de identiteitsinformatie van de gebruiker wordt opgeslagen. In eerste instantie was het gecodeerd met een eenvoudige codering. Om te voorkomen dat een interne aanvaller de sleutel kan achterhalen, hebben we besloten om HSM-encryptie te gebruiken, zodat niemand de sleutel kan achterhalen. Zelfs als we verschillende infrastructuurverhardingen toevoegen (zie Deel 5 ). 

Volgende stappen

Dit laatste hoofdstuk laat zien dat onze producten zijn gebouwd door prioriteit te geven aan de veiligheid van onze gebruikers. Daarom zijn er al verschillende acties gepland voor de toekomst van Ledger Recover: de beveiliging zal regelmatig worden geanalyseerd, hetzij door ons interne team, hetzij door externe beveiligingsactoren.

Onze apparaten worden ook herhaaldelijk gecontroleerd en beoordeeld om er zeker van te zijn dat het aangepaste besturingssysteem en Secure Element de veiligheid van de gebruikersgeheimen garanderen. Dit proces eindigt nooit en zal gedurende de hele levensduur van Ledger Recover as a service doorgaan.

Last but not least maakt Ledger Recover deel uit van ons gave programma en de broncode met daarin de implementatie van Ledger Recover is bovendien openbaar en kan door iedereen worden ingezien.

Nogmaals bedankt dat je bij ons bent gebleven tijdens deze reis van het onthullen van wat zich achter de schermen van Ledger Recover afspeelt. En ik hoop je te zien op de dag van de officiële lancering!

spot_img

Laatste intelligentie

spot_img