آیا آسیبپذیری در نهایت Bitmain را وادار خواهد کرد تا firmware خود را متن باز کند؟
یکی از توسعهدهندگان سیستمعامل مورد استفاده ماینرهای شرکت Bitmain، یک آسیبپذیری جدی در firmware دستگاههای این شرکت یافته است. اما افشای آن را منوط به پیروی این شرکت از پروانه GNU GPL و بازکردن سورس firmware کرده است.
در حالی که Bitmain سالی بسیار بد را پشت سر گذاشته و در کنار تحمل ضرر، ناچار به تعطیلی برخی از بخشهای خود بوده است، یک آسیبپذیری نیز در firmware آن یافت شده است.
چند هفته پیش، جیمز هیلیارد (James Hilliard)، از توسعهدهندگان Bitcoin Core، اکسپلویتی را در firmware S15 Bitmain کشف کرد. نام کاربری مستعار ۰۰ whiterabbit در توییتر، که به عنوان «جان» نیز شناخته میشود، پس از آن کد اکسپلویت را براساس یافتههای هیلیارد نوشته است. ویدیویی که نشان میداد کد اکسپلویت واقعا کار میکند هفته گذشته در توییتر هیلیارد به اشتراک گذاشته شد.
Hilliard پیشنهاد داده است که با یک شرط آسیبپذیری Bitmain را افشا میکند: Bitmain باید از پروانه عمومی همگانی گنو (GNU GPL)، پروانه متن باز محبوب تبعیت کند. این غول چینی استخراج در حال حاضر این پروانه را نقض کرده و متن firmware خود را باز نکرده است.
هیلیارد به مجله بیتکوین گفت:
firmware Bitmain به طور کلی پر از باگ است، و برای سلامتی شبکه بیت کوین مهم است که کاربران بتوانند باگهای Bitmain را رفع کنند
اکسپلویت (Exploit)
هیلیارد، که احتمالا بیشتر به خاطر ارائه BIP91 شناخته شده است، چندین هفته پیش با بازرسی فایلی از بهروزرسانی firmware در سایت پشتیبانی Bitmain، این آسیبپذیری را کشف کرد. در حالی که جزئیات هنوز افشا نشدهاند، این اکسپلویت در firmware S15، قویترین ماینر SHA256 این شرکت پیدا شده است. هیلیارد تقریبا مطمئن است که این آسیبپذیری در همه firmwareهای Bitmain وجود دارد.
وی افزود:
من تقریبا مطمئن هستم که آسیبپذیریهای دیگری نیز در firmware وجود دارد. این firmware از حیث امنیت بسیار ضعیف طراحی شده است
هنگامی که این آسیبپذیری مورد سوء استفاده قرار گیرد، دسترسی روت برای کاربر فراهم میکند که قاعدتا باید ناممکن باشد. به طور نظری، این کار را میتوان از راه دور تنها با استفاده از آدرس IP ماینر انجام داد؛ یعنی میتوان به دستگاه برای هر کار دیگر برنامه داده داد. سوء استفاده احتمالی میتواند استخراج در یک نشانی بیتکوین دیگر یا توقف استخراج باشد. همچنین میتوان این firmware را به طور کلی با firmware دیگر جایگزین کرد (مانند Braiins OS یا Dragonmint)
با این وجود، در عمل بعید است که بتوان از راه دور از این دستگاهها به طور کامل سوء استفاده کرد. اولا، تا زمانی که ماینر به درستی از فایروال و/ یا نام کاربری و رمز عبوری قوی استفاده کند، نفوذ به دستگاه وی ممکن نیست. و ثانیا، بدون دسترسی به سورسکد firmware، ساخت firmware سفارشی مشکل خواهد بود. به این ترتیب، شاید آسیبپذیری خاص مشکل اصلی نباشد. هیلیارد گفت: «مشکل بزرگتر این است که firmware Bitmain به طور کلی پر از باگ است.»
در واقع، این اولین باری نیست که یک آسیبپذیری در firmware Bitmain یافت میشود. در اوایل سال ۲۰۱۷ یک مهندس امنیت ناشناس دریافت که میتوان تقریبا همه دستگاههای Antminer را از راه دور خاموش کرد. این آسیبپذیری که «Antbleed» نام گرفت، احتمالا میتوانست نیمی از توان هش شبکه بیتکوین را آفلاین کند. مسلما این مسئله نه فقط مختص صاحبان Antminer، بلکه خطری امنیتی برای کل شبکه بیتکوین بود.
پروانه جواز
هیلیارد و ۰۰whiterabbit کد اکسپلویت را منتشر نکردهاند، اما در حال توسعه نسخهای از آن برای نهایتا انتشار آن هستند. این دو همچنین مایل هستند تا این آسیبپذیری را در اختیار Bitmain قرار دهند، که به این تولیدکننده سختافزار اجازه میدهد تا firmware را بهبود داده و آسیبپذیری را رفع کند. اما تنها در صورتی چنین کاری خواهند کرد که Bitmain به نقض GNU GPL پایان دهد.
firmware Bitmain بر روی سیستم عامل لینوکس و همچنین cgminer ساخته شده است: نرمافزار استخراج متن بازی که توسط Hilliard و دیگران توسعه داده شده است. هم لینوکس و هم cgminer تحت مجوز GNU GPL قرار دارند. این مجوز متن باز پراستفاده اجازه میدهد تا هرکس آزادانه نرمافزار را اجرا، مطالعه و اصلاح کرده و آن را به اشتراک بگذارد، به شرطی که نرمافزار حاصله نیز رایگان باشد.
هلیارد توضیح داد: «بنابراین، firmware Bitmain نیز باید قانونا متن باز باشد.» «اما به نظر میرسد Bitmain علاقهای به پیروی از قانون کپیرایت ندارد. متاسفانه، داشتن یک firmware متن بسته در شبکه بیتکوین اتفاق مثبتی نیست، چرا که ممکن است چیزهایی مانند Antbleed در آن پنهان شده باشند. در نتیجه خطر تمرکز به وجود میآید.
مشخص نیست که چرا غول استخراج GNU GPL را نقض میکند. هیلیارد گمان میکند که شاید این کار برای جلوگیری از اورکلاک کردن دستگاه توسط کاربران و هزینههای پشتیبانی در صورت چنین اتقافی انجام شده باشد. افراد دیگری حدس میزنند شاید Bitmain ترجیح میدهد firmware خود را بسته نگاه دارد تا شناسایی آسیبپذیریهای احتمالی را برای مهاجمان سختتر کند.
تاکنون، Bitmain اصلا در مورد این اکسپلویت اظهار نظر نکرده و firmware آن همچنان بسته باقی مانده است. به این ترتیب، احتمال کمی وجود دارد که شرکت اکنون رویه خود را تغییر دهد؛ گرچه هیلیارد امیدوار است Bitmain از GPU GPL تبعیت کرده و کاربران را تشویق میکند تا درخواستهایی برای باز شدن کد ارسال کنند.
هیلیارد گفت
در گذشته آنها احتمالا به این دلیل که فشاری از سوی عموم برای انجام این کار وجود داشت، این شرکت چیزی را منتشر کرد که به نظر میرسید کد واقعی باشد. پس، شاید اکنون نیز چنین احتمالی وجود داشته باشد
مجله بیتکوین با Bitmain تماس گرفته و در مورد اطلاع شرکت از آسیبپذیری یافت شده توسط هیلیارد و قصد شرکت برای رفع آن سوال کرده است. ما همچنین در مورد قصد آنها در پیروی از GNU GPL پرسیدهایم. در پاسخ، سخنگوی Bitmain بیانیه زیر را صادر کرد:
ما واقعا از جامعه منبع باز به خاطر شناسایی آسیبپذیریهای احتمالی سپاسگزاریم و ما به طور جدی این موضوع را پییگری میکنیم. ما همچنان به انجام هر کاری که برای حصول اطمینان از ارائه بهترین و مطمئنترین تجربه استخراج به مشتریان Antminer لازم باشد ادامه میدهیم