در مورد امنیت موزیک ویدیو و NFT های Booba | دفتر کل

در مورد امنیت موزیک ویدیو و NFT های Booba | دفتر کل

گره منبع: 2657383

3 نوامبر 2021، Booba (رپر فرانسوی که این برچسب را ایجاد کرد موسیقی لا پیراتری) مجموعه ای از 5 NFT قرار دهید برای فروش، در مجموع 5000 عدد از هر یک از این کارت های متحرک. مجموع این NFT ها در چند روز به قیمت 150 ETH (هر کدام 0.006 ETH) فروخته شد که در این تاریخ بیش از 700.000 دلار است. به عنوان یک جایزه، صاحبان خوش شانس یکی از این NFT ها مجاز به دیدن موزیک ویدیوی انحصاری شدند TN از آنجا که 8 نوامبر 2021.

Les rappeurs m'envient، sont tous en galère.
بولبی، اوست ساید

ما کمی کنجکاو بودیم و متعجب بودیم که چگونه از موزیک ویدیو محافظت می شود و آیا می توانیم از آن لذت ببریم حتی اگر هیچ کدام را نخریم. NFT.

محافظت از موزیک ویدیو چگونه کار می کند؟

برای دیدن ویدیو، صاحبان NFT باید از صفحه بازدید کنند /mon-nft و از کیف پول رمزنگاری خود (مانند Metamask یا WalletConnect) برای امضای پیام اتریوم استفاده کنید. "Pour accéder à TN, merci de bien vouloir signer ce message" با همان کیف پولی که برای خرید NFT استفاده می شود. پس از امضا، یک درخواست POST با بدنه JSON که از این قالب پیروی می کند، توسط مرورگر وب به a ارسال می شود سرویس وب میزبانی شده در AWS:

چند آزمایش نشان می‌دهد که پیام‌های متفاوت از پیام‌های پیش‌فرض تا زمانی که با JSON کدگذاری شده باشند، رد نمی‌شوند. برای مثال: [1337] و "blah" معتبر در نظر گرفته می‌شوند، اما پیام‌هایی که در JSON نیستند، یک را راه‌اندازی می‌کنند internal error فورا.

اگر امضای مرتبط با آدرس اتریوم (wallet) و message معتبر هستند، سرور تأیید می کند که کیف پول واقعاً یکی از NFT ها را خریداری کرده است، در غیر این صورت خطا Tu ne possèdes aucun des NFTs برگردانده می شود. این مرحله آخر کمی زمان بیشتری می برد، که اجازه دهید فرضیه زیر را فرموله کنیم. اگر در اینترنت کلید عمومی پیدا کنیم که این دو شرط را داشته باشد:

  • کلید عمومی یک پیام JSON را امضا کرد و امضای مرتبط عمومی است.
  • کیف پول حداقل یکی از NFT ها را خریداری کرد.

ممکن است امکان پخش مجدد پیام و امضا در سرور AWS برای بازیابی موزیک ویدیو وجود داشته باشد.

La BOOBA TN NFT همچنین یک توکن ERC-20 است (B2O_TN) توسط قرارداد هوشمند منعقد شده است 0x3b73…94dd. ما ابتدا با فهرست کردن همه دارندگان NFT به لطف آن شروع کردیم etherscan.io. در زمان نگارش این مقاله، 3484 مالک حداقل 1 مورد از این NFTها وجود داشت. 1516 کیف پول بیش از یکی از همان NFT را در اختیار دارند، احتمالاً بعداً یکی از آنها را دوباره بفروشند.

Un jour de mon salaire c'est leur assurance vie.
بولبی، اوست ساید

اولین تلاش - etherscan.io

