در 4 دسامبر ، محققان امنیتی در سایت امنیت IT SecLists یک نقص امنیتی به نام CVE-2019-14899 را اعلام کردند که بر تمام VPN هایی که از پروتکل OpenVPN استفاده می کنند و بیشتر VPN هایی که از پروتکل IKEv2 / IPSec استفاده می کنند ، در شرایط باریک تأثیر می گذارد. از این آسیب پذیری نمی توان برای نظارت گسترده استفاده کرد. این اجازه می دهد تا مهاجمان به طور فعال (یا "حدس بزنند") چه IP و پورت اتصال TCP به آن متصل هستند را بررسی کنند. CVE-2019-14899 می تواند مشکلی برای کاربران باشد وقتی آنها به طور مشخص توسط مهاجمی که WiFi یا LAN را که به آن متصل هستند کنترل می شود ، هدف قرار دهند ، اما دشواری بالای اجرای این حمله در مقابل دسترسی نسبتاً کم یک مهاجم به معنای آن است. این حمله بعید است که در برابر یک کاربر متوسط ​​VPN مستقر شود.

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

CVE-2019-14899 چیست؟

CVE-2019-14899 نقصی در سرویس های خاص VPN یا پروتکل VPN نیست. در عوض ، این یک بهره برداری هوشمندانه از "مدل میزبان ضعیف" است (برای خوانندگان علاقه مند ، توضیح خوبی در مورد مدل های میزبان ضعیف) ، تصویب شده توسط macOS ، iOS ، Android و نسخه های خاصی از لینوکس.

این آسیب پذیری است. ذاتی به استراتژی ها و خط مشی های مسیریابی پیش فرض IP که توسط پروتکل های مبتنی بر مسیر استفاده می شوند (مانند OpenVPN). Android ، iOS و macOS فقط به VPN هایی که از پروتکل های مبتنی بر مسیر استفاده می کنند اجازه می دهند ، بنابراین هر برنامه VPN در Android ، iOS و macOS آسیب پذیر است.

اوضاع در لینوکس کمی متفاوت است ، جایی که OpenVPN یک پروتکل مبتنی بر مسیر است در حالی که StrongSwan و IKEv2 / IPSec به عنوان پروتکل های مبتنی بر سیاست عمل می کنند (و بنابراین تحت تأثیر قرار نمی گیرند). مشتری ProtonVPN Linux از OpenVPN استفاده می کند و بنابراین در حال حاضر آسیب پذیر است ، اگرچه ما یک مشکل را شناسایی کرده ایم و در تلاشیم تا آن را اجرا کنیم.

برنامه های ویندوز ، از جمله برنامه Windows ProtonVPN ، تحت تأثیر قرار نمی گیرند.

درباره پروتکل های VPN بیشتر بدانید.

تأثیر CVE-2019-14899

برخلاف گزارش حسی آنلاین ، این آسیب پذیری اجازه نمی دهد بسته های داده یا نظارت در مقیاس بزرگ از فعالیت کاربر مجاز باشد. در عوض ، به یک مهاجم اجازه می دهد تا یک اتصال TCP مشخص و شناخته شده را بررسی کند و اگر به یک IP و پورت مقصد خاصی وصل شده باشد ، "حدس بزنید". اگر مهاجمان IP و پورت صحیح را حدس بزند ، تأیید می کند که اتصال وجود دارد. اگر اتصال غیرقابل رمزگذاری باشد ، حمله کننده می تواند داده ها را به آن تزریق کند.

مشروط بر اینکه فیلتر مسیر معکوس وجود ندارد ، یک مهاجم که بتواند پیوند L2 شما (یعنی WiFi یا LAN شما) را کنترل کند می تواند بسته های دستکاری شده مخصوص را به دستگاه شما ارسال کند. سپس مهاجم می تواند از این بسته ها برای بررسی دقیق برخی خصوصیات اتصالات TCP منشأ دستگاه شما استفاده کند. به عبارت دیگر ، با كنترل نقطه دسترسی دستگاه به اینترنت ، یك مهاجم می تواند استنباط كند كه كاربر به میزبان و پورت خاصی وصل شده است.

