blockchain_0
۵ اردیبهشت ۱۳۹۷

۵ خطر امنیتی بلاکچین و راهکارهای کاهش آن

بلاک‌چین، ویژگی‌های امنیتی ذاتی دارد که سبب می شود فناوری دفترکل توزیع شده (DLT) ، در برابر حمله مقاوم باشد. با این حال DLT در معرض مسائل و خطراتی است که پایگاه داده متمرکز نیست. در واقع خطرات امنیتی در زنجیره قالب وجود دارد که باید شناخته شوند و آن‌ها را کاهش داد. آسیب‌پذیری‌های زنجیره قالب آسیب‌پذیری‌های نقطه پایانی. یکی از آسیب‌پذیری‌های عمده که با DLT ایجاد می‌شود، که خارج از محدوده زنجیره قالب است "آسیب‌پذیری‌های نقطه پایانی" نام دارد. با این وجود، این مسائل بر امنیت فناوری زنجیره قالب تاکید دارند و باید مورد توجه قرار گیرند.
blockchainis
  نقاط پایانی، فضایی هستند که افراد و زنجیره قالب با آن مواجه هستند. در بیشتر موارد، نقاط پایانی کامپیوترهایی هستند که افراد و شرکت‌ها برای دسترسی به خدمات مبتنی بر زنجیره قالب از آن استفاده می‌کنند. ارائه دهندگان چنین خدماتی، مؤسسات مالی، صنعتی و یا ارز رمزنگاری شده هستند. استفاده از یک زنجیره قالب، با اطلاعات ورودی به یک کامپیوتر شروع می شود و با اطلاعات خروجی از یک کامپیوتر پایان می‌یابد، این روند دسترسی به زنجیره قالبی است که اطلاعات آن زنجیره آسیب‌پذیر است. علت این امر به اعتبارنامه‌هایی که نیازمند دسترسی به یک دفترکل توزیع شده و به اشتراک گذاشته شده و اینکه چطور این اعتبارها می توانند توسط ضعف امنیتی در نقاط پایانی ظاهر شوند، بر می‌گردد. جهت دسترسی به یک زنجیره قالب، به یک کلیدعمومی و یک کلیدخصوصی نیاز است. از آنجایی که اساساً امکان دسترسی به داده ها در یک زنجیره قالب بدون ترکیب مناسب کلید عمومی و خصوصی، غیرممکن است، این ویژگی، نشان دهنده قدرت و ضعف فناوری زنجیره قالب است. بدون داشتن کلید، هیچ فردی قادر به دسترسی به اطلاعات شما نخواهد بود. از آنجایی که هکرها می‌دانند که تلاش برای حدس کلیدها بی فایده است، آن‌ها زمان خود را صرف سرقت کلید می‌کنند. بهترین شانس به دست آوردن کلیدها حمله به ضعیف ترین نقطه در کل سیستم، یعنی رایانه شخصی یا دستگاه تلفن همراه است. همان آسیب‌پذیری‌های امنیتی که کامپیوترها و دستگاه‌های تلفن همراه اندرویدی و ویندوزی را حساس به بدافزار می‌سازد، می تواند آن‌ها را هدف مهاجمان زنجیره قالب قرار دهد. هر زمان که کلیدهای زنجیره قالب وارد می‌شوند یا به صورت رمزنشده بر روی دستگاه‌ها ذخیره می‌شوند، می توانند در معرض دید مهاجمان قرار گیرند. گام‌های ساده زیر در حفظ کلیدهای زنجیره قالب در برابر سرقت مهاجمان بسیار موثر است:
  • از آنتی ویروس خوب برای دستگاه‌های ویندوز و اندروید استفاده کنید و از به روز رسانی سیستم عامل اطمینان حاصل کنید.
  • اسکن‌های ضد بدافزار را به طور مرتب اجرا کنید.
  • هرگز کلیدهای زنجیره قالب خود را در یک فایل متنی، سند ورد یا هر فایل دیگری که به راحتی توسط شخص غیرمجاز می تواند قابل خواندن باشد، ذخیره نکنید. در صورت نیاز به ذخیره کلیدها در دستگاه خود، از یک نرم‌افزار رمزنگاری معتبر برای امن نگه داشتن آن‌ها استفاده کنید.
  • هرگز کلیدهای خود را در بدنه هیچ ایمیلی به هر کسی با هر هدف نفرستید. در صورتی که باید از طریق ایمیل کلیدها را به اشتراک بگذارید، از ویژگی ایمیل یعنی کیف پول زنجیره قالب خود استفاده کنید.