پیام‌های اتریوم با استفاده از کدگذاری می‌شوند personal_sign فرمت ("x19Ethereum Signed Message:n" + length(message) + message) قبل از امضا با استفاده از ECDSA. از آنجایی که تراکنش‌های اتریوم با فرمت متفاوتی (RLP) کدگذاری می‌شوند، امضاهای تراکنش را نمی‌توان به عنوان امضای پیام معتبر شناسایی کرد. به عبارت دیگر، امضای پیام را نمی توان در بلاک چین اتریوم یافت.

اولین جایی که پیام‌های اتریوم خارج از زنجیره را پیدا کردیم etherscan.io است که یک رابط وب برای بررسی یک امضای پیام اتریوم و در نهایت آن را ذخیره کنید تا از طریق یک URL عمومی قابل دسترسی باشد. ما ابتدا تمام پیام‌های اتریوم ذخیره شده از طریق این سرویس را بازیابی کردیم: etherscan.io/verifiedSignatures.

برای مثال verifySig/2642 نشان می دهد که مالک NFT از میمون خسته کننده #6743 ثابت کرد که او نیز مالک حساب توییتر است میمون 6743:

او همچنین مالک NFTها است بوبا TN همانطور که در این نشان داده شده است معامله. با این حال، حتی اگر امضا معتبر باشد، پیام JSON فرمت نشده است و توسط سرور AWS قابل شناسایی نیست.

Tu n'peux que gagner quand t'as rien à perdre.
Magnifique، ترون

تلاش دوم – snapshot.org

وب سایت snapshot.org به افراد اجازه می دهد با استفاده از کیف پول اتریوم خود به پیشنهادات رای دهند: اسنپ ​​شات یک مشتری چند حکومتی بدون گاز است که به راحتی قابل بررسی است و نتایج آن دشوار است.. آرا به طور تصادفی در قالب JSON هستند.

GraphQL رابط را می توان برای پرس و جو از پایگاه داده رای استفاده کرد. برای مثال، حداقل درخواست GraphQL زیر، شناسه‌های رأی را در جایی که آدرس رأی‌دهنده است برمی‌گرداند 0x668248dF4595e09Aa253B31478312748078F7a20:

نتیجه پرس و جو نشان می دهد که از این آدرس برای 2 رأی استفاده شده است:

آرای امضا شده توسط هر کیف پولی که دارای Booba TN NFT است را می توان با یک درخواست GraphQL به طور کامل بازیابی کرد. 689 نتیجه برای 140 رای دهنده منحصر به فرد وجود دارد.

آدرس 0x668248dF4595e09Aa253B31478312748078F7a20 خریداری شده 5 دستگاه NFT Booba TN. همانطور که قبلا نشان داده شد، این آدرس همچنین به پیشنهادات زیر رای داد:

آرای مرتبط در سیستم فایل بین سیاره ای (IPFS) ذخیره می شود: QmZL5toFBQrPgNDPTpQCukWtcjWeT5x6nou75wMMTm52zM و QmQLSv36j3GLdRjubqpXjpAgwYG77Mop5T9uLCi73r1SUT. محتوای رای اول:

اسکرین شات ویدیویی

لطفاً توجه داشته باشید که URL پس از مدتی منقضی می‌شود و دیگر معتبر نیست.

نتیجه

این وبلاگ نشان می دهد که حتی اگر رمزنگاری که این رویداد NFT را تامین می کند، سالم باشد، یک نکته اساسی است حمله مجدد برای شکستن محافظ موزیک ویدیو کافی بود. راه حل ساده است: پیام ارسال شده به سرور AWS اگر با پیام ارسال شده به کیف پول رمزنگاری مطابقت نداشته باشد باید رد شود.

La Piraterie n'est Jamais Finie!
والابوک، نرو نمسیس

پس از تماس (پیدا کردن مخاطب مناسب در واقع سخت ترین بخش بود)، توسعه دهندگان از RenaissanceNFT فوق العاده همکاری و پاسخگو بودند. این مشکل در کمتر از یک ساعت برطرف شد و دیگر نمی توان از دسترسی حفاظتی عبور کرد.

تمبر زمان:

بیشتر از دفتر کل