محققان حوزه امنیت، جزئیاتی از آسیب پذیری جعل محتوای نوار آدرس (Address Bar Spoofing) را که بر روی چندین مرورگر موبایل مانند Apple Safari و Opera Touch یافت شده منتشر کردند که باعث بروز حملات دیگری مانند حملات فیشینگ هدف دار و ارسال بدافزار به گوشی می شود.
مرورگرهای دیگری از جمله UCWeb، Yandex، Bolt و RITS نیز تحت تأثیر این آسیب پذیری قرار گرفته اند.
این نقایص و آسیب پذیری ها در تابستان سال 2020 توسط محقق پاکستانی حوزه امنیت به نام رافای بلوچ (Rafay Baloch) کشف و در یک مقاله مشترک با شرکت امنیت سایبری Rapid7 در ماه آگوست و چند هفته قبل از برطرف شدن آن، گزارش شد.
مرورگرهای UCWeb و Bolt هنوز این آسیب پذیری را رفع نکرده اند در حالی که انتظار می رود Opera Mini در 11 نوامبر 2020 این آسیب پذیری را رفع کرده باشد.
این تحقیق نشان داد که نسخه macOS مرورگر Safari نیز در برابر باگی مشابه، آسیب پذیر است که طبق گزارش Rapid7 در به روزرسانی نسخه Big Sur که هفته گذشته منتشر شد، این آسیب پذیری رفع گردید.
در این آسیب پذیری آدرس واقعی صفحه ای که مرورگر در حال نمایش آن است متفاوت با آدرس نمایش داده شده در نوار آدرس هست. در ادامه با ما همراه باشید تا نمونه واقعی این آسیب پذیری را با هم بررسی کنیم.
بررسی یک نمونه واقعی
همانطور که شاید قبلا تجربه کرده باشید مرورگر safari به صورت پیشفرض در نوار آدرس فقط دامنه سایت را مانند تصویر زیر نمایش می دهد و ادامه آدرس، شامل پورت و... را فقط زمانی که کاربر روی نوار آدرس کلیک کند نمایش می دهد.
با توجه به این موضوع حالا قطعه کد زیر را در نظر بگیرید.
<script>
document.write("<h1>This is not Bing</h1>");
location.href = "https://bing.com:8081";
setInterval(function(){location.href="https://bing.com:8080"},2000);
</script>
با باز کردن صفحه ای که قطعه کد بالا در ان وجود داشته باشد ابتدا عبارت This is not Bing
در صفحه چاپ می شود. سپس همانطور که در خط سوم مشخص است مرورگر به صفحه https://bing.com:8081 هدایت می شود که در واقع سایت Bing روی این پورت سرویس خاصی ندارد و جوابی به مرورگر ما نمی هد. بنابراین هنگامی که مرورگر تلاش می کند تا این صفحه را نمایش دهد تا زمان مشخصی (timeout) صبر می کند و سپس یک پیام خطا نمایش می دهد. حال اگر فاصله زمانی مابین ارسال درخواست و نمایش خطا را بسته به مرورگر مورد استفاده کاربر پیدا کنیم می توانیم مانند خط چهارم از کد بالا، یک حلقه ایجاد کنیم که در بازه های زمانی کمتر از timeout به صورت تکرار شونده به آدرس https://bing.com:8080 که وجود خارجی ندارد درخواست دهد و پیام خطایی هم نمایش داده نشود. با این کار چون مرورگر هر لحظه در حال ارسال درخواست به ادرس bing.com:8080
است مرورگر safari هر لحظه آدرس bing.com
را در نوار آدرس نمایش خواهد داد. نمایی از اجرای اسکریپت بالا را در تصویر زیر می توانید مشاهده کنید.
بنابراین با طراحی یک صفحه مشابه صفحه اصلی bing.com
و قرار دادن قطعه کد بالا در آن، کاربر تصور خواهد کرد که در سایت bing.com
است اما واقعیت آن است که در صفحه تقلبی ما خواهد بود. این تکنیک موفقیت اجرای یک حمله phishing را بسیار بالا می برد و آن را بسیار قابل باورتر می کند و در صورت استفاده برای صفحات لاگین (مانند صفحه ورود Gmail) می تواند بسیار خطرناک باشد.
نتیجه گیری
با پیشرفت روزافزون حملات phishing ، بهره برداری از آسیب پذیری های مربوط به مرورگر نظیر آسیب پذیری جعل محتوای نوار آدرس احتمال موفقیت حملات phishing را به طرز چشم گیری بالاتر خواهد برد که این موضوع بسیار خطرناک است. اولین کار، وادار کردن فرد قربانی به وارد کردن نام كاربری و رمز عبور یا دانلود بدافزار و اجرای آن توسط جعل محتوای نوار آدرس مرورگر است؛ از آنجایی که این آسیب پذیری از طریق یک ویژگی خاص در مرورگر بهره برداری میشود، بسیاری از راه حل های مقابله با phishing نیز در برابر این حمله بی اثر خواهند بود.