خطرات فروشنده. یک دفترکل توزیع شده، هیچ ارزشی ندارد، مگر اینکه بتوانیم اطلاعات را به داخل و خارج آن انتقال دهیم. چنانچه DLT سود بیشتری را دریافت کند، بازار راه‌حل‌های شخص ثالث، رشد چشمگیری خواهد داشت. ما می‌توانیم انتظار داشته باشیم که توسعه بخش ثالث در زنجیره قالب در این شش زمینه برتر قرار می‌گیرد:
  • پلتفرم‌های یکپارچه سازی زنجیره قالب
  • پردازنده‌های پرداخت
  • کیف پول‌ها
  • فناوری‌های مالی (Fintech)
  • پلتفرم‌های پرداخت زنجیره قالب
  • قراردادهای هوشمند
نیازمندی برای راه‌حل‌های DLT موجب رشد بازارهای جدید برای توسعه زنجیره قالب شده است. سازمان‌های خواستار توسعه برنامه‌های کاربردی و پلتفرم بخش ثالث زنجیره قالب، باید بدانند که امنیت زنجیره قالب آن‌ها از ارزش اعتماد فروشنده‌های آن‌ها بیشتر نیست. امنیت ضعیف در سیستم‌های شخصی خود، کد ناقص، و حتی آسیب‌پذیری‌های پرسنلی، می تواند اطلاعات اعتبارنامه‌های زنجیره قالب مشتریان خود را در اختیار افراد غیرمجاز قرار دهد. تهدید فروشندگان به ویژه هنگامی که محصول شامل قراردادهای هوشمند باشد، درست است. از آنجا که کل عملیات سازمان می تواند، به میزان بیشتر یا کمتر، به عنوان یک قرارداد هوشمند در زنجیره قالب مستقر شود، آسیب‌پذیری در اینجا می‌تواند فاجعه‌بار باشد. اجتناب از ضعف‌های مربوط به فروشندگان زنجیره قالب، نیازمند بررسی دقیق هر فروشنده‌ای است که می‌تواند به اکوسیستم زنجیره قالب شما کمک کند. تجربه و شهرت، عوامل کلیدی است که می توانند جهت جدا سازی افرادی که می‌توانند در ساخت کسب و کار شما کمک کنند را از افرادی که سبب سقوط آن می‌شوند جدا کند، به کار برده شوند.
  1. آزمون نشده در مقیاس بزرگ
یکی از نگرانی‌های مهم امنیت زنجیره قالب که در بسیاری از صنایع به آن فکر نمی کنند، این است که "در مقیاس کامل چه اتفاقی می‌افتد؟". معماری DLT به طور ذاتی مقیاس پذیر است. در حقیقت، با هر تغییر در زنجیره قالب، مقیاس آن افزایش می‌یابد. پس از اینکه تغییرات از یک عدد مشخصی بزرگ‌تر شد، مقیاس توسط یک قالب یا بلوک داده، افزایش می‌یابد. تا به امروز، هیچ مسئله مهم امنیتی، ناشی از گسترش ساختمان زنجیره قالب، رخ نداده است. با این حال، شورای نظارت بر ثبات مالی[۱] (FSOC)، خیلی مطمئن نیست که این وضعیت باقی خواهد ماند. با توجه به FSOC، رشد زنجیره قالب، حداقل دو خطر را که به طور مستقیم با زنجیره قالب مرتبط است، ایجاد می‌کند:
  1. از آنجایی که امروزه بلاک‌چین ها تا اندازه ای بزرگ هستند، ما با هر گیگابایت توسعه به قلمرو ناشناخته ، نزدیک می‌شویم. تجربه محدودی از صنعت DLT به معنی تجربه محدود برای شناسایی و پاسخ به مشکلات است. ارزش یک شکست امنیتی زنجیره قالب، به اندازه کافی بالا نبوده است که نیاز به تغییر اساسی در سیستم شود، که این هم خوب است و هم بد.
  2. FSOC، همچنین نگران است که زنجیره قالب می‌تواند در معرض تقلب قرار گیرد. این امر در صورتی است که تعداد قابل توجهی از شرکت‌کنندگان علیه سایر شرکت کنندگان، مخالفت کنند.
