هفت هک بزرگ تاریخ ارزهای دیجیتالی
ژانویه 29, 2018
هفت هک بزرگ تاریخ ارزهای دیجیتالی
تا به امروز هکهای بسیاری را در رابطه ارزهای دیجیتالی دیدهایم. در ادامه قصد داریم تا به هفت مورد از بزرگترین هکهای تاریخ ارزهای دیجیتالی اشارهکنیم و آنها را در ابعاد مختلف مورد برسی قرار دهیم؛ هکهایی که دنیای ارزهای دیجیتالی را لرزاندند و بازار را تا سر حد نابودی پیش بردند. در این مقاله قصد بر ترساندن شما نداریم و تنها میخواهیم دلایل به وقوع پیوستن این اتفاقات را برای شما عنوان کنیم، با ارز دیجیتال همراه باشید.
هک Mt.Gox
در سال ۲۰۱۳ «مکس کارپلس» در صدر تمام اخبار دنیا قرار داشت. شرکت او در ژاپن بانام Mt.Gox (Magic The Gathering Online Exchange) با اختلاف بسیار نسبت به رقبا، بزرگترین صرافی بیت کوین در تمام دنیا بود بهطوریکه بیشتر از هفتاد درصد معاملات بیت کوین در دنیا از طریق این صرافی صورت میپذیرفت. اوضاع برای کارپلس به بهترین شکل پیش میرفت و قرار بود تا ایدههای جالبی همچون «کافه بیت کوین» نیز توسط این شرکت به اجرا دربیاید؛ اما اوضاع در زیر پوسته این شرکت بسیار شکننده بود.
مشکل Mt.Gox
قبل از هک سال ۲۰۱۴ نیز مشکلاتی گریبان آنها را گرفته بود که به دلیل مدیریت ضعیف، فرصت پیگیری آنها پیش نیامد. اتفاقات فاجعهبار بسیاری در شرف به وقوع پیوستن بود. یک شرکت که در توکیو کار میکرد، به دنبال فرصتی برای کار کردن با Mt.Gox بود که با دیدن اوضاع آنها وحشت شده شد.
مشکل شماره یک: نبود VCS
اول از همه باید گفت که VCS یا «نرمافزار کنترل نسخه»، یکی از لازمههایی است که هر شرکت مرتبط با توسعه نرمافزارها باید از آن به دلایل بیشماری استفاده کند.
یک VCS به شما این امکان را میدهد که تمام تغییرات را در یک کدبیس ردیابی کنید. با استفاده از این قابلیت نه تنها میتوانید مشاهده کنید که در چه زمانی چه تغییراتی در یک کد خاص اتفاق افتاده، بلکه به شما این امکان داده میشود که بفهمید چه کسی این تغییرات را انجام داده است. VSC همچنین امکان برگرداندن تغییرات را نیز به شما میدهد.
یکی دیگر از فواید VCS، استفاده همزمان چندین کاربر از یک کد خاص بدون وارد شدن نگرانی به توسعهدهندهها یا برنامهنویسها بابت همپوشانی کدهایی است که در یک زمانبر روی آن کار میکنند.
این قابلیت برای شرکتی همچون Mt.Gox بسیار سودمند است چرا که همیشه چندین برنامهنویس بر روی یک کد خاص کار میکردند.
مشکل شماره دو: فقدان یک سازوکار آزمایشکننده
اطلاعات هشداردهنده دیگری نیز به این توسعهدهنده نرمافزار رسیده بود؛ فقدان سازوکاری آزمایشکننده که تا همین چند وقت اخیر نیز در این شرکت بهکار گرفته نشده بود. کمی فکر کنید، بزرگترین صرافی بیت کوین در دنیا چنین سازوکاری را نداشته! درواقع آنها کدهای تست نشده را در اختیار کاربران قرار میدادند! اوضاع بدتر از اینها هم خواهد شد!
مشکل شماره سه: همهچیز در انتها به یک جا ختم میشد
بعدها مشخص شد که در Mt.Gox همه اطلاعات درنهایت باید از یک گذرگاه خاص عبور میکردند. تمام تغییرات در کدها باید بهوسیله شخص مدیرعامل تأیید میشدند. کارپلس آخرین مرحله و نقطه پایان تمام سیستم بود که تمام ناشی از مدیریت بد میشد. مدیرعامل شرکت هیچگاه نباید همه اطلاعات را از یک کانال خاص عبور میداد، این همان کاری بود که انجام گرفت!
مشکل شماره چهار: فقدان مدیریت مناسب
اگر بخواهیم در یک کلام تمام مشکلات بالا را جمعبندی کمی تنها یک عبارت به ذهنمان خواهد رسید. مدیریت بد و بچگانه. «آندریاس آنتونوپولوس» در نقدی مینویسید:
Mt.Gox یک ریسک سیستماتیک برای بیت کوین است، تلهای مرگبار برای تبادل کنندگان و کسبوکاری که توسط یک آدم بیتجربه اداره میشود.
کلماتی رک و تلخ اما کاملاً درست و واقعی. مسئله اینجاست که کارپلس بیشتر یک برنامهنویس ایده آل بود تا یک مدیر. در همان زمان که مشغول کد نویسی بود، نمیتوانست هوش لازم برای مدیریت شرکت را داشته باشد، و متأسفانه به همین دلیل فاجعه بزرگی در شرف وقوع بود؛ اما هیچکس از آمدنش خبر نداشت.
هک سال ۲۰۱۱: نشانهای از اتفاقاتی که قرار است بیافتند.
نهم ژوئن سال ۲۰۱۱، اتفاق عجیبی افتاد. ارزش بیت کوین در Mt.Gox به یک سنت رسید!
عکس بالا را دیدید؟
این نموداری از تمام تراکنشهای بیت کوینِ انجامشده در Mt.Gox در ۱۹ ژوئن ۲۰۱۱ است که افت قیمت آن را به خوبی نشان میدهد. بزرگی دایرهها نیز نمایانگر بزرگی تراکنشهاست.
در میان دقیقاً چه اتفاقی افتاد که منجر به کاهش قیمت شد؟
مهاجم، با هک کردن و ورود به رایانه تنظیمکننده Mt.Gox و استفاده از آن برای انتقال مقدار قابلتوجهی بیت کوین بهحساب خود استفاده نمود. آنها به استفاده از یک نرمافزار تبدیل تمام بیت کوینها را فروختند و باعث ایجاد کرنشهایی در سیستم شدند که درنتیجه آن قیمت بیت کوین با افت شدیدی مواجه شد.
باوجود اینکه قیمت بیت کوین بعد از چند دقیقه دوباره به حالت عادی برگشت اما آسیبها خیلی قبلتر به سیستم زدهشده بودند. تمام حسابهای کاربری با موجودی بالای هشت میلیون و هفتصد پنجاههزار دلار صدمهدیده بودند. Mt.Gox به دنبال ترمیم صدمات حاصل از این فاجعه بود ولی هیچ کاری برای فاجعهای که در شرف وقوع قرار داشت، کارساز نبود.
هک سال ۲۰۱۴: دزدی ۴۷۳ میلیون دلاری
در سال ۲۰۱۴، همه از تأخیر در خدمات Mt.Gox شکایت داشتند. درواقع این مسئله از چوب لای چرخ گذاشتنهای سیستم بانکداری آمریکا بهمنظور مشکلات آئیننامهای برای این شرکت ناشی میشد. در تاریخ هفتم فوریه ۲۰۱۴، شرکت تمام فرایندهای فروش بیت کوین را بهمنظور بازنگریهای فنی و فهمیدن منشأ مشکلات و تأخیرها، متوقف کرد.
این شرکت با انتشار بیانیهای نوشت:
مشتریهای عزیز شرکت Mtgox
در پی تلاشهای ما در رابطه با مشکل فروش بیت کوین، مشخص شد که این مشکل به دلیل بالا بودن ترافیک فروش مانع از کارهای فنی ما برای اصلاح میشود. از همین رو و برای برسی های بهتر سیستم از دسترس خارج خواهد شد.
بهمنظور حل مشکل لازم است تا تمام تراکنشهای مرتبط با فروش متوقف شوند و تمام فرایندهای حال حاضر بازبینی گردند.
بابت اطلاع سریع و بدون هماهنگی از شما عذرخواهی میکنیم اما تمام فرایندهای فروش بیت کوین متوقف خواهند شد و فروشندگان در صف قرار خواهد گرفت و بهمحض رفع مشکل میتوانند دوباره اقدام به انجام عملیاتهای خود کنند. تبادلات در پلتفرم طبق روال عادی قابل انجام است.
تیم ما طی روزهای آخر هفته کار بر روی مشکل را انجام خواهد داد و در روز یکشنبه بهروزرسانیای از کارهای انجامشده اعلام میشود.
دوباره بابت مشکلات به وجود آمده عذرخواهی میکنیم و کمال تشکر را از صبر و شکیبایی و پشتیبانیهای شما داریم.
کمال احترام، تیم MtGox
طی برسی ها، آنها دریافتند که در معرض یک حمله ناشی از انعطافپذیری سیستم هستند.
انعطافپذیری تراکنش چیست؟
قبل از اینکه مفهوم آن را بفهمید، باهم به برسی یک کد ساده از تراکنش بیت کوین میپردازیم.
اگر یک تراکنش بیت کوین را بهصورت کد دربیاوریم به شکل زیر خواهد بود. فرض کنید آلیس میخواهد ۰٫۰۰۱۵ بیت کوین را به باب بفرستد، برای انجام این کار باید مقدار ۰٫۰۰۱۵۷۷ بیت کوین را وارد کند. در این صورت کد به این شکل خواهد شد:
اولین چیزی که میبینید این خواهد بود:
که همان نام تراکنش یا همان (hash) میزان ورودی و ارزش خروجی است.
Vin_sz میزان دادههای ورودی است. ازآنجاییکه آلیس تنها از یکی از تراکنشهای قبلی خود استفاده میکند، عدد واردشده یک است.
Vout_sz به این دلیل که تنها خروجی باب است، عدد دو را شامل میشود.
این هم دادههای خروجی است:
آلیس تنها از یک تراکنش ورودی استفاده میکند، به همین دلیل vin_sz عدد یک است.
در زیر دادههای ورودی، امضای دادههای او قرارداد که در ادامه باید آن را به یاد داشته باشید.
در زیر تمام این اطلاعات دادههای خروجی قرار دارند :
اولین بخش این دادههای نشاندهنده این است که باب ۰٫۰۰۱۵ بیت کوین دریافت خواهد کرد.
بخش دوم نیز نشان میدهد آلیس ۰٫۰۰۰۰۵۱۲ بیت کوین را بهعنوان باقیمانده دریافت میکند.
حالا، به یاد دارید که دادههای ورودی ۰٫۰۰۱۵۷۷ بیت کوین بود؟ این عدد از (۰٫۰۰۱۵+۰٫۰۰۰۰۱۵۲) بیشتر است. کسر این دو مقدار همان کارمزد تراکنش است که ماینرها آن را برمیدارند.
این ساختار یک تراکنش ساده بود.
قبل از اینکه بفهمید انعطافپذیری یک تراکنش چیست، نکته دیگری را باید در نظر داشته باشد: بلاک چین بهمنظور تغییرناپذیری ایجادشده است، که از طریق عملکرد Hash بهدست میآید. این موضوع یعنی اگر اطلاعاتی در بلاک چین وارد شود هیچگاه قابلتغییر نیستند. از همین رو ارزهای دیجیتالی مبتنی بر بلاک چین امنیت فوقالعاده بالایی را دارند.
در این میان اما، راه گریزی نیز وجود دارد.
اگر دستکاری اطلاعات پیش از ورود آنها به بلاک چین رخ دهد چطور؟ حتی اگر نسبت به وقوع آنها نیز آگاهی پیدا کنید، بعد از ورود آنها به بلاک چین هیچ راه برگشتی برای آنها وجود نخواهد داشت.
این موضوع همان انعطافپذیری تراکنشی است.
پس میتوان اطلاعات را دستکاری کرد؟
امضای دادهها را به یاد دارید؟
امضای دادههای که به همراه دادههای ورودی، وارد میشوند را میتوان تغییر داد، که به این وسیله میتوان شناسه تراکنش را نیز عوض کرد. درواقع میتوان کاری کرد که تراکنش بهنوعی نشان داده شود که گویی اصلاً انجامنشده است. در مثال بالا به اینگونه خواهد بود که:
فرض کنید باب میخواهد آلیس ۳ بیت کوین را به او ارسال کند. آلیس ۳ بیت کوین را به آدرس عمومی باب میفرستند و منتظر تأیید ماینرها میشود. در همین حین باب با بهرهگیری از انعطافپذیری تراکنش، امضای آلیس را تغییر داده و شناسه تراکنش را عوض میکند.
حالا این شانس وجود دارد که تراکنش دستکاریشده زودتر از تراکنش آلیس تأیید شود که در این صورت موجب بازنویسی تراکنش آلیس میشود. وقتیکه باب سه بیت کوین خود را دریافت میکند، بهراحتی به آلیس میگوید که آنها را دریافت نکرده است. آلیس نیز با دیدن تراکنش ناموفق سرویس را مجاب به بازفرستادن بیت کوینها میکند. درنتیجه باب، بهجای سه بیت کوین، شش بیت کوین را دریافت میکند.
این اتفاق دقیقاً اتفاقی است که در مورد Mt.Gox رخ داد. به دلیل مدیریت بد و نبود برنامههای مقابلهای، چیزی در حدود ۴۷۳ میلیون دلار بیت کوین که ۷ درصد تمام بیت کوینهای دنیا را شامل میشود از سیستم به سرقت رفت.
پیامدها
زمان وقوع این حمله به Mt.Gox بسیار بد بود؛ چراکه بیت کوین بهآرامی داشت اعتماد جریان اصلی را به سمت خود جلب میکرد. این ترس وجود داشت که حمله به Mt.Gox باعث ناامیدی و سلب اطمینان مردم نسبت به بیت کوین طی چهار الی پنج سال شود. کمی بعد از حمله ارزش بیت کوین بهشدت افت کرد. این افت در نمودار پایین قابلمشاهده است.
Mt.Gox اعلام ورشکستگی کرد و کمی بعد دریافت که پولهای بهدستآمده از طریق صرافی دیگری بانام BTC-e پولشویی شده است. مالک این صرافی «الکساندر وینیک» در یونان دستگیر شد و به جرم پولشویی پولهایی که از طریق Mt.Gox بهدستآمده بود به ایالاتمتحده آمریکا تحویل داده شد.
در صورت اثبات این اتهام او باید ۵۵ سال را در زندان سر کند. اقدامات پولشویی از طریق دیگر صرافی این فرد بانام Tradehill انجامگرفته بود.
خوشبختانه بیت کوین این اتفاق را پشت سر گذاشت و از آن زمان به روند صعودی خود ادامه میدهد.
هک DAO
حالا که راجع به بزرگترین حمله هکرها به بیت کوین صحبت کردیم، نوبت اتریوم و بزرگترین حمله به این ارز دیجیتالی است. این حمله و عواقبش به حدی بزرگ بود که توسعهدهندگان آن مجبور شدند بهمنظور دفع و پیشگیری از حملات مشابه، این ارز دیجیتالی را دوباره بسازند. قبل از توضیح در موردحمله، بهتر است تا چند پیشزمینه تاریخی را برای شما تشریح کنیم.
ترکیب DAO
تمام اکوسیستم اتریوم بر پایه قراردادهای هوشمند کار میکند. درواقع قراردادهای هوشمند روشی است که در اکوسیستم اتریوم، اعمال مختلف صورت میپذیرند. به عبارت سادهتر، قراردادهای هوشمند، قراردادهایی خودکار هستند که مفاد قرارداد را خودشان تعیین مینمایند.
«سازمان مستقل غیرمتمرکز» یا بهاختصار DAO، قراردادی پیچیده و هوشمند است که قرار بود بهوسیله آن تمام سیستم اتریوم زیرورو شود. درواقع DAO قرار بود تا سرمایه را مستقل سازی کند و در آیندهای نزدیک تمام اپلیکیشن های مبتنی بر خود را تأمین مالی نماید.
سازوکار آن نیز بسیار ساده بود. اگر میخواستید به هر شکلی اپلیکیشن مستقل خود را تأمین مالی نمایید، آنگاه باید توکن های DAO باارزش مشخص اتریوم میخریدید. درواقع به این وسیله و با خرید توکن ها شما بهطور رسمی عضوی از سیستم DAO میشدید.
حالا، این اپلیکیشن ها چگونه تأیید و ساخته میشدند؟ ابتدا باید توسط سازندگان گواهیهای عدم آلودگی به ویروسها و برنامههای مخرب را دریافت میکردید. این سازندگان درواقع مقامات اصلی اتریوم بهحساب میآمدند. سپس میبایست توسط دارندگان توکن های DAO رأی اعتماد دریافت میکردید. اگر رأی ۲۰ درصد از این افراد کسب میشد، اجازه تأمین مالی پروژه به شما اعطا میشد.
پتانسیلهای DAO به همراه انعطافپذیری، کنترل و شفافیت کاملی که ارائه میکرد، به نحوی بیسابقه بود و با استقبال کمسابقه مردم مواجه شد. طی ۲۸ روز بعد از تأسیس، چیزی در حدود ۱۵۰ میلیون دلار جمعآوری شد. در آن زمان، این مقدار ۱۴ درصد از تمام توکن های اتریوم را شامل میشد.
شاید این سؤال برای شما پیشآمده باشد که باوجوداین همه مزیت چطور یکی از این سیستم بیرون رفت؟ یا اگر پروژهای که شما چندان مایل به شراکت در آن نیستید، تأیید میشد، چطور میشد از شراکت صرفنظر کرد؟ به این منظور، راه خروجی بانام «عملکرد جداگانه» ایجاد شد. به این وسیله میتوانستید از پروژه بیرون روید و اترهای خود را نیز دریافت کنید، و حتی DAO جدیدی برای خود ایجاد نمایید. این DAO های جدید بانام «DAO نو رس» شناخته میشدند. به این وسیله شما و تعدادی دیگر از دارندگان توکن که مایل به شرکت در یک پروژه خاص نبودند، با ایجاد سیستمی جدید پذیرای پروژههای دیگر میشدید.
یک شرط نیز در قرارداد وجود داشت که بر اساس آن، در صورت استفاده از عملکرد جداگانه، باید ۲۸ روز اترهای خود را نگه میداشتید و سپس آنها را خرج میکردید. تا اینجا همهچیز درست و بر اساس برنامه است، بهجز یک چیز؛ مشکلی بسیار کوچک. بسیاری از مردم این مشکل را بهصورت شکافی بالقوه میپنداشتند. خالقان DAO نیز به آنها اطمینان دادند که هیچ مشکل بزرگی گریبان آنها را نخواهد گرفت. مشکل همینجا بود. دقیقا مشکل بزرگی گریبانشان را گرفت. مشکلی که بعدها باعث تمایز میان اتریوم و اتریوم کلاسیک شد.
حمله DAO
در ۱۷ ژوئن ۲۰۱۶، فردی از این شکاف استفاده کرد و باعث از دست رفتن یکسوم سرمایه DAO شد. مبلغی بالغبر ۵۰ میلیون دلار. شکافی که هکرها از آن استفاده کرده بودند بسیار ساده و ابتدایی بود. اگر فردی تمایل داشت تا از DAO خارج شود باید درخواستی را ارسال میکرد. پروسه خروج نیز طی دو مرحله انجام میگرفت:
- برگرداندن اتریوم های فرد در قبال توکن های DAO
- ثبت تراکنش و بهروزرسانی موجودی توکن ها در داخل سیستم
کاری که هکرها انجام داده بودند، شامل یک عملکرد برگشتی در درخواست میشد که پروسه مذکور را تغییر میداد. بر این اساس:
- گرفتن توکن های DAO از کاربر و برگرداندن اتریوم های درخواستی
- قبل از ثبت تراکنش، عملکرد برگشتی، باعث میشد تا کد بهعقب برگشته و اترهای بیشتری را برای توکن های مشابه انتقال دهد.
این کار تا مرز ۵۰ میلیون دلار پیش رفت و اترهای جمعآوریشده در یک DAO نورس ذخیره شدند. شعلههای این آتش در تمام جامعه اتریوم نفوذ کرد.
لازم به ذکر است که هک به دلیل مشکلی در DAO اتفاق افتاد نه به خاطر مشکل در اتریوم. اتریوم در پسزمینه کار میکند و DAO مبتنی بر آن.
«گاوین وود»، از بنیانگذاران اتریوم در اظهارنظری اعلام کرد: «مثل این است که بگوییم هرگاه وبسایتی از دسترس خارج میشود، باید بگوییم تمام اینترنت خرابشده است!»
عواقب: طی اجماع جامعه اتریوم، در پایان، تصمیمی اتخاذ شد که بر پایه آن، ارائه یک سافت فورک راهحل کار است. با این کار نه تنها میتوان از قابلیت برگردان جانبی در مورد اتریوم بهره برد، بلکه باعث از یاد رفتن حمله DAO نیز میشود. بااینحال توسعهدهندگان دریافتند که با ارائه یک سافت فورک احتمال حملات DDOS بیشتر خواهد شد. در پایان این اتفاق منجر به جداسازی دو نوع اتریوم شد. یکی اتریوم اصلی که با نام اتریوم کلاسیک از آن یاد میشود و دیگری اتریوم جدید.
هک بیت فاینکس
هک پلتفرم تبدیل ارزهای دیجیتالی، بیتفاینکس، دومین هک بزرگ تاریخ بیت کوین است. این صرافی که در هنگ کونگ قرار دارد، در ۲ آگوست سال ۲۰۱۶ اعلام کرد که ۱۲۰ هزار بیت کوین که در آن زمان ارزشی معادل ۷۲ میلیون دلار را داشتند، به سرقت رفتهاند. پیش از برسی ابعاد مختلف این حمله ذکر چندین نکته ضروری است.
کیف پولهای چند امضایی چه نوع کیف پولهایی هستند؟
برای درک بهتر عملکرد کیف پولهای دیجیتالی چند امضایی، آنها را مانند گاوصندوقی در نظر بگیرید که برای باز شدن به چندین کلید نیاز دارند. این نوع کیف پولها برای دو کاربرد مناسباند:
اول اینکه، برای ایجاد امنیت بیشتر در رابطه با خطاهای انسانی.
دو، بهمنظور ایجاد کیف پولی با پیروی از دموکراسی که میتواند برای یک یا چند کاربر مورداستفاده قرار گیرد.
حالا یک کیف پول چند امضایی چگونه ما را از خطاهای انسانی مصون میدارد؟ با مثال از بیتگو، یکی از اصلیترین کیف پولهایی که از قابلیت چند امضایی بهره میبرد به این سؤال پاسخ میدهیم. این کیف پول از سه کلید شخصی استفاده میکند. یکی توسط خود شرکت نگهداری میشود، یکی توسط کاربر و دیگری کلیدی است که بهعنوان کلید پشتیبان از آن یاد میشود و میتوان بهوسیله آن شخص سوم را بهعنوان صندوقدار یا هر عنوان دیگری به سیستم اضافه کرد. برای انجام هر تراکنش وجود دو کلید از سه کلید اشارهشده لازم است. در این صورت، باوجود تهدید هکرها، امکان دستیابی آنها به دو کلید مشکل است. از طرف دیگر در صورت گمشدن یکی از کلیدها به هر دلیلی، میتوان از کلید یدکی که به دوست خود دادهاید استفاده کنید.
حالا، چطور این کیف پولها باعث ایجاد محیطی دموکراتیک میشوند؟ تصور کنید که شما در شرکتی کار میکنید که از ده نفر، رضایت هشت نفر برای انجام تراکنش حیاتی است. با استفاده از نرمافزاری مثل «الکتروم» ایجاد کیف پولی با ده کلید کار بسیار راحتی است. به این وسیله میتوانید تراکنشهایی را بر پایه دموکراسی در شرکت خود انجام دهید.
باوجود تمام این مسائل، این کیف پول از نوع مبتنی بر اینترنت و آنلاین است، از همین رو باید از آن برای مقاصد اقتصادی استفاده کنید. در مورد هک بیتفاینکس، این اتفاق علیرغم وجود امنیت چند امضایی رخ داد. بهعلاوه در پایان، شرکتی که از کیف پول آن استفاده میکنید، یکی از کلیدهای شخصی را در اختیار دارد. استفاده از سرمایه شما توسط آنها کاملاً به مسائل اخلاقیشان برمیگردد.
این هک چگونه اتفاق افتاد؟
این مشکل از نیاز بیتفاینکس به ارتقای سطح امنیتی و قابلیت تبدیل به پولهای رایج برای کاربرانش، سرچشمه میگرفت.
بیشتر تراکنشها در بستری اینترنتی انجام میشدند که احتمال قرار گرفتن در معرض حملات هکرها را افزایش میدهد. بیتفاینکس و بیتگو در سال ۲۰۱۵ تفاهمنامه همکاری را به امضا رساندند و سیستم ایجاد کردند که بهوسیله آن کیف پولها چند امضایی، برای تمام کاربران در دسترس بود. در این کیف پولها، کلیدها میان تعدادی از صاحبان پخششده بود تا بتوان ریسکهای احتمالی را کنترل کرد.
بیتفاینکس در بیانیهای اعلام کرده بود:
دوران درهمآمیختگی مشتریهای بیت کوین و تمام خطرات امنیتی آن بهپایان رسیده است.
در پایان همین اقدامات امنیتی بود که باعث هک شدنشان شد. همانطور که پیشتر گفتیم، یک کیف پول چند امضایی دارای کلیدهایی است که بین چندین نفر از دارندگان پخششده. بهمنظور انجام یک تراکنش امضا و تأیید تمام این افراد نیاز است. در مورد بیتفاینکس، دو کلید در اختیار خودشان و یک کلید توسط بیتگو نه داری میشد.
از همین رو، بیتگو بهعنوان یک لایه امنیتی اضافی و بهنوعی مهر تأییدی بر تراکنشهای بیتفاینکس تلقی میشد. به دلیل همین لایه امنیتی جدید، بیتفاینکس، میزان حافظههای سرد خود را کاهش داد و شروع به ذخیره پولهای مشتریها خود در کیف پولهای چند امضایی گرم نمود. این ایده بهمنظور سهولت در تبدیل ارزها به پول، بدون به خطر انداختن امنیت آنها، صورت گرفته بود. در هنگام حمله هکرها، آنها نه تنها امضای بیتفاینکس را برای خروج بیت کوینها در تراکنشها استفاده میکردند، بلکه گاهی با دور زدن موانع امنیتی بیتگو، امضای آنها را نیز در تراکنش مورداستفاده قرار میدادند.
نظریههای بسیاری در مورد اینکه دقیقاً چه اتفاقاتی افتاده وجود دارد. از تئوریهای مرتبط با توطئه تا نظریاتی صرفاً مضحک. اما طی معتبرترین نظریه، سیستم راهاندازی بیت فاینکس دچار نقص بوده بهطوریکه بیتگو همان کاری را با سرمایهها میکرده که بیتفاینکس به آن گفته بود.
درنتیجه این کیف پول چند امضایی اصلاً چند امضایی نبوده است! در این میان تنها یک نقطه بهعنوان اشکال وجود داشته و آنهم سرورهای بیتفاینکس بودهاند. البته باید به یاد داشته باشیم که بیتگو بهصورت عمومی اعلام کرد که سرورهای آنها بههیچوجه مورد هجوم و رخنه هکرها قرار نگرفته بودند.
عواقب
قیمت بیت کوین با کاهش شدیدِ بیست درصد مواجه شد. پیش از آنکه بیت کوین بتواند دوباره روی پای خود بیستد قیمت آن تا هر بیت کوین ۴۸۰ دلار نیز افت نمود.
بازیابی بیتفاینکس هم بهنوعی ستودنی است.
آنها در ابتدا توکن های BFX را میان مشتریها خود تقسیم کردند که نوعی فته طلب به شمار میرفت. البته شایعههایی هم وجود دارند که طبق آنها، این کار بیتفاینکس خریدن زمان بیشتر برای بازپرداخت بدهیهای خود به کاربرانش بوده. اول سپتامبر، بهمنظور کاهش اضطرابها و ترسهای مرتبط با بیت کوین، ۱٫۱ درصد توکن ها را بازخرید کردند.
بیتفاینکس با اضافه کردن سازوکارهای (Pairs trade) موجب سریعتر شدن انجام فروشها و ایجاد OTC برای تبادلات بزرگتر شد که درنهایت به جذب کسبوکارهای بزرگ و در نتیجه پرداخت سریعتر قرضها شد.
در تاریخ سوم آوریل سال ۲۰۱۷، بیتفاینکس تمام تبادلات BFX را متوقف کرد و شروع بهنقد کردن این توکن ها با مبلغ یک دلار برای هر توکن نمود.
هک BitStamp
در اواسط سال ۲۰۱۵، صرافی محبوب BitStamp مورد یک حمله بزرگ قرار گرفت. طی این حمله ۱۹,۰۰۰ واحد بیت کوین از فضای کیف پول سرد این صرافی به سرقت رفت. بیتاستمپ در آن زمان بزرگترین صرافی اروپا بود که پس از فروپاشی MtGox افراد زیادی به آن روی آورده بودند. پس از این اتفاق کلیه فعالیت های سایت برای چند ماه به حالت تعلیق در آمد. سرقت از کیف پول های سرد که به اینترنت متصل نبودند، بسیاری از کاربران را به اعتراض وا داشت که احتمالا این سرقت کار افراد داخلی در این صرافی بوده است.
اما مانند بیت فینکس این صرافی هم تمام مبالغ به سرقت رفته را آرام آرام به کاربران بازگرداند.
پیامد ها
این حمله رشد صعودی بیت کوین را برای دو ماه متوقف کرد. این هک یه فضای انتقادی بزرگ برای بیت کوین ایجاد کرد و منتقدان نسبت به ماهیت و عدم قانونگذاری آن بسیار معترض بودند. البته پس از بازگشت پول ها به کاربران،اعتماد ها کمی بهبود یافت و رشد قیمت بیت کوین بازهم شروع شد.
به باد رفتن سرمایهها در Parity!
اگرچه ازلحاظ فنی این مورد، جزو هکهای بزرگ در تاریخ ارزهای دیجیتالی به شمار نمیرود ولی ذکر کردن آن خالی از لطف نیست. چقدر پیش میآید که ببینید کسی ۱۵۰ میلیون دلار را به باد بدهد؟ این دقیقاً همان کاری است کاربر (devops199) انجام داد. او این کار را با نابود کردن قرارداد ۰x863df6bfa4469f3ead0be8f9f2aae51c91a907b4 صورت داد.
۲۰ جولای، به دلیل نقصی که پیش از آن رخداده بود، نسخه جدید کیف پول قرارداد Parity منتشر شد. متأسفانه، عیب عجیبی در کدهای جدید وجود داشت. بعدها مشخص شد که طی این نقص ممکن است، کیف پول با استفاده از قابلیت initWallet به یک کیف پول چند امضایی تبدیل شود.
Parity تمام کیف پولهای چند امضایی خود را به یک کتابخانه قراردادها (library contract) متصل میکند که این کار را بهمنظور عاملیت خود انجام میدهد. بهطور خلاصه، تمام کیف پولهای چند امضایی Parity دارای یک نقطه نقص بودهاند و آن نقطه در سالیدیتی کد قرار داشته است:
constant _walletLibrary = 0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4
بر طبق نوشتههای یکی از کابران سایت Reddit بانام (ItsAConspiracy)، این کار بهمنظور صرفهجویی در وقت و انرژی صورت گرفته است. درواقع بهجای کپی و پیست کردن یک کد در هر کیف پول چند امضایی، آنها اقدام به استفاده از یک کتابخانه کردهاند؛ از همین رو بهجای داشتن یک کد که در هر کیف پول تکرار میشده، یک مکان مشخص که در آن هر کیف پول میتوانسته عملکردهایی را به انجام برساند، وجود داشته.
پس کاربر میتوانسته از کتابخانه بهصورت یک کیف پول استفاده کند و تمام قابلیتهای صاحب آن را نیز در اختیار داشته باشد که این قابلیتهای شامل از بین بردن کامل آنهم میشده.
تمام قراردادها دارای ساختاری «از بین برنده» هستند. برای فهم این موضوع به نمونه پایین دقت کنید :
از این قابلیت برای پایان بردن قرارداد و انتقال باقیمانده توکن ها به خالق آن استفاده میشود.
درواقع باعث اتمام قرارداد میشود.
پس، وقتی یک کاربر کیف پول را از بین ببرد، درواقع کیف پول و کتابخانه و تمام عملکردهای لگاریتمی مرتبط را نیز از بین برده. از همین رو، تمام کیف پولها متصل به این کتابخانه بیمصرف شده و تقریباً ۳۰۰ میلیون دلار بربادرفته!
عواقب
Parity در مورد این اتفاق در توییتر نوشت:
همچنان تمام داراییها غیرقابل دسترسی هستند. ازآنجاییکه اتریوم غیرقابل دستکاری است، این کار نیز قابلبرگشت نیست. تنها میتوان از طریق یک هاردفورک سرمایههای ازدسترفته را بازگرداند.
جامعه اتریوم نیز نسبت به این موضوع دوگانهاند. در بسیاری از نظرسنجی ها توییتری، میزان موافقان و مخالفان هارد فورک ۵۰-۵۰ است.
همین حالا و در حال نگارش این مطلب، چیزی در حدود ۳۰۰ میلیون دلار بهصورت اتریوم در فضایی قرارداد که هیچکس نمیتواند ادعای مالکیت آنها را داشته باشد.
هک «نایس هَش»
ششم دسامبر ۲۰۱۷، در ساعت ۱۸دقیقه بامداد، شرکت اسلوونیایی نایس هش هک شد و ۴۷۰۰ بیت کوین به ارزش ۸۰ میلیون دلار به سرقت رفت.
«مارکو کوبال» مدیر اجرایی نایس هش، در ویدیویی زنده در فیسبوک در مورد نگرانیهای موجود در مورد این حمله صحبت کرد. او تنها به گفتن ورود هکرها به رایانههای کارکنان که منجر به سرقت شد، بسنده کرد.
مهاجمین با استفاده از هویت کارکنان این شرکت، توانستند از سیستم نایس هش سرقت کنند. کوبال در ویدیوی خود گفت :
باوجود پیچیدگی سیستمها در اینجا، به نظر میرسد این حمله بهصورت گستردهای برنامهریزیشده و دارای جنبههای فوق پیچیده است.
نایس هش، ۲۴ ساعت را برای چک کردن و آنالیز جنبههای مختلف این هک از دسترس خارج شد. در مصاحبه مطبوعاتی این شرکت اعلام شد :
سیستم پرداخت ما دچار مشکل شد و با رخنه بر آن، محتویات کیف پولهای بیت کوین به سرقت رفتند. ما در حال کار بر روی میزان دقیق بیت کوینها هستیم. واضح است که اهمیت این موضوع بسیار است و ما بهسختی در حال کاربر روی برطرف کردن آن در روزهای پیش رو هستیم. بهمنظور تسریع امور، تمام اطلاعات در اختیارات مقامات و مراجع امنیتی قرارگرفته است و ما در حال همکاری با آنها برای رفع هر چه سریعتر مشکل هستیم.
هک Youbit
هک شدن این صرافی کره ای خیلی اتفاق بزرگی نبود اما اینکه در یک سال دوبار مورد حمله قرارگرفته است، در نوع خود جالب است . روز ۱۹ (۲۹ دی ماه)، این تجارتخانه بزرگ ارزهای دیجیتال که در آوریل هم مورد حجوم قرارگرفته بود، هک شد.
هکرها با به سرقت بردن ۱۷ درصد از سرمایه های این سایت، آن را تا مرز ورشکستگی پیش بردند.
این صرافی مبالغ سرقت رفته از کیف پول های گرم را اعلام نکرده است اما کیف پول های سرد از این حمله در امان ماندند. این شرکت کره ای قول داده است که تمام مبالغ به سرقت رفته کاربران را رفته رفته پرداخت کند.
در آوریل سال جاری هم که اسم این صرافی Yapizon بود،حدود ۳۱۰۰ بیت کوین از این صرافی سرقت رفت که اکنون بالای ۶۰ میلیون دلار ارزش دارد.
پیامدها
هک شدن دوباره این صرافی باعث شد تا دولت کره جنوبی با برگزاری جلساتی درباره قوانین ارزهای دیجیتال تصمیم گیری کند. همچنین اعتماد کاربران زیادی نسبت به این سایت از بین رفته است.
نتیجهگیری
از مقیاس بزرگ هک Mt.Gox گرفته تا ضعف مدیریتی و عواقب وخیم هک شدن DAO و فاجعه تصادفی Partity برای شما گفتیم تا بتوانید درک درستی از حملات هکر به دنیای ارزهای دیجیتالی پیدا کنید.
ولی بیتفاینکس نشان داد که باوجود تمام اتفاقات میشود دوباره روی پای خود ایستاد.
بهطورکلی، به یاد داشته باشید بالا بردن اطلاعات خود نسبت به خطرات دنیای ارزهای دیجیتالی باعث میشود تا بفهمید، همیشه راه خروجی برای مشکلات وجود دارد. ارزهای دیجیتالی نیز مانند سیستمهای مالی و بانکداری دارای نواقص فراوانی هستند و هیچکس نیز نمیتواند منکر این حقایق باشد.
با تشکر