EOS

محققان امنیتی یک سری از آسیب‌پذیری‌های جدید را در پلت فرم بلاک‌چین EOS کشف کرده‌اند که یکی از آن‌ها می‌تواند مهاجمانِ از راه دور را قادر سازد که بر روی سرورهای node که در حال اجرای برنامه‌های مبتنی بر بلاک‌‌چین هستند، کنترل کامل داشته باشند.

EOS یک پلتفرم قراردادی هوشمندِ منبع باز است که به نام بلاک‌چین نسخه ۳ شناخته می‌شود و به توسعه‌دهندگان اجازه می‌دهد برنامه‌های غیرمتمرکز(۱) را بر روی زیرساخت‌های بلاک‌‌چین، مانند Ethereum، ایجاد کنند.

این آسیب‌پذیری توسط محققان امنیتی چینی در Qihoo 360 به نام‌های Yuki Chen از تیم Vulcan و Zhiniang Peng از تیم امنیت هسته، کشف شده است[۱]. این آسیب‌پذیری یک مسئله نوشتن بافر خارج از محدوده(۲) است که در تابع استفاده شده توسط سرور node برای تجزیه(۳) قراردادها قرار دارد.

برای اجرایِ کد از راه دور بر روی یک node مورد هدف، تمام کاری که یک مهاجم باید انجام دهد این است که یک فایل دستکاری‌شده مخرب WASM (یک قرارداد هوشمند) که در WebAssembly نوشته شده است را درون یک سرور بارگذاری کند.

بلاک‌چین

به‌محض این‌که تجزیه‌کننده(۴) آسیب‌پذیر فایل WASM را خواند، payload مخرب بر روی node اجرا می‌شود، که پس‌ازآن نیز می‌تواند برای کنترل supernode در سرورهای EOS مورداستفاده قرار گیرد. سرورها اطلاعات مبادله شده را جمع‌آوری کرده و آن‌ها را به‌صورت بلوک بسته‌بندی می‌کنند.

این دو محقق در گزارش منتشرشده خود این‌گونه نوشته‌اند: “با خارج شدن از اولویت نوشتن محدود، ما می‌توانیم حافظه WASM یک نمونه از ماژول WASM را بازنویسی کنیم.”

“و با کمک کد WASM مخرب، ما سرانجام به حافظه دلخواه خواندن/نوشتن در فرآیند nodeها دسترسی پیدا کردیم و تکنیک‌های جلوگیری از بهره‌برداری معمول مانند DEP/ASLR بر روی سیستم‌های ۶۴ بیتی را دور زدیم. هنگامی‌که این آسیب‌پذیری به‌طور موفقیت‌آمیز مورد بهره‌برداری قرار گیرد، بهره‌بردار یک پوسته معکوس(۵) را آغاز می‌کند و به مهاجم متصل می‌شود.”

هنگامی‌که مهاجمان کنترل بر روی supernode را به دست آوردند، درنهایت توانستند “قرارداد مخرب را در یک بلوک جدید قرار دهند و تمام nodeهای شبکه EOS را کنترل کنند.”

ازآنجاکه سیستم supernode می‌تواند کنترل شود، محققان گفتند که مهاجمان می‌توانند “هر کاری که می‌خواهند انجام دهند”، ازجمله کنترل معاملات ارز مجازی و کسب اطلاعات دیگر مالی و حریم خصوصی در سیستم‌های node شرکت‌کننده در شبکه EOS مانند مبادله ارز دیجیتال، کلید کاربر ذخیره‌شده در کیف پول، داده‌های حریم خصوصی و بسیاری موارد دیگر.

محققان به پایگاه خبری The Hacker News گفتند: “علاوه بر این، مهاجم می‌تواند یک گره را در شبکه EOS به یک عضو از یک بات‌نت تبدیل کند، یک حمله سایبری را آغاز کند یا تبدیل به یک miner رایگان شود و دیگر ارزهای دیجیتال را mine کند.”

محققان دقیقاً توضیح دادند که چگونه این آسیب‌پذیری را بازتولید(۶) می‌کنند و همچنین یک بهره‌بردار اثبات ادعا به همراه یک اثبات ویدیویی را منتشر کردند.

این بهره‌بردار که توسط محقق شرکت ۳۶۰Vulcan منتشر شده است می‌تواند اقدامات پیشگیرانه امنیتی چندگانه را برای دستیابی به کنترل کامل بر روی supernode که در حال اجرای قرارداد مخرب است، دور بزند.

این آسیب‌پذیری‌های کشف‌شده به سازندگان پروژه EOS گزارش شده است و آن‌ها یک وصله را برای این مسئله در GitHub منتشر کرده‌اند.

“در شبکه‌های بلاک‌چین و سیستم‌های ارز دیجیتال، سطوح حمله بسیار زیادی در node ها، کیف پول‌های دیجیتال، استخرهای mining و قراردادهای هوشمند وجود دارد. تیم امنیتی ۳۶۰ قبلاً چندین آسیب‌پذیری مرتبط و درجه اهمیت بالا را شناسایی و افشا کرده بود.

محققان معتقدند که نوع جدید این آسیب‌پذیری‌ها نه‌تنها بر روی EOS، بلکه بر روی سایر انواع سیستم‌عامل‌های بلاک‌چین و برنامه‌های کاربردی مجازی نیز تأثیرگذار هستند.

منابع

[۱] http://blogs.360.cn/blog/eos-node-remote-code-execution-vulnerability

[۲] https://thehackernews.com/2018/05/eos-blockchain-smart-contract.html


(۱) decentralized
(۲) out-of-bounds
(۳) parse
(۴) parser
(۵) reverse shell
(۶) reproduce