چالش‌های امنیتی زنجیره قالب ظاهرشده، توسط FSOC، دارای اعتبار شده اند. در مورد خطر ناشناخته، تنها راه‌حل این است که هر شرکت‌کننده در اکوسیستم زنجیره قالب، در هنگام توسعه و یا استفاده از فناوری دفترکل توزیع شده، بهترین شیوه‌ها را در همه زمینه‌ها به کار گیرد. حفظ معماری توافق در برابر خراب شدن، احتمالاً به سختی چیزی که به نظر می‌رسد ممکن است نباشند. فقدان استانداردها و مقررات[۲] به گفته Forbes، یکی از مسائل امنیتی اصلی زنجیره قالب، عدم وجود مقررات و استانداردهاست. فقدان پروتکل های استاندارد به این معنا است که توسعه‌دهندگان زنجیره قالب نمی توانند از اشتباهات دیگران سود ببرند. برای هر شرکت و هر محصول عملیاتی، توسط مجموعه‌ای از قواعد مختلف، خطرات ناشی از فناوری‌های غیراستاندارد از هر نوع، وجود دارد. همچنین در بعضی از موارد، ممکن است زنجیره‌ها به یکپارچه‌سازی نیاز داشته باشند. بنابراین، عدم استانداردسازی، می‌تواند به معنای خطرات جدید امنیتی در نتیجه‌ی فناوری‌های متنوع ادغام شده، باشد. راه‌حل مسئله استانداردسازی و مقررات، پیچیده‌تر از بسیاری از مسائل فنی است. با این حال، این مسائل در نهایت حل خواهند شد. همانند بسیاری از فناوری‌های دیگر، سرانجام تکامل با پیروی از مقدمات زیر حاصل می‌شود:
  • استانداردها و مقررات اجباری که ایجاد آن احساس می‌شود.
  • مقررات و استانداردسازی خود تنظیم‌شده در میان کنسرسیوم‌ها در مناطقی که نیازمند نوآوری هستند.
  • هیچ مقررات و استانداردسازی، برای داخل منزل ساخته نشده است و فقط در داخل سازمان استفاده می‌شود.
  1. کد آزمون نشده
با وجود اینکه نزدیک ۸ سال از تاریخ بیت کوین می‌گذرد، زنجیره قالب‌هایی که به ارزهای رمزنگاری شده اختصاص داده نشده‌اند، هنوز تجربی هستند. به همین ترتیب، برخی از سازنده‌های DLT وسوسه می‌شوند تا کد تست شده کمی در زنجیره قالب، اجرا کنند. یکی از نمونه هایی که در حال حاضر مورد توجه قرار گرفته است حمله DAO است. DAO، یک سازمان مستقل غیرمتمرکز است که روی زنجیره قالب ساخته شده است و هدف آن اجرای کد برای ریسک سرمایه‌گذاری قراردادهای هوشمند است. ممکن است بگویید، یک DAO، صندوق سرمایه‌گذاری انبوه پر مخاطره است و در سراسر زنجیره قالب وجود دارد. DAOهای بسیاری وجود دارد که هر کدام برای میزبانی و اجرای قراردادهای هوشمند برای سازمان‌های خاصی ساخته شده اند. “The DAO”در سال ۲۰۱۶ توسط اعضای تیم اتریوم[۳] تأسیس شده است. در طول فروش انبوه، بسیاری از اعضای جامعه اتریوم ابراز نگرانی مبنی بر اینکه کد DAO حساس به حمله است، کردند. بعدها، یک اشتباه بازگشتی "recursive bug" در یک DAO پیدا شد. حمله ای که روی DAO اتفاق افتاد، ناشی از سوءاستفاده از دو آسیب‌پذیری در کد DAO بود. مهاجم می‌دانست که کد طوری طراحی شده است تا امکان تقسیم و انتقال نشانه‌ها، بین حساب‌ها را فراهم کند. همچنین مهاجم پی برد که کد نمی‌تواند مانده حساب را به اندازه کافی سریع به روز رسانی کند تا از انتقال نشانه‌های یکسان، بیش از یک بار جلوگیری کند.  
blockchain-650x360
در نتیجه، مهاجم یک تابع تقسیم[۴] را اجرا می‌کند و یک حساب “child DAO” ایجاد می‌کند. سپس درخواست‌های انتقال مکرر را از اولین حساب خود به صورت سریع انجام می‌دهد. از آنجایی که کد پس از هر انتقال، مانده حساب اصلی را کاهش نمی‌دهد، هیچ چیز برای جلوگیری از تکرار نشانه‌های مشابه، تقریبا ۴۰ بار، بدون تخریب نشانه‌های اصلی وجود ندارد. حداقل دو راه حل خوب برای این نوع سوء استفاده وجود دارد:
  1. بررسی دقیق کد، قبل از گسترش و استقرار آن
  2. اجرا کردن تست‌های قراردادهای هوشمند، توسط امکانات آزمایشی مستقل