سرقت از بلاک چین :چگونه یک هکر میلیون ها اتریوم با ارزش را به وسیلهی حدس کلمات عبور محرمانهی ضعیف ربوده است
شرکت مشاوره امنیتی مستقر در ایالت متحده، ارزیابی امنیت مستقل (ISE) گزارشی دربارهی کلمات عبور محرمانه برای بلاک چین منتشر کرد.
علیرغم انتشار حدود 700 کلمهی عبور محرمانهی ضعیف که معمولا توسط افراد زیادی استفاده میشوند، محققین یک سارق بلاک چین را که موفق به گردآوری نزدیک به 45000 اتریوم به وسیلهی حدس درست این کلمات عبور محرمانه را پیدا کردند. cointelegraph با آدریان بدنارک، تحلیلگر ارشد امنیتی در ISE برای کسب اطلاعات بیشتر درباره چیزی که آنها به عنوان ” اترکوبینگ” مطرح میکنند، مصاحبه کرد.
پیشینه تحقیق و یافته های مهم:
بدنارک میگوید او هکر را به صورت اتفاقی پیدا کرد. او در آن زمان برای یک شرکت سهامی که در خصوص اجرای کیف پول خود با الگوریتم تولید کننده کلمه عبور یکپارچه برنامه ریزی کرده بودند، تحقیق انجام میداد.
او به cointelegraph گفت: به عنوان یک تحلیلگر امنیت باید بگویم که قبل از اینکه شما هر ارزیابی ای شروع کنید، باید از تکنولوژی های اساسی به صورت خیلی واضح اطلاع داشته باشید. به طور کلی انگار که شما خودتان آنها را به وجود آورده اید.
تولید کلمات عبور محرمانه یکی از مؤلفه هایی بود که ما باید دربارهی آن تحقیق میکردیم و من اصول پایه را دربارهی اینکه کلمه عبور محرمانهی اتریوم چست؟ چگونه به وجود آمده است؟ و چگونه میتوان از آن برای به دست آوردن کلمه عبور عمومی و آدرس عمومی استفاده کرد را مرور میکنم.
در اتریوم، بیت کوین یا هر بلاک چین اساسی دیگری که از پروتکل ECDSA پشتیبانی میکند، کلمات عبور محرمانه به وسیله اعداد 256 بیتی نمایش داده شده اند. ISE آن را به 8 منطقه فرعی 32 بیتی در فضای کلمه عبور 256 بیتی در طول تحقیقاتشان محدود میکند زیرا نفوذ بیجای یک کلمه عبور محرمانه در میان منطقهی بزرگتر به طور آماری تقریبا بعید است.
بدنارک میگوید: این هشت منطقه فرعی در کل شامل 34 میلیارد از کلمات عبور ضعیف تر میشد که بعدا ISE آنها را بررسی کرد و این پروسه یک روز طول کشید.
لازم به تأکید است که این کلمات عبور به خاطر یک کد ناقص و تولید کننده های اعداد تصادفی ناقص ایجاد شده اند و محققان مخصوصا کلمات عبور پایینتر از حد مطلوب را هدف قرار داده اند.
کلمه عبور محرمانه، به طور همزمان شناسه کاربری (ID) و رمز عبور شما است. تحلیلگر امنیتی توضیح داد این با ورود به سیستم بانکی شما که نام کاربری و رمز عبور دارید، متفاوت است. بنابراین وقتی دو نفر از یک رمز عبور برای ایجاد کیف پول آفلاین استفاده میکنند-برای مثال کیف هایی که شامل گذرواژه هایی به عنوان قسمتی از ایجاد کلمات عبور محرمانه میشوند- آن ها دقیقا یک کیف پول را برای خود میکنند. همان طور که بدنارک در گزارش میگوید این شبیه متصل شدن دو نفر به یک حساب بانکی است.
درابتدا کارشناس ISE پی برد که کلمه عبور محرمانهی “1” بخاطر داشتن محدودیت پایینتر برای یک کلمهی عبور محرمانه ممکن، انتخاب شده بود و در واقع در بلاک چین از آن استفاده و علاوه بر این شامل چندین هزار تراکنش میشد.
(0x0000000000000000000000000000000000000000000000000000000000000001, if written using the 256-bit code)
بدنارک یادآوری کرد که این یک علامت خطر است. چرا مردم از کلمه عبور محرمانهی 1 استفاده میکنند؟ این غیر ممکن است. تیم او شروع به بررسی کلمه عبورهای بیشتری برای فهم پیچیدگی زیر مسئله کرد. اگرچه محققان ISE منتشر کردند که این مسئله به طور ویژه فراگیر و شایع نیست و آنها 732 کلمه عبور محرمانهی ضعیف مربوط به 49.060 تراکنش را پیدا کردند.
“تقریبا حدود 50 میلیون کلمه عبور در اتریوم(بلاک چین) استفاده شده است و ما فقط 732 عدد از آنها را پیدا کرده ایم.”
سرقت از بلاک چین
همانطور که در تحقیق اشاره شد در طول تحقیق تیم ISE با روش های کمتر مطلوب خود متوجه شد که چطور بعضی از کیف های مرتبط با کلمات عبور محرمانه تراکنش های زیادی با آدرس های مشخصی داشته اند و هیچ پولی به آنها برنگشته است.همانطور که بدنارک در ویدئوی توضیحی که در وب سایت ISE منتشر کرد میگوید:
” این فرد شخصی بود که آدرسی داشت و در اطراف جستجو میکرد و از تعدادی کلمهی عبور که ما هم به آن دسترسی داشتیم پول به دست میآورد. ما 735 کلمهی عبور محرمانه پیدا کردیم. او از 12 عدد از آن کلمات عبور که ما هم به آن دسترسی داشتیم پول به دست آورد. این از نظر آماری بعید است که این کلمات عبور را شانسی حدس زده باشد، پس او احتمالا کار مشابهی را انجام میدهد. او اساسا پول ها را به محض اینکه به کیف پول افراد واریز میشود، میدزدد.
در گفتگویی با cointelegraph، بدنارک توضیح میدهد که هکر (یا گروهی از هکرها)، درگاهی را طراحی کرده بودند که پول ها را از آدرس هایی با کلمات عبور ضعیف بدزدند. برای اثبات این، محققین روشی را استفاده کردند: آنها یک دلار را با استفاده از یک کلمهی عبور محرمانهی ضعیف که می دانستند هکر از آن مطلع است، فرستادند که ببینند با چه سرعتی آن برداشته میشود. پول در عرض چند ثانیه دزدیده شد. کارمند ISE گفت:
” اگر این کار دستی بود ممکن بود یک روز یا بیشتر طول بکشد. اما به محض اینکه ما آن را فرستادیم، به مرورگر بلاک چین رفتیم و دیدیم که فورا نقل و انتقالی در عرض چند ثانیه صورت گرفت. پس به طور کلی چیزی که هکر دارد، یک درگاه بلاک چین که قسمتی از آن دارای یک شبکه تراکنش تنظیم شده در جایی دیگر، است. به محض اینکه تراکنشی را میبیند، با کلمه عبور محرمانه ای که میداند فورا درخواستی برای انتقال پول میفرستد.”
در مورد داده هایی که از Etherscan به دست آمده کیف پول هکر شامل حدود 45000 اتریوم (بیش از 7.3 میلیون دلار در زمان نوشتن) میشود. و در زمان اوج ارزش اتریوم، برآورد شده است که این پول های دزدی به دست آمده میتوانند بیش از 50 میلیون دلار فروخته شوند.
براساس بخش نظرات برای آدرس کیف کلاهبردار، معلوم شد که سرمایه های چندین سال دزدیده شده اند. یکی از نظرات ظاهرا توسط ارائه دهندهی اصلی کیف اتریوم (MyEtherWallet (MVM پیشنهاد شده است و با لینکی در وبگاه ردیت در سال 2016 با عنوان ” درگاه های اتریوم که دارای تنظیمات RPC ناامن هستند و به طور گسترده مورد استفاده قرار میگیرند” گذاشته شده است. در این وبگاه، ردیتور تنظیم یک درگاه اتریوم با HTTP RPC API خود که در اینتزنت قرار داده شده است و در عرض چند دقیقه بعد از عملیاتی شدن مورد حمله قرار میگیرد را توضیح میدهد.
بدنارک تأکید کرد که : اگر شما آدرس هکر را جستجو کنید افراد زیادی وجود دارند که از او شکایت کرده اند و اقرار کرد که کارهای کلاهبردار کاملا موفق ثبت شده اند.
” این فرد چندین روش چند جانبه برای دزدیدن پول داشته است”
تحلیلگر امنیتی سپس شیوهی کلاهبرداری را با جزئیات بیشتری توضیح داد:
- او به دنبال کلمات عبور محرمانهی بد است.
- او به دنبال کیف پول های با گذرواژه های ضعیف وPRCهای اشتباه است. شما واقعا قرار نیست که RPC درگاه اتریوم را در معرض نمایش قرار دهید اما بعضی اوقات افراد این کار را میکنند و اگر شما تنظیمات گذرواژه را نداشته باشید، کسی میتواند کیف پول پیش فرض مرتبط با درگاهتان را خالی کند.
محقق امنیتی ISE هشدار میدهد که: اما چنین ربودن های دارایی تنها منحصر به بلاک چین اتریوم نیست. او گفت: بلاک چین همانطور که قصد داشته در حال کار کردن است و این تنها راهی است که افراد از آن استفاده میکنند. همچنین مشکل اخلاقی ای که تیم او در طی انجام این تحقیق با آن روبرو شد را توضیح داد:
قبل ازشروع این تحقیق ما کمی شک داشتیم که چه اتفاقی می افتد اگر ما کیفی را با کلمه عبور پیدا کنیم که یک میلیون دلار در آن وجود دارد؟ باید آن را فقط همان جا بگذاریمش؟ اما اگر ما آن را همانجا بگذاریم می دانیم که بخاطر کلمهی عبور محرمانهی بدی که دارد احتمالا دزدیده میشود.پس اگر این پول دزدیده شود ما به نحوی مسئول هستیم چون میتوانستیم به کسی اطلاع دهیم.اما مشکل دوم این است که ما به چه کسی باید اطلاع دهیم؟ هیچ راه سادهای برای تشخیص صاحب یک کلمه عبور محرمانه وجود ندارد.شاید ما بتوانیم پول را به طور موقت برداریم و تا زمانی که کسی توانست ثابت کند که برای اوست نگه داریم. اما این مسائل قانونی زیادی به وجود میآورد.بنابراین کارشناس CEO شرکت (که در حال انجام تحقیق بودند) با IFS برای توصیه های قانونی تماس حاصل کرد و آنها اساسا گفتند که ” اگر شما چیزی پیدا کردید، همانجا باقی بگذارید و هیچ نقل و انتقالی انجام ندهید و به این شکل خودتان را با مسائل قانونی درگیر نکنید.
توصیه های امنیتی و تحقیقات بیشتر
بنابراین براساس اظهارات بدنارک کلمات عبور محرمانه به دو دلیل اصلی قابل آسیب پذیری می باشند.اول اینکه ارورهای کدگذاری در اعتبار نرم افزار برای تولید آنها و دوم اینکه تعدادی از صاحبان ارز دیجیتال میخواستند کلمات عبور محرمانه دقیقا مثل هم را از میان گذرواژه های ضعیف مثل “abc123” انتخاب کنند یا حتی آنها را خالی بگذارند.
برای مثال گزارش ISE منتشر کرد که یکی از معروف ترین کلمات عبور محرمانهی ضعیف از یک عبارت بازیابی خالی مثل ” “ساخته شده که از کیف پول Parity استفاده میکنند. ظاهرا 8.772 تراکنش در این آدرس با جمع 5.215.586 اتریوم یافته شده وجود داشته است.
برای مدتی parity به شما اجازه میدهد که از رمز عبور پیش فرضی استفاده کنید و خود رمز عبور محرمانهای برمبنای آن ایجاد میکند. بدنارک با افزودن اینکه توسعه دهنده کیف ظاهرا در مواردی مسئله را مشخص میکند، توضیح میدهد که من فکر میکنم آنها تاکنون حداقل رمز عبور مورد نیاز را معرفی کرده اند. ممکن است این رمز فقط یک حرف تنها باشد اما اگر شما در حال استفاده از آخرین ورژن نرم افزاریشان هستید، نمیتوانید از رمزهای عبور خالی در Parity در حال حاضر استفاده کنید.
تا کنون هیچ سازندهی کیفی با ISE تماس نداشته است. به عقیده بدنارک:
اگر اصلا کیف پولی وجود داشته باشد، اینکه بگوییم کدام کیف معتبر میباشد سخت و بحث جالبی است. این فقط میتواند برای افرادی که کلمات عبور محرمانه را اشتباه وارد میکنند، یا برای نسخه کیف های اشکال زدایی اولیه یا برای خود توسعه دهندگان باشد.کمی سخت است که بگوییم چرا اینها وجود دارد و کدام کیف مسئول اشتباهات است و این چیزی است که من بعید میدانم به جواب به آن برسیم.
توصیه اصلی بدنارک به کسانی که شم کامپیوتی ندارند این است که از کیف های قابل اعتماد و معروف استفاده کنند .اگر ارز دیجیتالی زیادی مورد بحث است حتی الامکان به کیف های سخت افزاری یا آنهایی که بر مبنای کاغذ نویسی است روی بیاورید.
او گفت:” اگر قصد تجارت یا سرمایه گذاری ارز زیادی را دارید پس از یک کیف سخت افزاری که در آن هرگز کلمات عبور محرمانه فاش نمیشود استفاده کنید.دوستان زیادی از من که برای مدت طولانی است سرمایه گذار هستند از کیف های کاغذی که در آن کلمات عبور تصادفی ایجاد شده و روی کاغذ ذخیره می شود که هرگز با کامپیوتر سر و کار ندارد استفاده میکنند.”
با این وجود، همیشه ریسک هایی وجود دارد حتی وقتی که صحبت از نرم افزار های معروف است. بدنارک با مطرح کردن مثالی از کیف آیوتا که توسط توسعه دهنده ای (برنامه نویس و طراح وب سایت) از دانشگاه آکسفورد که ماه گذشته دستگیر شده و به جرم دزدیدن حدود 10 میلیون یورو متهم شده، به خطر افتاده است هشدار داد.
با توجه به اینکه کیف آیوتا یک نرم افزار متن باز است، کدهای آن در Github به شکل عمومی پست شده است.در برخی موارد، کلاهبدار از طریق ارسال تغییری در کد در سازندهی عدد تصادفی تغییر ایجاد میکند.
بدنارک گفت: “این به شکل خیلی مبهمی انجام شده است”. اگرچه بسیاری از افراد میتوانند کد را ببینند.آنها بر این اساس فرض کردند که آن باید فقط کار کند.
متخصصینISE بیان کردند که در این صورت هکر میتوانست ببیند که چطور کلمات عبور محرمانه بوجود آمده اند و آنها را با استفاده از کد وارد شده دوباره بسازد.
بعد از اینکه افراد زیادی پول های هنگفتی را از دست دادند، در نهایت شخصی مهندسی معکوس کرد و به سمت اعداد تصادفی رفت که افراد میتوانستند ببینند که او در حال بوجود آوردن اعداد متوالی در محدودهی مشخصی از کلمات عبور است.
بدنارک به Cointelegraph گفته: در خصوص آینده،ISE برای ادامهی پایش بلاک چین و کلمات عبور محرمانهی ضعیف در مقیاسی بزرگتر برنامه ریزی کرده است.” ما روش بررسی خود را به استفاده ازGPUها تغییر میدهیم که با آن قادر خواهیم بود بیش از 38 میلیارد کلمهی عبور را در عرض چند ثانیه پویش و بررسی کنیم.
همانطور که ما در حال بررسی کارآمد تر هستیم، قادر خواهیم بود برای به دست آوردن چیزهای شگفت انگیز دیگری مثل کیف پول بیت کوین یا الگوریتم های عمومی سایر کلمات عبور، تلاش کنیم.سپس ما در حوزه های مختلف برای شناسایی سایر کلمات عبور گسترش پیدا میکنیم.
علاوه بر این گروه تحقیقاتی امنیتی قصد انتشار اطلاعات بیشتری شامل کلمه عبورهای معیوب(ناقص) عمومی برای افراد جهت انجام تحقیقاتشان و اطلاع از تخلفات امنیتی احتمالی را دارد.بدنارک اظهار کرده است که : ” ممکن است این تبدیل به تلاشی مشترک برای کمک به پیدا کردن تعدادی از این دلایل شود.”