چیزهایی که باید بدانید: |
- تولید Seed Trust Wallet ناقص بود، کل آنتروپی فقط 32 بیت بود. ما یک فایل حاوی تمام دانه های ممکن ایجاد کرده ایم.
– خوشبختانه، Ledger Donjon خیلی سریع این آسیبپذیری را کشف کرد و احتمالاً از یکی از بزرگترین هکها در اکوسیستم کریپتو جلوگیری کرد. |
در 14 نوامبر 2022، Trust Wallet، یک کیف پول نرم افزاری پرکاربرد، انتشار افزونه مرورگر خود را اعلام کرد. این امکان دسترسی مستقیم به داراییهای دیجیتال در چندین بلاک چین را به طور مستقیم از مرورگر فراهم میکند و یک افزونه مورد انتظار برای برنامههای iOS و Android موجود است.
Ledger Donjon اخیراً یک آسیبپذیری مهم را در این افزونه مرورگر کشف کرده است که به مهاجم اجازه میدهد تمام داراییهای هر کیف پولی را که با این افزونه ایجاد شده است، بدون هیچ گونه تعاملی با کاربر بدزدد. با دانستن آدرس یک حساب، می توان بلافاصله کلید خصوصی آن را محاسبه کرد و سپس به تمام وجوه آن دسترسی داشت. در زیر جزئیاتی از آسیبپذیری، نحوه کشف آن توسط Ledger Donjon، تأثیر آن در طول زمان، برآورد داراییهای آسیبپذیر و نحوه واکنش Trust Wallet برای رفع آن آورده شده است. اما بیایید با یادآوری اصول اولیه شروع کنیم.
کیف پول چگونه ایجاد می شود
تولید آنتروپی مشکل است. ما به عنوان دانشمندان، تکرارپذیری و توانایی توضیح پدیده ها را با اصول علت و معلولی دوست داریم. بنابراین، به طور کلی، ایجاد تصادفی سخت است. علاوه بر این، نشان دادن درستی اعداد تصادفی دشوار است، و یک مولد اعداد تصادفی بد اما بدون نقص نهایی میتواند به راحتی ناظر را فریب دهد. برای تصادفی خوب، به توزیع یکنواخت بیت ها و بایت ها (و حتی اندازه تمام تکه ها) و غیرقابل پیش بینی نیاز داریم. برای ناظر یک دنباله، داشتن هیچ اطلاعاتی در مورد قسمت بعدی دنباله ای که باید تولید شود غیرممکن باشد.
از آنجایی که دستیابی به این ویژگیها فوقالعاده دشوار است، فضای ارزهای دیجیتال سعی میکند تا حد امکان از تکیه بر تصادفی بودن اجتناب کند – اما ما هنوز در یک مرحله به آن نیاز داریم: زمانی که یک کیف پول جدید ایجاد میکنیم.
احتمالاً از قبل با یادگاری خود آشنا هستید، 12 تا 24 کلمه انگلیسی که به شما امکان می دهد از کیف پول خود نسخه پشتیبان تهیه کنید (اگر نه، می توانید بررسی کنید آکادمی لجر مقاله در همین موضوع).
این یادداشت 16 تا 32 بایت آنتروپی را کد می کند استاندارد BIP 39 - کیفیت این آنتروپی بسیار مهم است، زیرا به دنبال یک فرآیند مشتق قطعی که توسط BIP 32 و BIP 44 استانداردها
این طرح قطعی سلسله مراتبی امروزه تقریباً در همه جا وجود دارد، با توجه به اینکه ایجاد پشتیبان از تعداد بی نهایت کلید و قابلیت حمل آن برای کاربران آسان می شود (علیرغم اینکه BIP 39 "به اتفاق آرا برای پیاده سازی دلسرد شده است"). رومینگ Signer یک ویژگی قدرتمند است – زمانی که کیف پول مورد علاقهتان از کار میافتد یا ناامید میشود، میتوانید یادداشت خود (یا حتی بهتر از آن، دستگاه Ledger) خود را با خود ببرید، به یکی دیگر بروید، آزادی مالی خود را حفظ کنید و هرگونه تأثیر خرابی آن را محدود کنید.
اما باز هم به یک منبع آنتروپی بی عیب و نقص نیاز دارد.
بررسی اجمالی آسیب پذیری
Trust Wallet متکی است به هسته کیف پول اعتماد کنید، یک کتابخانه بین پلتفرمی است که عملکرد کیف پول رمزنگاری سطح پایین را برای بسیاری از بلاک چین ها پیاده سازی می کند. متمرکز بر موبایل بود، اما Wasm را نیز از آوریل 2022 هدف قرار داده است (نگاه کنید به #2132).
در حالی که بیشتر Trust Wallet Core قابل حمل است، چند ماژول و عملکرد برای یک هدف بسیار خاص هستند. این مورد به ویژه در مورد بخش تولید تصادفی امن است که برای ایجاد مواد رمزنگاری مانند کلیدهای خصوصی و یادداشت برای کیف پول های HD استفاده می شود. هر پیاده سازی از مولد اعداد شبه تصادفی (PRNG) ارائه شده توسط سیستم عامل استفاده می کند:
- برای iOS،
SecRandomCopyBytes
استفاده می شود. - برای اندروید، آنتروپی توسط یک نمونه از ارائه می شود
java.security.SecureRandom
.
این معمولاً یک عمل خوب است، زیرا چنین اولیهای قرار است ایمن باشند.
باطن Wasm
با هدف Wasm تفاوت وجود دارد. این ماژول می تواند در چندین محیط اجرا شود، مانند هر مرورگری که Wasm یا Node.js را پشتیبانی می کند. این پلتفرمها یک PRNG قوی مشترک را ارائه نمیکنند و نمیتوان از این محیطها به رابطهای سیستم «کلاسیک» دسترسی پیدا کرد. برای مثال، یک ماژول Wasm که در Chrome برای لینوکس اجرا میشود، نمیتواند مستقیماً بخواند /dev/urandom
.
برای مقابله با این، یک به اصطلاح "مولد تصادفی امن" اختصاصی در #2240. این بر اساس روابط عمومی ساخته شده در emscripten است (به PR مراجعه کنید #12240 in emscripten) دقیقاً برای جلوگیری از خواندن نوشته شده است /dev/urandom
.
طبق گفته ی نویسنده:
کاری که ما اینجا انجام می دهیم ساده است، می پیچیم std::random_device
با std::mt19937
و یک مقدار تصادفی uint32، با الهام از emscripten-core/emscripten#12240.
یک مشکل مهم در اینجا وجود دارد که منجر به آسیبپذیری حیاتی برای Wallet-core برای Wasm و برای هر محصولی میشود که به آن متکی است: PRNG مورد استفاده Mersenne Twister است و نباید برای اهداف رمزنگاری استفاده شود. علاوه بر این، نسخه تخصصی mt19937 یک مقدار 32 بیتی را به عنوان دانه ورودی می گیرد.
عواقب اینجا چیست؟ ماژول تصادفی سفارشی برای Wasm دو عملکرد را پیاده سازی می کند: random32
که یک مقدار تصادفی 32 بیتی را خروجی می دهد و random_buffer
که یک بافر با اندازه دلخواه را با داده های تصادفی پر می کند. در پروژه Wallet Core، این توابع به طور انحصاری توسط trezor-crypto، کتابخانه رمزنگاری توسعه یافته توسط Trezor برای اطمینان از رمزنگاری ایمن در کیف پول های سخت افزاری خود، استفاده می شود.
حال، بیایید ببینیم که چگونه کیف پول های HD تولید می شوند:
- نقطه ورودی HDWallet است. این یک قدرت و یک عبارت عبور می خواهد تا بعداً از آن محافظت شود:
https://github.com/trustwallet/wallet-core/blob/3.1.0/src/HDWallet.cpp#L45
این تابع سپس فراخوانی می کند mnemonic_generate
برای ایجاد یک یادگاری BIP-39:
https://github.com/trustwallet/wallet-core/blob/3.1.0/trezor-crypto/crypto/bip39.c#L55
mnemonic_generate
تماس random_buffer
، که یک بافر تصادفی پر شده با استفاده از یک پیچنده مرسن PRNG، که نمونه آن به تازگی تخمین زده شده است، خروجی می دهد:
https://github.com/trustwallet/wallet-core/blob/3.1.0/wasm/src/Random.cpp#L19
از آنجایی که seed فقط 32 بیت است، نسخه Wasm از Wallet-core اجازه می دهد تا تنها 2^32 (~4 میلیارد) یادگاری ممکن ایجاد کنید. همه این یادگاری ها را می توان در چند ساعت در یک کامپیوتر تولید کرد.
از آنجا، یک مهاجم قادر است:
- تمام دانهها، کلیدهای خصوصی و سپس آدرسهای هر ارز دیجیتالی که توسط Trust Wallet مدیریت میشود را محاسبه کنید.
- بلاک چین های مرتبط را اسکن کنید تا تمام آدرس های استفاده شده را استخراج کنید.
- تقاطع را محاسبه کنید تا تمام آدرس کیف پول های ایجاد شده توسط Trust Wallet برای Wasm را بدست آورید و وجوه آنها را بدزدید.
اجرای چنین حمله ای بیش از چند ساعت طول می کشد، اما با چند GPU در کمتر از یک روز قابل انجام است (نگاه کنید به medium.com/@johncantrell97/how-i-checked-over-1-trillion-mnemonics-in-30-hours-to-win-a-bitcoin برای برآورد هزینه حمله در اینجا 256 برابر ساده تر است).
برنامه افزودنی مرورگر Trust Wallet
La افزونه مرورگر Wallet اعتماد کنید یک افزونه برای مرورگرهای مبتنی بر Chromium است. این به وضوح یک رقیب MetaMask است و به عنوان یک کیف پول رمزنگاری چند زنجیره ای امن و دروازه به هزاران برنامه غیرمتمرکز Web3 (dApps) نامگذاری شده است.
پسوند منبع بسته است، اما کد آن به راحتی قابل تجزیه و تحلیل است. این به پیاده سازی آسیب پذیر Wasm Trust Wallet Core متکی است.
هنگامی که یک کیف پول ایجاد می شود، افزونه یک یادگاری 12 کلمه ای از یک دانه تصادفی 128 بیتی ایجاد می کند. Mnemonic به این ترتیب تولید می شود:
HDWallet.create
پوشش خودکار Wasm برای سازنده HDWallet است که در بالا توضیح داده شد. یعنی افراد آسیب پذیر random_buffer
تابع استفاده می شود، بنابراین می توان یادداشت ها را از آدرس کاربر با یک حمله brute force بازیابی کرد.
این برنامه افزودنی دارایی های زیر را مدیریت می کند: AVAX، BNB، ETH، MATIC، SOL و TWT.
- آدرس ها برای ETH، BNB، MATIC، AVAX و TWT یکسان هستند. این آدرسهای استاندارد اتریوم هستند که مسیر مشتقگیری یکسانی دارند (m/44'/60'/0'/0/0).
- سولانا از مسیر اشتقاق متفاوتی استفاده می کند: m/44'/501'/0'/0'.
برای تخلیه وجوه همه کاربران افزونه Trust Wallet، مهاجم میتواند:
- هر یادگاری ممکن، سپس کلید خصوصی اتریوم و آدرس اتریوم را که می تواند توسط این افزونه تولید شود، محاسبه و ذخیره کنید.
- تمام آدرسهای اتریوم مورد استفاده را که از اولین انتشار افزونه مرورگر Trust Wallet ایجاد شدهاند، جمعآوری کنید و آنها را به صورت محلی ذخیره کنید.
- یک جستجو در پایگاه داده آدرس انجام دهید.
- در صورت استفاده از آدرس، کیف پول را با کلید خصوصی خالی کنید.
این مراحل را می توان برای هر زنجیره بازتولید کرد. اکنون به جزئیات می پردازیم که چگونه Ledger Donjon این حمله را روی زنجیره هوشمند اتریوم و بایننس اجرا کرد، البته بدون تخلیه کیف پول.
حمله به کیف پول اعتماد
این آسیبپذیری به مهاجم اجازه میدهد تا یادداشت را از هر آدرس کیف پول ایجاد شده توسط افزونه مرورگر محاسبه کند. برای آن، باید یک نقشه برداری بین حافظه های ممکن و آدرس حاصل محاسبه شود.
ایجاد تمام آدرسهایی که افزونه Trust Wallet میتواند ایجاد کند
بر اساس آسیبپذیری موجود در PRNG که قبلاً توضیح داده شد، میتوان تمام آدرسها (و کلیدهای خصوصی مرتبط) را که افزونه Trust Wallet میتواند ایجاد کند، برشمرد. ایده من این بود که هر آدرس ممکن را در یک میز بزرگ ذخیره کنم. سپس، از فهرستی از آدرسهای استخراجشده از بلاکچین اتریوم، میتوان بررسی کرد که آیا برخی از آدرسها در این جدول وجود دارند یا خیر. اگر چنین است، کلید خصوصی آن قابل محاسبه است.
اشتقاق از آنتروپی به یادگاری و سپس به آدرس اتریوم از مکانیسم اشتقاق استاندارد استفاده می کند BIP-32, BIP-39، و BIP-44 سلسله مراتب حساب
اولین مشکل این بود که همه این آدرس ها را برشمارم. تبدیل از دانه PRNG به آدرس دهی به مراحل زیر نیاز دارد:
- تولید آنتروپی: Mersenne Twister را با دانه مقداردهی کنید و 16 بار آن را صدا بزنید تا آنتروپی اولیه جمع شود.
- آنتروپی به یادگاری: یک SHA-256 برای محاسبه جمع نهایی که در کلمه آخر تعبیه شده است.
- یادگاری به دانه: mnemonic با استفاده از PKBDF512-HMAC-SHA2 با 512 تکرار به دانه 2048 بیتی تبدیل می شوند. 2 محاسبات SHA-512 در هر تکرار وجود دارد، بنابراین هزینه کل 4096 محاسبات SHA-512 است.
- Seed to BIP-32 Master key: 1 HMAC SHA-512 با هزینه 2 محاسبات SHA-512.
- کلید اصلی کلید خصوصی اتریوم: کلید اصلی در m/44'/60'/0'/0/0 مشتق شده است. این نیاز به 3 مشتقات کلید خصوصی فرزند سخت شده و 2 مشتقات کلید کودک عادی دارد.
- هر مشتق کلید خصوصی فرزند سخت شده به یک محاسبه HMAC SHA-512 (2 SHA-512) و یک عدد اضافه در secp256k1 نیاز دارد.
- هر مشتق کلید خصوصی کودک عادی به یک مشتق کلید خصوصی فرزند و یک ضرب اسکالر در secp256k1 برای تبدیل کلید خصوصی ارائه شده در ورودی به یک کلید عمومی نیاز دارد.
- کلید خصوصی اتریوم برای آدرس دادن: این مرحله آخر نیاز به تبدیل کلید خصوصی به عمومی دارد، بنابراین یک ضرب اسکالر دیگر و یک هش Keccak-256.
در این صورت هزینه کل برای همه این مراحل عبارت است از:
- مقدار دهی اولیه و 16 تماس با Mersenne Twister
- 1 SHA-256
- 4108 SHA-512
- 5 امتیاز اضافه شده
- 2 ضرب اسکالر در secp256k1
گرانترین مراحل، محاسبات SHA-512 و ضربهای اسکالر هستند. برای کوتاه کردن آن، فرآیند کلی تبدیل PRNG به آدرس اتریوم کند است. اجرای چنین محاسباتی روی یک CPU ماهها و احتمالاً چندین هفته در CPUهایی که در Donjon موجود بودند طول می کشد. بنابراین، ما آن را با استفاده از OpenCL (بر اساس پردازنده گرافیکی حل کننده BIP39) و آن را روی 2 پردازنده گرافیکی NVIDIA GeForce GTX 1080 Ti اجرا کرد.
خروجی این ابزار یک فایل بزرگ حاوی تمام آدرس های اتریوم است که پسوند می تواند ایجاد کند. از آنجایی که 2^32 دانه ممکن وجود دارد و هر آدرس 20 بایت است، این جدول 80 گیگابایت طول می کشد.
از آنجا، جستجوی جدول کند است: برای مطابقت با یک آدرس، نیاز به تکرار در تمام این جدول بزرگ است.
برای سرعت بخشیدن به این جستجوها، طبق بایت اول آدرس اتریوم، جدول را به 256 جدول کوچکتر تقسیم کردیم. هر جدول حاوی جفت دانه های PRNG و آدرس اتریوم حاصل از آنها است.
در نهایت، برای اینکه بتوانیم جستجوهای سریع را در هر جدول انجام دهیم، آنها را بر اساس آدرس اتریوم مرتب کردیم. اکنون انجام جستجوهای باینری در این جداول امکان پذیر است: جستجو در این جداول مرتب شده بسیار ارزان است.
برای صرفه جویی در فضای دیسک، دانه PRNG و تنها 8 بایت اول هر آدرس اتریوم را ذخیره کردیم. 12 بایت آخر ضروری نیست، زیرا برخوردها در مورد من ناچیز است. هر ورودی 12 بایت طول می کشد. سپس جداول کامل 48 گیگ می گیرند.
در اینجا زمان بندی هر مرحله آمده است:
با استفاده از این جداول، می توان فوراً یادداشت های استفاده شده برای ایجاد یک آدرس را بازیابی کرد. برای ارزیابی تأثیر این آسیبپذیری، بایننس از من یادگاری 3 آدرس آزمایشی را که ارائه کردند، پرسید. در اینجا نتیجه است:
بازیابی 3 یادداشت و کلید خصوصی چند صد میلی ثانیه طول کشید. طبق آزمایشات ما، این فرآیند در واقع به اندازه کافی سریع است تا تمام تراکنش های موجود در بلاک چین اتریوم را در زمان واقعی پردازش کند و تمام آدرس های آسیب پذیر را به محض استفاده از آنها بشکند.. با ذخیره آدرسهایی که قبلاً آزمایش شدهاند، همین امر برای سایر بلاک چینها مانند BSC نیز صدق میکند. در این سناریوی حمله، میتوان تراکنشها را هنگام رسیدن به mempool نظارت کرد و کلیدهای خصوصی فرستنده یا گیرنده را در زمان واقعی محاسبه کرد.
فهرست کردن تمام آدرس های اتریوم استفاده شده
آنچه ما می خواهیم این است که تعداد واقعی کیف پول های آسیب پذیر و موجودی آنها را تخمین بزنیم. این آسان به نظر می رسد، زیرا همه تراکنش ها عمومی هستند، بنابراین همه آدرس ها در بلاک چین در دسترس هستند. با این حال، هیچ راهی برای بازیابی مستقیم لیست آدرس های استفاده شده وجود ندارد.
ما روشی را پیاده سازی کردیم که از طریق هر بلوک بلاک چین اتریوم تکرار می شود. ما آدرس فرستنده و گیرنده همه تراکنشها و پارامترهای آدرس هر تماس با قراردادهای ERC-20 را استخراج کردیم.
توجه داشته باشید که با این روش، فقط کیف پول های استفاده شده قابل شناسایی هستند: برخی از کیف پول های آسیب پذیر که دارایی دریافت نکرده اند، هرگز با بلاک چین تعامل نداشته اند.
ما بلاک چین اتریوم را بین بلوکهای 14820000 و 16096000 اسکن کردیم. بلاک 14820000 در 21 می 2022 ایجاد شد، بنابراین درست قبل از درخواست کشش که کد آسیبپذیر را در Trust Wallet Core اضافه کرد. 16096000 آخرین بلوک بود که این پست را نوشتم.
به نظر می رسد که گره های عمومی دارای محدودیت نرخ هستند، بنابراین من چندین گره عمومی را به طور موازی جویا شدم تا در طول چند ده ساعت در مجموع 147,910,120 آدرس جمع آوری کنم. پس از حذف موارد تکراری، لیستی از 32,613,317 آدرس منحصر به فرد را به دست می آوریم.
از همین روش برای زنجیره هوشمند بایننس استفاده شده است. گره های عمومی BSC اسکن شده اند.
تخمین تعداد حساب های آسیب پذیر
در نهایت، ابزاری برای آزمایش اینکه آیا آدرسی توسط افزونه Trust Wallet ایجاد شده است، نوشته شده است. در جداول تولید شده جستجو می کند، دانه PRNG را دریافت می کند و از آنجا حافظه، کلید خصوصی اتریوم و آدرس مرتبط را محاسبه می کند.
محاسبات بسیار سریع است. آدرسهای کاندیدا از قبل برای به حداقل رساندن ورودی/خروجی و انجام جستجوی دودویی تودرتو مرتب شدهاند. جستجو در 32 میلیون آدرس با استفاده از یک اسکریپت ساده پایتون چند دقیقه طول می کشد.
در اینجا یک مثال با آدرسی است که از a گرفته شده است توییت عمومی در پاسخ به اعلامیه افزونه Trust Wallet. من این یکی را به عنوان مثال در این آدرس گرفتم هرگز استفاده نشده است، بنابراین سرمایه های کاربر در معرض خطر نیستند.
ابزار بر روی مجموعه داده 1,873,720 که در بالا توضیح داده شد اجرا شده است. آزمایش همه آدرسها و محاسبه کلیدهای خصوصی حسابهای آسیبپذیر 4 دقیقه و 22 ثانیه طول کشید، بنابراین بسیار ارزان است.
با این لیست از کلیدهای خصوصی آسیب پذیر، می توان تمام آدرس های مربوطه، موجودی آنها را فهرست کرد و بدیهی است که آنها را تخلیه کرد... در طول بررسی های ما، حدود 30 میلیون دلار در مقطعی در معرض خطر بود، اما ما اضافه کاری تمام زنجیره ها و توکن ها را تحت نظر نداشتیم. .
ترمیم
2022، 17 نوامبر
آسیبپذیری بایننس با استفاده از آنها گزارش شده است برنامه bugy bug در 2022 نوامبر 17.
برای تایید این آسیبپذیری، بایننس 3 آدرس را برای ما ارسال کرد و از آنها خواست تا حافظههای حافظه را ارائه کنند:
آیا می توانید سعی کنید ابزار خود را اجرا کنید و برای این 3 آدرس یادداشتی ارائه دهید؟
Wallet 1 – 0xdf6D9547e163D5E7eafBe2FeB24Bfa12A4C913C0
Wallet 2 – 0xE1E0580cb5eA0c0FD034FF2cdfc872ce4493676C
Wallet 3 – 0x02b2Ae981b138F066344774A2AD75225A046c377
با تشکر!
با احترام.
هنگامی که تمام آدرسهای ممکن از قبل محاسبه شدند، بازیابی حافظه از یک آدرس به سادگی جستجو در یک جدول 4 میلیارد ورودی است. سه یادگاری در 0.2 ثانیه بازیابی شده اند:
2022، 21 نوامبر
چند روز بعد، در 21 نوامبر، تیم Trustwallet علنی متعهد شد در Github راه حل جلوگیری از تولید دانه های جدید ناقص است. ما کاملاً نگران بودیم که کسی متوجه آن شود و از این آسیبپذیری سوء استفاده کند.
2022 ، نوامبر
تیم Trustwallet برنامه را بهروزرسانی کرد تا به کاربران خود هشدار دهد، از تولید دانههای معیوب جدید جلوگیری کند و جریانهای دریافتی را حذف کند.
از آنجا وضعیت و وجوه در معرض خطر را زیر نظر گرفتیم. تنها چند روز پس از انتشار این کیف پول های آسیب پذیر، حدود 30 میلیون دلار در خطر بود.
2023، مارس
تیم Trustwallet بالاترین جایزه ای را که ارائه می دهند به ما اعطا کرد: 100 هزار دلار
2023، 22 آوریل
پس از ماهها انتظار برای کاربران برای انتقال وجوه خود، تیم Trustwallet این آسیبپذیری را فاش کرد و نوشت: مرگ پس از مرگ. در حال حاضر، هنوز کیفهایی با وجوه باقیمانده وجود دارد که میتوان آنها را به سرقت برد (100 هزار دلار). Trust Wallet وعده بازپرداخت وجوه دزدیده شده را داده است.
نتیجه
این آسیبپذیری بدترین سناریوی یک باگ کریپتو را نشان میدهد - حسابهای در معرض خطر برای همیشه.
ایجاد تصادفی خوب یک کار دلهره آور است – دستگاه های Ledger به منطق سیلیکونی اختصاصی در تراشه های کارت هوشمند تایید شده ما که استاندارد طلایی صنایع ایمن در 40 سال گذشته بوده اند برای تضمین کیفیت بالا تصادفی و مقاومت در برابر دستکاری متکی هستند.
با توجه به پیچیدگی تماس با صاحبان آن حساب ها و امکان استفاده از آن حساب های در معرض خطر در انواع کیف پول های نرم افزاری و سخت افزاری مختلف، TrustWallet کار بسیار خوبی انجام داد و خطر را برای کاربران خود کاهش داد.
در آینده (خیلی) (نزدیک) این احتمال وجود دارد که رباتها اولین کسانی باشند که وجوه واریز شده به آن آدرسها را سرقت میکنند. اتفاقی که در گذشته با کیف پول های مغزی افتاد.
تشکر ویژه از Jean-Baptiste Bédrune برای نجات جهان. تنها چند روز پس از انتشار افزونه Trust Wallet، تقریباً 30 میلیون دلار در خطر بود. اگر مهاجم پس از چند ماه آسیب پذیری را پیدا کند، ممکن است یک سناریوی کابوس رخ دهد.
در طول بررسیهایمان، ما همچنین متوجه شدیم که چند آدرس آسیبپذیر بودند در حالی که مدتها قبل از انتشار Trust Wallet ایجاد شده بودند. احتمالاً به این معنی است که این آسیبپذیری در برخی از پیادهسازیهای کیف پول دیگر وجود دارد که مربوط به…
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoAiStream. Web3 Data Intelligence دانش تقویت شده دسترسی به اینجا.
- ضرب کردن آینده با آدرین اشلی. دسترسی به اینجا.
- خرید و فروش سهام در شرکت های PRE-IPO با PREIPO®. دسترسی به اینجا.
- منبع: https://www.ledger.com/blog/funds-of-every-wallet-created-with-the-trust-wallet-browser-extension-could-have-been-stolen
- : دارد
- :است
- :نه
- $UP
- 1
- 12
- 13
- 14
- ٪۱۰۰
- 2022
- 23
- 24
- 30
- 39
- 40
- 49
- 8
- a
- قادر
- بالاتر
- دسترسی
- مطابق
- حساب
- حساب ها
- رسیدن
- واقعا
- اضافه
- اضافه
- نشانی
- آدرس
- پس از
- از نو
- معرفی
- اجازه دادن
- اجازه دادن
- اجازه می دهد تا
- قبلا
- همچنین
- an
- و
- اندروید
- اعلام کرد
- خبر
- دیگر
- هر
- نرم افزار
- برنامه های کاربردی
- برنامه های کاربردی (DApps)
- برنامه های
- آوریل
- هستند
- دور و بر
- مقاله
- AS
- دارایی
- مرتبط است
- At
- حمله
- نویسنده
- در دسترس
- AVAX
- اجتناب از
- اجتناب کنید
- اجتناب از
- پشتیبان گیری
- بد
- برج میزان
- تعادل
- مستقر
- مبانی
- BE
- بوده
- قبل از
- بودن
- در زیر
- بهتر
- میان
- بزرگ
- بزرگترین
- بیلیون
- بنیان
- زنجیره هوشمند Binance
- بوق
- مسدود کردن
- بلاکچین
- blockchains
- بلاک ها
- bnb
- رباتها
- بخشش
- مغز
- مارکدار
- شکستن
- مرورگر
- مرورگرهای
- نیروی بی رحم
- BSC
- بافر
- اشکال
- اما
- by
- صدا
- تماس ها
- CAN
- نامزد
- نمی توان
- مورد
- مهندسان
- زنجیر
- زنجیر
- ارزان
- بررسی
- کودک
- چیپس
- کروم
- به وضوح
- رمز
- مشترک
- رقیب
- پیچیدگی
- در معرض خطر
- محاسبه
- محاسبات
- محاسبه
- کامپیوتر
- محاسبه
- تکرار
- عواقب
- با توجه به
- شامل
- قرارداد
- تبدیل
- تبدیل
- مبدل
- هسته
- اصلاح
- متناظر
- هزینه
- میتوانست
- زن و شوهر
- دوره
- پردازنده
- ایجاد
- ایجاد شده
- ایجاد
- بحرانی
- کراس پلت فرم
- عضو سازمانهای سری ومخفی
- اکوسیستم رمزنگاری
- کیف پول رمزنگاری
- کریپتو کارنسی (رمز ارزها )
- رمزنگاری
- رمزنگاری
- سفارشی
- DApps
- داده ها
- پایگاه داده
- روز
- روز
- غیر متمرکز
- برنامه های تقسیم شده
- اختصاصی
- مشخص
- نشان دادن
- سپرده
- نشات گرفته
- شرح داده شده
- با وجود
- جزئیات
- دقیق
- جزئیات
- شناسایی شده
- توسعه
- دستگاه
- دستگاه ها
- DID
- تفاوت
- مختلف
- مشکل
- مشکل
- دیجیتال
- دارایی های دیجیتال
- مستقیما
- دلسرد
- کشف
- توزیع
- do
- مدت از کار افتادگی
- دوجین
- اب کشیدن از
- نسخه های تکراری
- در طی
- هر
- آسان تر
- به آسانی
- ساده
- اکوسیستم
- جاسازی شده
- انگلیسی
- کافی
- اطمینان حاصل شود
- ورود
- محیط
- ERC-20
- تخمین زدن
- ETH
- ethereum
- blockchain اتریوم
- حتی
- هر
- مثال
- منحصرا
- موجود
- وجود دارد
- گران
- توضیح دهید
- توضیح داده شده
- بهره برداری
- گسترش
- عصاره
- نتواند
- آشنا
- FAST
- محبوب
- ویژگی
- کمی از
- مبارزه کردن
- پرونده
- پر شده
- نهایی
- مالی
- آزادی مالی
- پایان
- نام خانوادگی
- رفع
- ناقص
- جریانها
- پیروی
- برای
- استحکام
- برای همیشه
- خوشبختانه
- یافت
- آزادی
- از جانب
- تابع
- قابلیت
- توابع
- بودجه
- آینده
- دروازه
- جمع آوری
- عموما
- تولید می کنند
- تولید
- مولد
- نسل
- ژنراتور
- دریافت کنید
- GitHub
- طلا
- واحد طلا
- خوب
- GPU ها
- اعطا شده
- ضمانت
- هک
- بود
- دستگیره
- اتفاق افتاده است
- سخت
- سخت افزار
- کیف جیبی
- مخلوط
- آیا
- از این رو
- اینجا کلیک نمایید
- سلسله مراتب
- زیاد
- بالاترین
- ساعت ها
- چگونه
- اما
- HTTPS
- صد
- i
- اندیشه
- یکسان
- if
- نشان می دهد
- بلافاصله
- تأثیر
- پیاده سازی
- اجرا
- پیاده سازی می کند
- مهم
- غیر ممکن
- in
- بطور باور نکردنی
- لوازم
- ابدیت
- اطلاعات
- اول
- ورودی
- الهام بخش
- نمونه
- اثر متقابل
- رابط
- تقاطع
- به
- تحقیقات
- IOS
- IT
- تکرار
- تکرار
- ITS
- کار
- تنها
- نگاه داشتن
- کلید
- کلید
- دانستن
- دانا
- نام
- بعد
- آخرین
- منجر می شود
- دفتر کل
- ترک کرد
- کمتر
- اهرم ها
- کتابخانه
- پسندیدن
- احتمالا
- محدود
- لینوکس
- فهرست
- به صورت محلی
- منطق
- طولانی
- مدت زمان طولانی
- مدتها در انتظار
- مراجعه
- ساخته
- ساخت
- باعث می شود
- بسیاری
- نقشه برداری
- استاد
- مسابقه
- ماده
- خودکار
- حداکثر عرض
- ممکن است..
- به معنی
- mempool
- MetaMask
- روش
- مهاجرت
- میلیون
- میلیون ها نفر
- دقیقه
- دقیقه
- افسانه
- واحد
- ماژول ها
- مانیتور
- نظارت
- ماه
- بیش
- علاوه بر این
- اکثر
- بسیار
- چند زنجیره ای
- باید
- my
- نزدیک
- لازم
- نیاز
- نیازهای
- هرگز
- جدید
- بعد
- نه
- گره
- Node.js و
- گره
- طبیعی
- به ویژه
- اطلاع..
- نوامبر
- اکنون
- عدد
- تعداد
- کارت گرافیک Nvidia
- گرفتن
- رخ داده است
- of
- ارائه
- ارائه شده
- on
- ONE
- فقط
- عملیاتی
- سیستم عامل
- or
- دیگر
- ما
- تولید
- روی
- به طور کلی
- صاحبان
- جفت
- موازی
- پارامترهای
- بخش
- گذشته
- مسیر
- انجام دادن
- سیستم عامل
- افلاطون
- هوش داده افلاطون
- PlatoData
- لطفا
- نقطه
- امکان
- ممکن
- پست
- قوی
- pr
- تمرین
- دقیقا
- در حال حاضر
- زیبا
- جلوگیری از
- قبلا
- از اصول
- خصوصی
- کلید خصوصی
- کلیدهای خصوصی
- شاید
- مشکل
- روند
- محصول
- پروژه
- وعده داده شده
- املاک
- محافظت از
- ارائه
- ارائه
- عمومی
- کلید عمومی
- اهداف
- پــایتــون
- کیفیت
- به سرعت
- تصادفی
- تصادفی بودن
- نرخ
- رسیدن به
- واقعی
- زمان واقعی
- گرفتن
- دریافت
- تازه
- کاهش
- با احترام
- مربوط
- آزاد
- تکیه
- باقی مانده
- حذف شده
- گزارش
- درخواست
- نیاز
- نیاز
- مقاومت
- نتیجه
- نتیجه
- برگشت
- خطر
- دویدن
- در حال اجرا
- امن
- همان
- ذخیره
- صرفه جویی کردن
- سناریو
- طرح
- دانشمندان
- جستجو
- امن
- تیم امنیت لاتاری
- دیدن
- دانه
- دانه
- به نظر می رسد
- فرستنده
- فرستاده
- دنباله
- چند
- اشتراک
- کوتاه
- باید
- سیلیکون
- مشابه
- ساده
- پس از
- تنها
- وضعیت
- اندازه
- کند
- کوچکتر
- هوشمند
- زنجیره هوشمند
- So
- نرم افزار
- شیر برقی (سلونوئید)
- برخی از
- کسی
- بزودی
- منبع
- فضا
- صحبت کردن
- تخصصی
- خاص
- سرعت
- انشعاب
- صحنه
- استاندارد
- استانداردهای
- شروع
- گام
- مراحل
- هنوز
- به سرقت رفته
- وجوه دزدیده شده
- opbevare
- ذخیره شده
- استحکام
- قوی
- چنین
- حمایت از
- مفروض
- گزینه
- سیستم
- جدول
- برخورد با
- گرفتن
- طول می کشد
- هدف
- اهداف
- کار
- تیم
- آزمون
- تست
- تست
- نسبت به
- با تشکر
- که
- La
- مبانی
- جهان
- شان
- آنها
- سپس
- آنجا.
- اینها
- آنها
- این
- کسانی که
- هزاران نفر
- سه
- از طریق
- زمان
- بار
- به
- امروز
- نشانه
- در زمان
- ابزار
- موضوع
- جمع
- معاملات
- دگرگون کردن
- دگرگونی
- گاو صندوق
- اعتماد
- اعتماد کیف پول
- امتحان
- دو
- TWT
- همه جا
- منحصر به فرد
- آدرس های منحصر به فرد
- به روز شده
- us
- استفاده کنید
- استفاده
- کاربر
- وجوه کاربر
- کاربران
- با استفاده از
- معمولا
- ارزش
- نسخه
- بسیار
- آسیب پذیری
- آسیب پذیر
- منتظر
- کیف پول
- کیف پول
- بود
- مسیر..
- we
- Web3
- هفته
- بود
- چه زمانی
- که
- در حین
- تمام
- که
- به طور گسترده ای
- اراده
- با
- بدون
- کلمه
- کلمات
- جهان
- نگران
- بدترین
- خواهد بود
- کتبی
- سال
- شما
- شما
- زفیرنت