سازوکار فنی آسیبپذیری ابزار GoBalance
آدرسهای .onion در شبکه تور (Tor) در واقع همان کلید عمومی هستند؛ بنابراین، هر فردی که کلید خصوصی مربوط به آن آدرس را در اختیار داشته باشد، میتواند کنترل آن را به دست آورد.
وبسایتها برای اینکه در شبکه تور همچنان در دسترس باشند، رکوردی امضاشده به نام توصیفگر یا به عبارتی دسکریپتور (Descriptor) منتشر میکنند. این رکورد برای همه کاربران شبکه تور قابل دریافت است و ابزار GoBalance نیز آن را امضا میکند.
ریشه این آسیبپذیری به نحوه امضای رکوردها بازمیگردد. طول کلید خصوصی تور برابر با 64 بایت است، اما ابزار GoBalance هنگام امضای رکورد، تنها 32 بایت نخست کلید را به تابع امضاکننده ارسال میکند و 32 بایت باقیمانده را نادیده میگیرد. بخش حذفشده همان قسمتی است که مقدار محرمانه هر امضا را مخفی نگه میدارد.
با حذف این بخش، مقدار محرمانه به عددی ثابت تبدیل میشود که محاسبه آن برای هر فردی امکانپذیر است. در نتیجه، مهاجم میتواند تنها با استفاده از یک دسکریپتور عمومی و منتشرشده، کلید خصوصی وبسایت را بازیابی کند؛ بدون آنکه به سرورهای وبسایت دسترسی داشته باشد.
این کلید، کلید اصلی وبسایت (Master Key) است و برخلاف کلیدهای موقت، اعتبار بلندمدت دارد. بنابراین، اگر مهاجم آن را بازیابی کند، میتواند در آینده هم رکوردهای معتبری برای همان آدرس تولید و امضا کند.
وبسایتهای آسیبپذیر
ابزار GoBalance نسخهای بازنویسیشده از لود بالانسر (Load Balancer) پروژه Onionbalance تور است که با زبان برنامهنویسی Go توسعه یافته است. این ابزار همراه با مجموعه ابزار EndGame عرضه میشود؛ مجموعهای پرکاربرد که به حفظ دسترسی وبسایتهای دارکوب در زمان حملات انکار سرویس (DoS) کمک میکند. ضعف امنیتی مورد بحث، به تغییرات اعمالشده در نسخه بازنویسیشده Onionbalance مربوط است.
به گفته شرکت Searchlight Cyber، نسخه اصلی Onionbalance و خود شبکه تور تحت تأثیر این آسیبپذیری قرار نگرفتهاند.
این آسیبپذیری فقط وبسایتهایی را تحت تأثیر قرار میدهد که کلید اصلی آنها با فرمت اختصاصی کلید تور ذخیره شده باشد. ابزار پیکربندی نیز کلیدها را با فرمتی امنتر ذخیره میکند که تحت تأثیر این آسیبپذیری قرار نمیگیرد. بنابراین، استفاده از این ابزار لزوماً به معنای آسیبپذیر بودن وبسایت نیست؛ بلکه آسیبپذیری به فرمت ذخیرهسازی کلید اصلی بستگی دارد.
کنترل آدرسهای انجمن Dread
آسیبپذیری مورد بحث زمانی آشکار شد که انجمن Dread، یکی از بزرگترین انجمنهای دارکوب، هدف حمله قرار گرفت. این انجمن را دو مدیر با نامهای مستعار HugBunter و Paris مدیریت میکنند. مهاجمان بین 5 تا 7 اکتبر، هر دو آدرس .onion انجمن Dread را تحت کنترل خود درآوردند و کاربران را به وبسایت رقیب آن یعنی Conclave هدایت کردند.
مدیران Dread ابتدا تصور میکردند که این ماجرا ناشی از یک اشتباه در عملکرد خود آنها بوده است. Paris در 5 اکتبر اعلام کرد که از روی حماقت، کلید خصوصی آدرس اصلی Dread را در یکی از بهروزرسانیها آپلود کرده است.
دو روز بعد، مهاجمان کنترل آدرس دوم انجمن را نیز در اختیار گرفتند؛ آدرسی که بهعنوان آدرس جایگزین برای اعضای پریمیوم در نظر گرفته شده بود. افشای آدرس دوم، احتمال سوءاستفاده از آسیبپذیری امنیتی را تقویت کرد؛ چراکه بعید بود این مسئله نیز صرفاً ناشی از یک اشتباه سهوی باشد.
HugBunter نیز پس از این ماجرا اعلام کرد که مهاجم با سوءاستفاده از آسیبپذیری ابزار GoBalance چندین سرویس دارکوب را هدف قرار داده است. شرکت Searchlight Cyber هم کنترل آدرس دوم به دست مهاجم را نشانه روشنتری از سوءاستفاده از این آسیبپذیری میداند؛ هرچند معتقد است افشای کلید خصوصی آدرس اول ممکن است ماجرایی جداگانه بوده باشد.
پس از این ماجرا، مدیران Dread آدرس انجمن را تغییر دادند و از کاربران خواستند رمزهای عبور خود را عوض کنند. مدیران Dread در پیامی در 7 اکتبر اعلام کردند که انجمن بهدلیل افشای کلید خصوصی آدرس .onion، برای همیشه به آدرس جدیدی منتقل شده است. این افشاگری در پی آسیبپذیری یک نرمافزار شخص ثالث رخ داده بود. همچنین آنها هشدار دادند که ممکن است سرویسهای مخفی دیگری نیز تحت تأثیر این آسیبپذیری قرار گرفته باشند. بااینحال، تأکید کردند که مهاجمان به سرورهای Dread دسترسی پیدا نکردهاند.
وبسایتهای دیگری که تحت تأثیر آسیبپذیری ابزار GoBalance قرار گرفتهاند
هنوز مشخص نیست چه تعداد از وبسایتها تحت تأثیر این آسیبپذیری قرار گرفتهاند. به گفته HugBunter، مهاجمان کنترل آدرس چندین وبسایت خریدوفروش در دارکوب را نیز در اختیار گرفتهاند؛ حتی وبسایتهایی که پیشتر فعالیت خود را متوقف کرده بودند. بااینحال، او نام این وبسایتها یا تعداد دقیق آنها را اعلام نکرد.
دستکم یک وبسایت دیگر نیز این موضوع را تأیید کرده است. یکی از بازارهای دارکوب به نام Omega در 8 اکتبر اعلام کرد که بهدلیل مشکلی ناشی از این آسیبپذیری، آدرس قبلی خود را از دسترس خارج کرده و به آدرس جدیدی منتقل شده است.
اقدامات لازم برای رفع آسیبپذیری و ایمنسازی وبسایتها
تا 9 اکتبر، هنوز پچ رسمی برای آسیبپذیری ابزار GoBalance منتشر نشده بود. همچنین، برای این آسیبپذیری شناسهای در پایگاه ملی آسیبپذیریهای آمریکا (NVD) ثبت نشده بود و هیچ اطلاعیه امنیتی عمومی نیز از سوی پروژه تور یا توسعهدهنده ابزار منتشر نشده بود. مدیران Dread اعلام کردند که قصد دارند نسخه پچشده ابزار را منتشر کنند و به وبسایتهایی که تحت تأثیر این آسیبپذیری قرار گرفتهاند، برای انتقال به آدرسهای جدید کمک کنند.
در همین حال، یک پژوهشگر مستقل پچ امنیتی و کد اثبات مفهوم (PoC) منتشر کرده است که نشان میدهد میتوان تنها با استفاده از یک دسکریپتور عمومی، کلید اصلی را بازیابی کرد. به گفته این پژوهشگر، برای آزمایش از کلیدهایی استفاده شده که صرفاً با هدف تست ساخته شده بودند و هیچ سرویس واقعی هدف قرار نگرفته است. بااینحال، کد منتشرشده هنوز بهطور مستقل آزمایش نشده و پچ ارائهشده نیز نسخه رسمی ابزار نیست.
نصب پچ بهتنهایی برای رفع پیامدهای این آسیبپذیری کافی نیست؛ زیرا پس از انتشار دسکریپتور، کلید خصوصی افشاشده همچنان قابل بازیابی است و نمیتوان آن را از دسترس مهاجمان خارج کرد. بنابراین، وبسایتهایی که از نسخه آسیبپذیر استفاده کردهاند و کلید اصلی آنها افشا شده است، باید آدرس .onion جدیدی ایجاد کرده و سرویس خود را به آن منتقل کنند؛ اقدامی که مدیران Dread و وبسایت Omega انجام دادهاند.
کاربرانی که از وبسایتهای تحت تأثیر این آسیبپذیری استفاده میکنند، باید چند نکته را رعایت کنند:
- تغییر رمز عبور: کاربران باید رمز عبور حساب خود را در وبسایت موردنظر تغییر دهند.
- تغییر رمزهای تکراری: کاربرانی که از همان رمز عبور در وبسایتهای دیگر نیز استفاده میکنند، باید رمز عبور این حسابها را هم تغییر دهند.
- بررسی آدرس جدید: کاربران باید از اعتماد به آدرس قدیمی خودداری کنند و پیش از ورود به آدرس جدید، اعتبار آن را از طریق اطلاعیه امضاشدهای که مدیران وبسایت منتشر کردهاند، بررسی کنند.
















