تعدادی از توزیع های لینوکس ، از جمله اوبونتو ، فدورا و دبیان ، حاوی آسیب پذیری تازه کشف شده ای هستند که یک مهاجم می تواند از آن استفاده کند تا مشخص کند آیا فرد از VPN استفاده می کند و سپس به طور بالقوه آن ارتباط رمزگذاری شده را ربوده است.
یک تیم تحقیقاتی از دانشگاه نیومکزیکو آسیب پذیری را کشف کرد و حمله ای برای سوء استفاده از آن انجام داد. این حمله برخی از الزامات خاص را دارد و به برخی از تحلیل های مربوط به ترافیکی که به سمت و از طریق دستگاه مورد نظر در حال اجراست انجام می شود ، متکی است. این حمله بر علیه WireGuard و OpenVPN تأیید شده است ، اما محققان گفتند که VPN یک قربانی از آن استفاده می کند اهمیتی ندارد. شرط اصلی حمله برای حمله این است که مهاجم بتواند بسته های ناخواسته را به مشتری VPN قربانی بفرستد.
این آسیب پذیری "اجازه می دهد تا یک نقطه دسترسی مخرب یا یک کاربر مجاور برای تعیین اینکه آیا کاربر متصل استفاده می کند ، باشد یا خیر." یک VPN ، استنتاج های مثبتی در مورد وب سایت هایی که بازدید می کنید ، تعیین کنید و ترتیب صحیح و شماره تأیید را در استفاده تعیین کنید ، به بازیگر بد اجازه می دهد تا داده ها را به جریان TCP تزریق کند. این امر همه چیز را برای مهاجمین برای ربودن اتصالات فعال در داخل تونل VPN فراهم می کند ، "این مشاوره از محققان می گوید.
در سناریوی حمله ، تیم محققان ویلیام توللی ، باو کوجات ، و جیدیدیا کراندل ، یک مهاجم ایجاد کردند. کسی که نقطه دسترسی را که قربانی به آن متصل است کنترل می کند ، بسته هایی را به کل فضای مجازی IP یک VPN داده شده ارسال می کند. هنگامی که یک بسته SYN-ACK به آدرس IP مجازی مورد استفاده قربانی رسید ، مشتری با یک بسته RST پاسخ می دهد ، که به مهاجم اجازه می دهد تا آدرس IP مجازی قربانی را تعیین کند. مرحله بعدی این است که بفهمیم آیا قربانی ارتباط TCP فعال به یک سایت خاص دارد ، که مهاجم می تواند با جعل بسته هایی از آدرس IP سایت انجام دهد. سپس مهاجم سعی می کند شماره دنباله بعدی و شماره تأیید داخل پنجره را استنباط کند ، که به او این امکان را می دهد که بسته های مخرب را به اتصال تزریق کند.
"برای یافتن دنباله مناسب و شماره های ACK ، ما پاسخ های مشتری را در این زمینه ایجاد خواهیم کرد. اتصال رمزگذاری شده در قسمت 2 وجود دارد. مهاجم به طور مداوم بسته های تنظیم مجدد بسته ها را به اتصال استنباطی خراب می کند تا زمانی که خرگوش ها ACK ها را به چالش بکشد. محققان می توانند با اطمینان با بررسی اندازه و زمان پاسخ های رمزگذاری شده نسبت به بسته های فاسد شده مهاجم ، اطمینان حاصل کنند که آیا بسته های منتقل شده از مشتری به سرور VPN ، ACK ها را به چالش می کشند.
" دستگاه قربانی یک TCP چالش ACK را در هر تنظیم مجدد دریافت شده خود ایجاد می کند که دارای یک شماره دنباله در پنجره برای یک اتصال موجود است. به عنوان مثال ، اگر مشتری از OpenVPN برای تبادل بسته های رمزگذاری شده با سرور VPN استفاده می کند ، وقتی یک چالش ACK ایجاد شود ، مشتری همیشه با بسته SSL به طول 79 پاسخ می دهد. در عمل ، هنگامی که مهاجم فکر می کند که یک چالش رمزگذاری شده-ACK را خراب می کند ، می تواند با جعل بسته های X با همان تعداد دنباله ، صحت داشته باشد. اگر پاسخ های رمزگذاری شده X با اندازه 79 برانگیخته شده باشد ، پس حمله کننده می داند که ACK های چالشی را ایجاد می کند. "
هنگامی که مهاجم قادر به تعیین دقیق ترتیب و تعداد اعداد در پنجره باشد ، می تواند خودش را تزریق کند. بسته های مخرب در اتصال TCP فعال قربانی. حمله ای که محققان انجام دادند ، علیه بسیاری از توزیع های فعلی لینوکس ، و همچنین در برابر اندروید و iOS کار می کند. از جمله توزیع کنندگان آسیب پذیر لینوکس می توان به اوبونتو 19.10 ، فدورا ، دبیان 10.2 ، آرچ 2019.05 ، و مانجارو 18.1.1 اشاره کرد.
محققان برای حمله خود چند تخفیف از جمله پیشنهاد دادن فیلترهای برعکس مسیر معکوس را پیشنهاد کردند که می تواند از بسته های ناسازگار حمله کننده جلوگیری کند. از رسیدن به قربانی.
