Om sikkerheden ved Boobas musikvideo og NFT'er | Hovedbog

Om sikkerheden ved Boobas musikvideo og NFT'er | Hovedbog

Kildeknude: 2657383

Den 3. november 2021, Booba (den franske rapper, der skabte etiketten La Piraterie musik) sæt et sæt af 5 NFT'er op til salg, for i alt 5000 af hvert af disse animerede kort. Hele disse NFT'er blev solgt på få dage for 150 ETH (0.006 ETH hver), hvilket er mere end $700.000 på denne dato. Som en bonus fik heldige ejere af en af ​​disse NFT'er lov til at se den eksklusive musikvideo TN eftersom 8 November 2021.

Les rappers m'envient, sont tous en galère.
Boulbi, Ouest Side

Vi var lidt nysgerrige og spekulerede på, hvordan musikvideoen var beskyttet, og om vi kunne nyde den, selvom vi ikke købte nogen NFT'er.

Hvordan fungerer musikvideobeskyttelsen?

For at se videoen skal ejere af NFT'erne besøge siden /man-nft og bruge deres kryptopung (såsom Metamask eller WalletConnect) til at underskrive Ethereum-meddelelsen "Pour accéder à TN, merci de bien vouloir signer ce message" med den samme pung end den, der blev brugt til at købe NFT'erne. Når den er underskrevet, sendes en POST-anmodning med et JSON-legeme efter dette format af webbrowseren til en web service hostet på AWS:

Et par test viser, at meddelelser, der er forskellige fra standardmeddelelsen, ikke afvises, så længe de er JSON-kodede. For eksempel: [1337] , "blah" betragtes som gyldige, men meddelelser, der ikke er i JSON, udløser en internal error det samme.

Hvis signaturen knyttet til Ethereum-adressen (wallet) og message er gyldige, bekræfter serveren, at tegnebogen faktisk har købt en af ​​NFT'erne, ellers fejlen Tu ne possèdes aucun des NFTs er returneret. Dette sidste trin tager lidt mere tid, hvilket lader os formulere følgende hypotese. Hvis vi finder en offentlig nøgle på internettet, der opfylder disse 2 betingelser:

  • Den offentlige nøgle signerede en JSON-meddelelse, og den tilknyttede signatur er offentlig;
  • Pungen købte mindst en af ​​NFT'erne.

det kan være muligt at afspille beskeden og signaturen på AWS-serveren for at hente musikvideoen.

 BOOBA TN NFT er også et ERC-20 token (B2O_TN) præget af den smarte kontrakt 0x3b73…94dd. Vi startede først med at liste alle NFT-ejere takket være etherscan.io. I skrivende stund var der 3484 ejere af mindst 1 af disse NFT'er. 1516 tegnebøger ejer mere end en af ​​de samme NFT, sandsynligvis for at videresælge en af ​​disse senere.

Un jour de mon salaire c'est leur assurance vie.
Boulbi, Ouest Side

1. forsøg – etherscan.io

Ethereum-meddelelser kodes ved hjælp af personal_sign format ("x19Ethereum Signed Message:n" + length(message) + message), før de bliver underskrevet med ECDSA. Da Ethereum-transaktioner er kodet til et andet format (RLP), kan transaktionssignaturer ikke genkendes som gyldige meddelelsessignaturer. Sagt anderledes, beskedsignaturer kan ikke findes på Ethereum blockchain.

Det første sted, hvor vi fandt Ethereum-meddelelser uden for kæden, er etherscan.io, som giver en webgrænseflade til verificere en Ethereum-meddelelsessignatur og til sidst gemme den for at gøre den tilgængelig via en offentlig URL. Vi hentede først alle Ethereum-beskeder gemt gennem denne tjeneste: etherscan.io/verifiedSignatures.

For eksempel verifySig/2642 viser, at NFT-ejeren af Kedelig abe #6743 bevist, at han også er ejeren af ​​Twitter-kontoen abe6743:

Han er også ejer af NFT'erne Booba TN som vist i denne transaktion. Men selvom signaturen er gyldig, er meddelelsen ikke JSON-formateret og kan ikke genkendes af AWS-serveren.

Tu n'peux que gagner quand t'as rien à perdre.
Magnifique, Trone

2. forsøg – snapshot.org

hjemmesiden snapshot.org giver enkeltpersoner mulighed for at stemme for forslag ved at bruge deres Ethereum-pung: Snapshot er en gasfri multi-governance-klient uden for kæden med resultater, der er lette at verificere og svære at bestride. Stemmer er tilfældigt i JSON-format.

GraphQL interface kan bruges til at forespørge i stemmedatabasen. For eksempel returnerer følgende minimale GraphQL-anmodning stemme-id'er, hvor vælgeradressen er 0x668248dF4595e09Aa253B31478312748078F7a20:

Forespørgselsresultatet viser, at denne adresse er blevet brugt til 2 stemmer:

Stemmerne underskrevet af hver tegnebog, der ejer Booba TN NFT'er, kan hentes i sin helhed med en enkelt GraphQL-anmodning. Der er 689 resultater for 140 unikke vælgere.

Adressen 0x668248dF4595e09Aa253B31478312748078F7a20 købte 5 Booba TN NFT'er. Som tidligere vist stemte denne adresse også for følgende forslag:

De tilknyttede stemmer gemmes på InterPlanetary File System (IPFS): QmZL5toFBQrPgNDPTpQCukWtcjWeT5x6nou75wMMTm52zM , QmQLSv36j3GLdRjubqpXjpAgwYG77Mop5T9uLCi73r1SUT. Indholdet af den første afstemning er:

video skærmbillede

Bemærk venligst, at URL'en udløber efter et stykke tid og ikke længere er gyldig.

Konklusion

Dette blogindlæg viser, at selvom kryptografien, der driver denne NFT-begivenhed, er sund, er det en grundlæggende replay angreb var tilstrækkeligt til at bryde musikvideobeskyttelsen. Rettelsen er enkel: Beskeden sendt til AWS-serveren skal afvises, hvis den ikke stemmer overens med meddelelsen sendt til kryptopungen.

La piraterie n'est jamais finie!
Walabok, Nero Nemesis

Når de først blev kontaktet (at finde den rigtige kontakt var faktisk den sværeste del), udviklerne fra RenæssanceNFT var super samarbejdsvillige og lydhøre. Problemet blev løst inden for mindre end en time, og beskyttelsesadgangen kan ikke længere omgås.

Tidsstempel:

Mere fra Ledger