دو کاراکتر دنیایی از فرصتهای تایپی در مرورگرهای Chromium را باز میکنند
مهاجمانی که از حروف نادر سیریلیک و لاتین برای جعل هویت وب سایت های محبوب سوء استفاده می کنند
محققان می گویند دو کاراکتر موجود برای تایپوسکوترها و فیشرفولک می توانند مرورگرهای Chromium را فریب دهند تا URL های مشابه را به عنوان آدرس های وب واقعی نشان دهند. استفاده از نام دامنه برای اینکه بسیار شبیه به یک وب سایت محبوب باشد چیز جدیدی نیست. همه ما قبلا در مبارزات روزانه خود با هرزنامه ها با سایت های فیشینگ مانند macrosoft[.]com و applle[.]com مواجه شده ایم. با این حال، با بزرگ شدن مرورگرها، کاراکترهای جدید همیشه برای استفاده در دسترس هستند.
این فرصتهای جدیدی را برای کسانی که زبانشان حاوی کاراکترها/هموگلیفهایی است که با ASCII سازگار نیستند باز میکند، اما همچنین راههای جدیدی را برای مهاجمان معرفی میکند تا از ویژگیهای منطقی نمایش در برنامههایی مانند Chrome و Edge سوء استفاده کنند. به گفته ایان مسکات و لین بریفا از Have I Been Squatted، هنوز هم شخصیت هایی در دسترس سایبری هستند که می توانند به طور قابل اعتماد کاربران وب را فریب دهند تا به URL ها اعتماد کنند که مطمئنا نباید.
آخرین حروفهای علامتگذاری که بررسیهای ایمنی مرورگر را دور میزنند به کلاهبرداران اجازه میدهند تا وبسایتها را از یک نام دامنه کاملا جعلی (هنگامی که در Punycode نمایش داده میشوند) اجرا کنند، اگرچه آنها دقیقا مانند معامله واقعی در یونیکد ظاهر میشوند. نویسه های مورد توجه، در این مورد، ө هستند که در زبان های سیریلیک مختلف مانند قزاقی، مغولی و تاتاری، و K لاتین با قلاب، ƙ، که در هاوسا و کارای کارایی استفاده می شود، یافت می شود. هر دو از نظر بصری به ترتیب شبیه به حروف e/o، i، و k هستند و به محققان اجازه میدهند 20 نام دامنه مشابه را ثبت کنند.
این موارد عبارتند از: aррӏө[.]com sрасөх[.]com oƙta[.]com niƙe[.]com در زیر معادلهای Punycode URLها آمده است – مرورگرها چگونه باید آنها را به صورت ایمن نمایش دهند: xn--80a6aa68c8d.com xn--80a5aeq-x0fr.com. xn--nie-g6a.com می توانید آنها را امتحان کنید. آنها توسط Have I Been Squatted ثبت شده اند و بازدید آنها امن است. آنها شما را به تحقیق در مورد صفحات نمایشی که توسط محققین راه اندازی شده است می برند و هر صفحه توضیح می دهد که چگونه دقیقا محافظت های مرورگر را دور می زنند. مهمتر از همه، همه آنها اقدامات امنیتی کلیدی که توسط مرورگرهای مبتنی بر Chromium به کار گرفته شده است را دور می زنند. نحوه کار بای پس ها مرورگرها دو لایه دفاعی اصلی را مستقر می کنند.
اولین مورد مجموعهای از هفت بررسی متوالی است که توسط تابع SafeToDisplayAsUnicode Chromium اجرا میشود، که طیف وسیعی از روشهای رایج جعل را بررسی میکند. فروشندگان پس از ثبت نام аррӏе.com - دامنهای متشکل از نویسههای تمام سیریلیک - این چکها را در سال 2017 معرفی کردند. چکهای کرومیوم، که فهرستی از نویسههای سیریلیک شناختهشده بهکاررفته به جای حروف لاتین را شامل میشود، میتواند بهعنوان «همه یا هیچ» دیده شود. این معیار که برای شناسایی رشتههای تمام سیریلیک ساخته شده است، تنها در صورتی علیه نامهای دامنه اقدام میکند که هر کاراکتر در رشته در فهرست کدگذاری شده آن باشد.
تی اگر یک کاراکتر گم شده باشد، چک دور زده می شود. نویسههایی مانند ө، ї و ү به عنوان «شکن» شناخته میشوند، زیرا در فهرست مشابه کروم 154 (در 22 سپتامبر در کانال پایدار منتشر شد) وجود ندارند. عدم موفقیت در هر یک از هفت بررسی نمایشگر به مرورگر میگوید که نمایش کاراکترها بهعنوان یونیکد و در عوض نمایش Punycode امن نیست، و نشان میدهد که چقدر با دامنههای واقعی که سعی میکنند تقلید کنند، شباهت ندارند. دومین اقدامی که مرورگرها انجام میدهند این است که نام دامنه را با لیستی از وبسایتهای محبوب مقایسه میکنند تا ببینند آیا میخواهد یکی از آنها را تقلید کند یا خیر.
در Chromium، این بررسیها توسط تابع GetSimilarTopDomain() انجام میشود. این مرحله یک نام دامنه ارائه شده را به یک «اسکلت» تبدیل میکند، کاراکترهای آن را از نشانههایی از قبیل لهجهها پاک میکند (ó تبدیل به o میشود)، و URL اسکلت را در برابر فهرستی از وبسایتهای محبوب بررسی میکند. کرومیوم تقریبا 8500 مورد را بررسی می کند و اگر اسکلت با هر یک از آنها مطابقت داشته باشد، Punycode را نمایش می دهد. با این حال، K لاتین با قلاب، ƙ، لهجه ندارد، و به عنوان یک k لاتین با علامت ترکیبی اضافه شده به اسکلت اضافه می شود و از بررسی امنیتی عبور می کند.
در این حالت، اسکلت به صورت: [o k‘ t a . c o r n]. (اسکلت "m" را به "rn" ترسیم می کند). به همین ترتیب، با аррӏө.com، خط سیریلیک o نوار خود را در اسکلت به عنوان یک علامت ترکیبی حفظ می کند، به این معنی که با دامنه اصلی اپل مطابقت ندارد. اسکلت آن به صورت: [a p p l o - . c o r n]. مرورگرها همیشه در تلاش برای جلوگیری از این ابزارهای تحریف هستند. کروم 148 به مهاجمان پایان داد که میتوانند از ҏ و ӿ بهعنوان شکستهکننده برای تقلید از ظاهر لاتین خود استفاده کنند. دو بازرسی امنیتی اصلی تنها خطوط دفاعی نیستند.
Chromium همچنین هشدارهایی را در زمان پیمایش به نام نکات ایمنی اعمال می کند. دامنه مثالی که می تواند دو بررسی اصلی را دور بزند ínstagarm[.]com است. عطف کاراکتر آغازین حذف شده است و آنچه باقی مانده است اساسا دامنه واقعی اینستاگرام با دو حرف تعویض شده است. دامنه Instagarm با هیچ یک از سایت های کدگذاری شده مطابقت ندارد و شامل هیچ کاراکتر ممنوعه ای نیز نمی شود. در این حالت، کروم یکی از دو پنجره بازشو را نمایش میدهد و از کاربر میپرسد که آیا قصد بازدید از دامنه واقعی را دارد یا خیر و هشدار میدهد که جهت فعلی سفر جعلی به نظر میرسد.
با این حال، محدودیت هایی برای این لایه امنیتی اضافی وجود دارد. اخطارها فقط زمانی فعال میشوند که یک دامنه تقلیدی یک تطابق دقیق با نویسه، یک تطابق با یک ویرایش یا مطابقت با یک مبادله مجاور از URL واقعی باشد. دو یا چند تغییر، مانند аррӏө[.]com، که دارای نویسه های تمام سیریلیک قبل از ".com" است، این هشدارها را ایجاد نخواهد کرد. اخطارها همچنین با دامنههایی که کمتر از پنج کاراکتر دارند فعال نمیشوند.
دامنههایی مانند oƙta.com، که تنها یک ویرایش از Okta واقعی است، ممکن است به دلیل قانون یک ویرایش و این واقعیت که فقط چهار کاراکتر است، دفاعی ایجاد نکند. نکات ایمنی همچنین اسکلت را در برابر سایت هایی که کاربران مرتبا از آنها بازدید می کنند، بررسی می کند، نه فقط لیست سخت کد شده سایت های مورد اعتماد. سایتهایی که مکرر بازدید میشوند ممکن است هشدارهای مشابهی را ایجاد کنند، اما برای کاربرانی که سابقه بازدید جامع ندارند، لایه دفاع ممکن است از کار بیفتد. دفاعی که در اینجا توضیح داده شده است فقط برای مرورگرها اعمال می شود. کلاینتهای ایمیل با رشتههای دامنه تقلیدی حتی کمتر حساس هستند.
وبسایتهایی مانند جیمیل هر یک از ۲۰ دامنهای را که HIBS به مشتریان تغذیه میکردند، که ترکیبی از نامهای دامنه مشابه و بینالمللیسازی شده واقعی (IDN) بودند، همانطور که مهاجم میخواهد، در یونیکد نمایش میداد. Outlook Web همه 20 مورد را به عنوان Punycode نشان داد، حتی کدهای بی ضرر، و پیشنهاد نمی کند که بررسی های مناسب را برای اطلاع رسانی صحیح به کاربران اعمال نکنید. برای تعیین کمیت مقیاس موضوع، محققان به فهرست ICANN از هر دامنه .com نگاه کردند. حدود 167 میلیون عدد از آنها وجود دارد که تقریبا 733000 عدد از آنها IDN هستند، آنهایی که حاوی کاراکترهای غیرASCII هستند و به شکل Punycode ذخیره می شوند.
محققان هر یک از IDN ها را برداشتند و کاراکترهای غیر ASCII آنها را با معادل های ASCII تعویض کردند تا تعیین کنند که چه تعداد منطبق وجود دارد. آنها حدود 162000 جفت را پیدا کردند - IDNهایی که شبیه دامنه های ASCII ساده هستند. باید گفت که این بدان معنا نیست که حدود 162000 دامنه تایپی وجود دارد، فقط همین تعداد مشابه بازده دارند. برخی ممکن است توسط مشاغل برای اهداف دفاعی ثبت شوند. دیگران ممکن است متعلق به یک کسب و کار باشند که می خواهد چندین وب سایت را به زبان های مختلف راه اندازی کند.
با این حال، سازمان ها باید از ابزارهای موجود در اختیار تایپوکوترها آگاه باشند و بر این اساس دامنه های ثبت شده را نظارت کنند. ®
متن اصلی (انگلیسی)
Two characters open up a world of typosquatting opportunities in Chromium browsers
Attackers abusing rare Cyrillic and Latin letters to impersonate popular websites