VNC

چهار برنامه محبوب remote desktop منبع باز VNC در برابر ۳۷ آسیب‌پذیری امنیتی، آسیب‌پذیر شناخته شدند. بیشتر این آسیب‌پذیری‌ها برای ۲۰ سال گذشته بدون اینکه شناسایی شوند روی این نرم‌افزارها قرار داشتند و شدیدترین آن‌ها ممکن است به مهاجمان از راه دور اجازه دهد یک سیستم مورد هدف را به خطر بی اندازند.

VNC (محاسبات شبکه مجازی(۱)) یک پروتکل به اشتراک‌گذاری دسکتاپ گرافیکی منبع باز مبتنی بر RFB  یا Remote FrameBuffer است که به کاربران این امکان را می‌دهد که کامپیوتر دیگری را مشابه سرویس RDP مایکروسافت از راه دور کنترل کنند.

پیاده‌سازی سیستم VNC شامل “جزء سرور” است که روی رایانه‌ای که دسکتاپ آن به اشتراک گذاشته می‌شود اجرا می‌شود و یک “جزء مشتری” که روی رایانه‌ای که به دسکتاپ به اشتراک گذاشته شده دسترسی پیدا می‌کند، اجرا می‌شود.

به‌عبارت‌دیگر، VNC به شما این امکان را می‌دهد که از mouse و صفحه‌کلید خود برای کار روی یک کامپیوتر از راه دور استفاده کنید، انگار که جلوی آن نشسته‌اید.

برنامه‌های VNC بی‌شماری، به‌صورت رایگان یا تجاری، با سیستم‌عامل‌های پرکاربرد مانند لینوکس، macOS، ویندوز و اندروید سازگار هستند.

با توجه به اینکه در حال حاضر بیش از ۶۰۰،۰۰۰ سرور VNC از راه دور از طریق اینترنت قابل‌دسترسی هستند و نزدیک به ۳۲ درصد آن‌ها به سیستم‌های اتوماسیون صنعتی متصل هستند، محققان امنیت سایبری در کاسپرسکی چهار پیاده‌سازی متن‌باز VNC را که به‌طور گسترده مورداستفاده قرار می‌گیرند، ازجمله موارد زیر را موردبررسی قراردادند[۱]:

  • LibVNC
  • UltraVNC
  • TightVNC 1.x
  • TurboVNC

محققان پس از تجزیه‌وتحلیل این نرم‌افزار VNC، درمجموع ۳۷ آسیب‌پذیری فساد حافظه جدید را در نرم‌افزارهای مشتری و سرور کشف کردند: بیست و دو مورد در UltraVNC ، ده مورد در LibVNC ، چهار مورد در TightVNC و فقط یک مورد در TurboVNC

کاسپرسکی دراین‌باره می‌گوید: “همه این اشکالات با استفاده نادرست از حافظه پیوند خورده‌اند. بهره‌برداری از آن‌ها فقط منجر به نقص عملکرد و DoS می‌شود- نتیجه‌ای نسبتاً مطلوب. در موارد جدی‌تر، مهاجمان می‌توانند دسترسی غیرمجاز به اطلاعات دستگاه را به دست آورند یا یک دژافزار را روی سیستم قربانی قرار دهند.

برخی از آسیب‌پذیری‌های امنیتی کشف‌شده همچنین می‌توانند منجر به حملات اجرای کد از راه دور (RCE) شوند، به این معنی که یک مهاجم می‌تواند از این نقص‌ها برای اجرای کد دلخواه روی سیستم مورد هدف بهره‌برداری کند و کنترل آن را به دست آورد.

ازآنجاکه برنامه سمت مشتری اطلاعات بیشتری را دریافت می‌کند و شامل مؤلفه‌های رمزگشایی داده است و توسعه‌دهندگان معمولاً هنگام برنامه‌نویسی مرتکب خطا می‌شوند، بیشتر آسیب‌پذیری‌ها روی نسخه مشتری این نرم‌افزار قرار دارد.

از طرف دیگر، سمت سرور نسبتاً حاوی یک پایگاه کد کوچک و تقریباً کارکرد ساده است، که احتمال آسیب‌پذیری حافظه و فساد را کاهش می‌دهد.

بااین‌حال، این تیم برخی از اشکالات سمت سرور قابل بهره‌برداری، ازجمله نقص سرریز بافر پشته را در سرور TurboVNC کشف کرده‌اند که امکان دستیابی به اجرای کد از راه دور روی سرور را ممکن می‌سازد.

اما برای بهره‌برداری از این نقص، نیاز به احراز هویت یک گواهی‌نامه دارید تا قبل از برقراری اتصال به سرور VNC یا به دست آوردن کنترل روی مشتری به آن متصل شوید.

بنابراین، به‌عنوان حفاظتی در برابر حملات بهره‌برداری از آسیب‌پذیری‌های سمت سرور، به مشتریان توصیه می‌شود به سرورهای VNC غیرقابل‌اعتماد و یا آزمایش نشده متصل نشوند و مدیران موظف‌اند از سرورهای VNC خود با رمز عبور منحصربه‌فرد و قوی محافظت کنند.

کاسپرسکی این آسیب‌پذیری‌ها را به توسعه‌دهندگان آسیب‌دیده گزارش کرده است، تمامی توسعه‌دهندگان برای محصولات پشتیبانی شده خود به‌جز TightVNC 1.x که دیگر توسط سازندگان آن پشتیبانی نمی‌شود، وصله‌های موردنیاز را منتشر کرده‌اند. بنابراین، به کاربران توصیه می‌شود که نرم‌افزارهای خود را به نسخه ۲ ارتقا دهند.

منابع

[۱] https://www.openwall.com/lists/oss-security/2019/09/04/1

[۲] https://thehackernews.com/2019/09/exim-email-server-vulnerability.html


(۱) virtual network computing