شفافیت گواهینامه یا CT
شفافیت گواهینامه یا Certificate Transparency ابزاری متنباز برای نظارت و شناسایی گواهینامههای ساختگی و جعلی SSL است.
اکثر مرورگرها میتوانند گواهینامههای جعلی SSL را تشخیص دهند، ولی زمانی که یک سایت جعلی از گواهینامه معتبر استفاده کند؛ دیگر مرورگر قادر به تشخیص جعلی بودن آدرس نیست. حالا سوال اینجاست که چطور یک سایت جعلی میتواند گواهینامه معتبر دریافت کند.
متاسفانه، زمانی که یک دامنه جدید برای دریافت گواهینامه به صادر کنندگان گواهی دیجیتال یا CAها مراجعه کند اکثر CAها بدون اعتبار سنجی، گواهینامه معتبر برای دامنه جدید صادر میکنند.
این دامنهها در صورتیکه متعلق به یک کسبوکار قانونی باشند، مشکلی ندارند. اما اگر دامنههایی جعلی باشند که با هدف سواستفاده از آدرس یک سازمان معتبر ایجاد شده باشند، با داشتن گواهینامه معتبر، قطعا میتوانند مشکلات امنیتی زیادی ایجاد کنند.
مشکل اصلی این است که CAها، برای صدور Certificate، اعتبارسنجی درستی روی دامنههای جدید انجام نمیدهند و این مسئله خطرات بسیاری را متوجه کسب و کارهای حاضر در دنیای دیجیتال میکند.
در ادامه این نوشته، به بررسی گزارش لاگ CT یا شفافیت گواهینامه مربوط به یک آدرس جعلی پرداختهایم که برای تشخیص و تایید مخرب بودن یا نبودن این آدرس انجام شده است.
البته برای بررسی و تایید گزارشهای مربوط به گواهینامه یا Certificate، روشهای دستی و ابزارهای آنلاین زیادی وجود دارد. در این مثال از CENSYS.IO استفاده شده است.
انتخاب یک دامنه جعلی
برای شروع، به یک دامنه جعلی نیاز داریم که مشابه دامنه یک سازمان معتبر مثل microsoft.com باشد. برای پیدا کردن دامنه جعلی، که مشابه سایت microsoft باشد، از ابزار DnsTwister استفاده کردهایم. Dnstwister ابزاری کارامد برای کشف و رسیدگی مستمر به آدرسهای جعلی و در نتیجه کنترل فعالانه حملات فیشینگ است. با این ابزار میتوانیم سایتهای جعلی ایجاد شده از روی یک آدرس معتبر را پیدا کنیم.
همانطور که در شکل زیر میبینید، دامنه اول، متعلق به شرکت مایکروسافت است. اما اگر به دامنه دوم با دقت نگاه کنید، این دامنه با کاراکترهای Unicode ایجاد شده است و در ظاهر بسیار شبیه به دامنه اصلی است:
به این نوع دامنهها، پانیکد میگویند که در ادامه بیشتر با این دامنهها آشنا خواهیم شد.
دامنههای Punnycode
با توجه به این که امروزه امکان ثبت دامنهها به زبان بومی فراهم شده است، بازه بسیار وسیعی از کاراکترها در محدوده مجاز برای ایجاد دامنه قرار گیرند.
همین قابلیت، منجر به ایجاد بستری برای تولید آدرسهای جعلی از روی دامنه سازمانهای معروف و معتبر شده است. در مثال بالا؛ mⅰcrosoft[.]com حرف i یک کاراکتر Unicode است. معادل پانیکد این دامنه بصورت xn--mcrosoft-j75d[.]com است. با توجه به این که بیشتر مرورگرها، از نمایش آدرس به شکل Unicode پشتیبانی میکنند، وقتی این آدرس جعلی در مرورگر اجرا شود، کاملا شبیه به دامنه اصلی مایکروسافت نمایش داده میشود و به راحتی میتواند کاربر را گمراه کند.
تجزیه و تحلیل شفافیت گواهینامه دامنه جعلی
برای بررسی شفافیت گواهینامه دامنه جعلی mⅰcrosoft[.]com، از ابزار censys.io استفاده کردیم.
البته بررسی شفافیت گواهینامه محدود به دامنههای پانیکد نیست، و میتوان این بررسی را برای اثبات فیشینگ بودن دامنهای با SSL معتبر هم انجام داد.
در شکل بالا، دامنه xn--mcrosoft-j75d[.]com در ابزار Censys جستجو شده است.
البته در مواردی ممکن است که خود سازمان، از این نوع پانیکد برای کاربردهای مجاز خود استفاده کنند.
همانطور که در گزارش بالا مشاهده میشود، سرویس Cloudflare بهعنوان مرجع صادر کننده گواهینامه برای این آدرس نشان داده شده است.
البته در مواردی ممکن است دامنههای پانیکد به خود سایت اصلی هدایت میشوند. این موضوع نشان میدهد که صاحب دامنه اصلی، چنین دامنههایی را برای جلوگیری از تهدیدات احتمالی در آینده خریداری کردهاست.
در تصویر بالا؛ مشاهده میشود که درخواست صدور گواهینامه برای این آدرس پانیکد از طرف چه کسی صادر شده است، و همینجا میشود دید که این درخواست از طرف شرکت اصلی صادر نشده است و احتمالا برای مقاصد خرابکارانه ایجاد شده است.
در نهایت، تحلیلگران و متخصصین امنیت سایبری، با استفاده از اعتبارسنجی SSL میتوانند SSL سایت اصلی را با هر سایت مشابه و مشکوکی مقایسه کنند. در نتیجه، مشخص میشود که دامنه مورد بررسی، متعلق به همان کسب و کار است یا اینکه یک وبسایت جعلی است که برای سواستفاده از کاربران این سایت ایجاد شده است.
منبع