حفره امنیتی موجود در Geth

آیا کاربران اتریوم در معرض خطر حمله DNS Rebinding هستند؟

اخیرا حفره ای در Geth که نرم افزار کلاینت اتریوم است، پیدا و در HackerNews منتشر شد که از DNS Rebinding استفاده می کرد. این حفره به حمله کنندگان امکان دسترسی به JSON-RPC روی کلاینت اتریوم که از DNS Rebinding استفاده می کند را می دهد. پیامد های این حفره جدی است چرا که به حمله کننده اجازه می دهد روی کلاینت اتریوم شما دسترسی کامل پیدا کند.

گفته شده که بنیان اتریوم درباره این مشکل آگاه هستند ولی به نظر نمی رسد که متوجه خطری که این حمله می تواند داشته باشد، باشند.

کاربری فعال در زمینه امنیت وب در توییتر می گوید :

این موضوع به اتریوم بنیان اتریوم گزارش شده ولی آن ها این را به عنوان نوعی آسیب پذیری تایید شده به حساب نمی آورند.

اما داستان از چه قرار است؟

در این حمله از مفهومی به نام DNS Rebinding استفاده می شود. DNS یا سیستم نام دامنه چیزی است که به کامپیوتر ها این امکان را می دهد که از نام ها، که به آن ها دامنه گفته می شود، برای دسترسی به سرور ها استفاده کنند. این به شکلی کار می کند که یک سرور مانند یک دفترچه تلفن نقش ایفا می کند و به کامپیوتر های دیگر این امکان را می دهد که آی پی آدرس (شماره تلفن) یک دامنه (یک شخص) را جستجو کنند. برای نمونه، لینک اینترنتی pay98.app/blog به کامپیوتر شما می گوید که صفحه blog در سرور pay98.biz که به یک آدرس آی پی مشخصی اشاره دارد را پیدا کند.

مهم ترین بخشی که این حمله به آن طریق کار می کند این است که حمله کننده سرور خود را به عنوان دفترچه تلفنی برای دامنه هایی که کنترل می کند، آماده می کند. DNS Rebinding به خودی خود به معنای تلاش برای تغییر آدرس دامنه ها در زمان جستجو است.

زمانی که شما به وبسایت حمله کننده متصل می شوید، کامپیوتر شما از اینترنت می پرسد که از کجا می تواند بپرسد که آدرس دامنه آن ها کجاست. اینترنت با لینکی به سرور DNS حمله کننده پاسخ می دهد که ” برو به این جا و از این سرور این سوال را بپرس”. زمانی که این ارتباط صورت می گیرد، سرور حمله کننده آدرس درست وبسایت خود را در جواب می دهد.

حالا که شما صفحه وب حمله کننده را اجرا کرده اید، حمله می تواند آغاز شود. سرور حمله کننده به کامپیوتر شما صفحه وبی شامل کد های جاوا اسکریپت مخرب را ارائه می کند. این جاوا اسکریپت چیزی است که به کلاینت اتریوم شما حمله می کند. زمانی که جاوا اسکریپت اجرا شود، دوباره به دنبال دامنه می گردد ولی این بار سرور DNS حمله کننده می گوید که به جای آدرس واقعی، این دامنه به آدرس خاص 127.0.0.1 اشاره دارد. این آدرس خاص همچنین با نام localhost هم شناخته می شود و هر درخواستی که به این آدرس فرستاده شود، به کامپیوتری که درخواست ها از آن می آید بازگزدنده می شود (یعنی کامپیوتر خود شما) و این به کد جاوا اسکریپت مخرب این امکان را می دهد که با کلاینت اتریوم شما در ارتباط باشد و آن را به طور کامل مدیریت کند.

دلیل موفقیت این حمله چیست؟

در حالت عادی، مرورگر وب شما (مثلا فایرفاکس) درخواست هایی که از یک صفحه وب به از هر جایی بجز سرور همان صفحه وب می آید را متوقف می کند. این حمله موفق است چون مرورگر وب شما فکر می کند که همچنان در حال صحبت و ارتباط با سرورس است که صفحه وب در آن وجود دارد. در اصل اما در حالی که روی صفحه وب مورد نظر بوده، آدرس re-bound شده است.

واقعیت دارد؟

وبلاگی که این پست در آن منتشر شده، اثباتی برای ادعای خود دارد که حمله را با فهرست کردن آدرس های اتریوم و موجودی که وقتی با کامپیوتر خود به آن وصل هستید از آن ها می آید را توضیح می دهد. در لینک زیر می توانید اثبات ادعا را توسط نویسنده آن ببینید.

منبع ادعا

راهکار چیست؟

بهترین راهکار در حال حاضر استفاده از افزونه NoScript در استفاده از مرورگر وب است که از اجرای جاوا اسکریپت به صورت جمعی خودداری می کند. البته در استفاده از این افزونه برخی از صفحات وب به درستی نمایش داده نمی شود. به یاد داشته باشید که لینک های مشکوک را هم باز نکنید.

امتیاز شما به این نوشته چقدر است؟

برای آگاهی از آخرین نوشته ها، خبر ها و تحلیل های کوتاه به کانال تلگرام پی98 بپیوندید.

0 0 رای ها
رأی دهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
تازه‌ترین
قدیمی ترین بیشترین واکنش نشان داده شده(آرا)
بازخورد (Feedback) های اینلاین
View all comments