علاوه بر این ، اگر اتصال TCP در داخل تونل VPN رمزگذاری نشده باشد (در صورت مراجعه به صفحه ای که به عنوان مثال از HTTP به جای HTTPS استفاده می کند) ، مهاجم می تواند بسته هایی را به آن جریان خاص رمزگذاری نشده تزریق کند. با این کار به یک مهاجم امکان می دهد تا محتوای HTML جعلی دستگاه شما را برای آن جریان خاص تغذیه کند. این می تواند خطرناک باشد ، اما همانطور که قبلاً گفته شد ، مهاجم باید یک اتصال TCP خاص را هدف قرار دهد ، بنابراین آسیب پذیری ساده ای برای سوء استفاده نیست.

راه حل های ممکن

Linux

برای کاهش CVE -2019-14899 ، مشتریان لینوکس دو راه حل ممکن دارند:

  • فیلتر کردن مسیر دقیق معکوس را فعال کنید: sysctl net.ipv4.conf.all.rp_filter = 1
  • IPTables را بکار بگیرید: ! -i tun0 -d 10.0.0.0/8 -j DROP

یک راه حل کلی برای همه سیستم عامل ها جدا کردن L2 دستگاه با استفاده از یک VM یا یک ظرف بدون پل است. در این شرایط ، هسته دستگاه متصل به شبکه هیچ آگاهی از رابط VPN ندارد و بنابراین نمی تواند هیچ گونه اطلاعاتی را درز کند.

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

Android

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

iOS و macOS

به طور مشابه ، راه حل یک دستگاه iOS نیاز به یک تلفن شکسته در زندان یا توسعه دهندگان اپل دارد. این آسیب پذیری در سیستم عامل آن است. تا زمانی که اپل بروزرسانی سیستم عامل را ارائه ندهد ، هیچ وضوح قابل قبولی برای macOS وجود ندارد. با این حال ، دستگاه های اپل برای افزایش سطح اتصال بین آنها "چند کاره" هستند و CVE-2019-14899 دقیقاً روی این پیکربندی تأثیر می گذارد. بعید به نظر می رسد که اپل تصمیم به تغییر این سیاست بگیرد. ما از نزدیک بر روی سیستم عامل های MacOS و iOS نظارت خواهیم کرد.

آیا باید به این نقص امنیتی نگران شوم؟

پاسخ این سوال بستگی به مدل تهدید شما دارد. این نقص امنیتی امکان نظارت گسترده را نمی دهد ، اما می توان از آن برای نظارت بر كاربران شخصی كه به نقاط دسترسی خاص یا LAN های تحت كنترل حمله كننده متصل می شوند ، سوء استفاده كرد. اگر مدل تهدید شما باعث نگرانی در مورد این ضعف می شود ، ما توصیه می کنیم بعد از اجرای رفع مشکل ، به سرورهای VPN با برنامه Windows خود وصل شوید یا از سرویس گیرنده Linux استفاده کنید. اگر می خواهید با استفاده از دستگاه Android ، iOS یا MacOS به صورت خصوصی در یک شبکه ناشناخته مرور کنید ، اتصال به شبکه Tor نیز یک راه حل خواهد بود.

لطفا ما را در Reddit ، Twitter یا Mastodon دنبال کنید یا برای به روزرسانی در مورد پیشرفت ما در مورد CVE-2019-14899 به این وبلاگ مراجعه کنید.

بهترین احترام ،
تیم ProtonVPN

برای به دست آوردن یک ایمیل ایمیل رمزگذاری شده با ProtonMail ، به این آدرس مراجعه کنید: protonmail.com

گزاره پست ProtonVPN در مورد CVE-2019-14899 برای اولین بار در وبلاگ ProtonVPN ظاهر شد.

مقالات اخیر نویسنده

*** این یک وبلاگ سندیکای شبکه بلاگ نویسان امنیت از وبلاگ ProtonVPN است که توسط ProtonVPN Admin نوشته شده است. پست اصلی را در این قسمت بخوانید: https://protonvpn.com/blog/statement-on-cve-2019-14899/