مرورگرهای هدلس (Headless) چیست؟
نویسنده : مهسا اذانی | تاریخ بروزرسانی : 1402/01/29
مرورگر هدلس (Headless) ممکن است اصطلاحی عجیب و غریبی به نظر برسد. مرورگرهای headless نامی برای یک مرورگر یا شبیه ساز مرورگر است که بدون رابط گرافیکی خاصی کار میکند. در اصل میتوان گفت “headless” به معنای عدم وجود صفحه نمایش است. به جای تست یک سایت یا actionهای سایت با استفاده از عناصر گرافیکی معمول ( مثل رابط کاربری گرافیکیUI یا رابط کاربری گرافیکیUX) با استفاده از خط فرمان ترمینال این کار انجام میشود.
ابزارهای و فریم ورک های مختلفی برای آزمایش هدلس وجود دارد که رایج ترین آنها شامل PhantomJS، Selenium، Nightmare، Headless Chrome و Puppeteer می باشد. Puppeteer (که می تواند 73 نوع مختلف دستگاه را شبیه سازی کند) به عنوان مثال در دو سال گذشته 122 میلیون بار دانلود شده است .
مرورگرهای هدلس معمولاً برای مقاصد قانونی و مفید استفاده میشوند و راهی سریع و سبک برای خودکارسازی اقدامات برای توسعهدهندگان هستند.
از جمله:
- تست وب سایت و اپلیکیشن
- تست کتابخانه جاوا اسکریپت
- شبیه سازی جاوا اسکریپت و interaction
- اجرای یک یا چند تست UI خودکار در پسزمینه
این اقدامات به توسعهدهندگان کمک میکند تا تأیید کنند که آیا فعالیتهای وبسایت به آرامی و درستی انجام میشوند یا خیر و میتوانند مشکلات بالقوه UI و UX را شناسایی کنند. این ابزارها تمام عملکردهای یک مرورگر معمولی را دارند اما در Data Center مانند Amazon Web Service اجرا می شوند.
مرورگرهای هدلس و تقلب کلیکی که انجام میدهند
احتمالاً می توانید حدس بزنید که چرا مرورگرهای headless در صنعت 23 میلیارد دلاری تقلب های کلیکی بسیار مهم هستند. باتها با استفاده از ابزارهای توسعه و آزمایش وبسایت که امکان عملکرد در حالت headless را فراهم میکند کار میکنند . برخلاف بات های نسل اول، آنها می توانند کوکی ها را حفظ کرده و جاوا اسکریپت را اجرا کنند. جالب اینجاست که این ابزارها توسط گوگل و مایکروسافت برای اهداف مختلف توسعه و نگهداری میشوند و میتوانند در مقیاس عظیم با استفاده از فناوریهای رایانش ابری ارائه شده توسط آمازون (AWS)، گوگل (GCP) و مایکروسافت (Azure) به کار گرفته شوند. سازندگان بات میلیونها مرورگر headless ایجاد میکنند که میتوانند تمام اعمال انسان مانند حرکت ماوس، اسکرول صفحه و کلیکها را برای بارگیری صفحات وب و ایجاد نمایش شبیهسازی کنند.
متقلبان و مخربان با سوء استفاده از مرورگرهای headless اعمالی مثل حملات fuzzing، بات نت، scrape کردن محتوا، حملات لاگین با تقلب، و تقلب کلیکی را انجام میدهند. این مسئله برای دیجیتال مارکترها یک نیاز ضروری، انسانی و قانونی است.
انواع فعالیت های مخربانه با مرورگرهای Headless
1. لیدهای بی اعتبار
وجود مرورگرهای headless باعث وارونه شدن لیدها در کمپین های دیجیتال میشود. آنها leadهای بیهوده را وارد کمپین های پرهزینه دیجیتال مارکتینگ می کنند که باعث از بین رفتن KPI های بازاریابی میشود. به عنوان مثال، در مورد یکی از مشتریان دستگاه های پزشکی که اجرای یک کمپین اجتماعی گران قیمت را تحت نظر داشتیم، 23 درصد از ترافیک جعلی آنها توسط خزنده های مخرب (malicious crawlers) و مرورگرهای headless از جمله PhantomJS، Lighthouse و Cyclone بود. از این می توان برای کلیک بر روی تبلیغات، نصب برنامه ها و پر کردن فرم های lead استفاده کرد.
2. استفاده از Headlessها برای ایجاد حساب های جعلی
همانطور که در این مطالعه نشان داده شده است می توان با استفاده از حالت ابزارهای مرورگرهای headless و سرویس های حل Captcha مانند 2Captcha، حساب های جدیدی ایجاد کرد(هزینه 0.77 دلار به ازای هر 1000 کپچای حل شده این سرویس را بسیار قابل دسترسی و مقرون به صرفه می کند). جارود اورسون، محقق امنیتی، میگوید: «این جایی است که داشتن قابلیت خاموش و روشن کردن هدلس مفید است، زیرا میتوانیم در مواقع لزوم مرورگر را مانند یک انسان هدایت کنیم.» او اشاره میکند که فیسبوک از ثبت اکانتهای جدید روی پلتفرم توسط رباتهای خودکار از جمله Puppeteer Stealth جلوگیری میکند.
3. حملات DDoS با استفاده از مرورگرهای headless
در سال 2016، محققان یک بات نت به اسم کد لباس(Dress Code) را کشف کردند که گوشی های اندرویدی را آلوده می کرد. هکر این برنامه گفت که هدف این بات نت تولید درآمد از طریق تقلب در تبلیغات بوده که با استفاده از آلوده کردن تلفن های همراه و کلیک هزاران دستگاه بر روی تبلیغات در هر ثانیه و استفاده از مرورگرهای headless انجام شده است. این کار توسط یک سرور کنترل شده توسط مهاجم انجام شد که با 5000 مرورگر headless روی صفحات وب حاوی تبلیغاتی که به ازای کلیک کمیسیون پرداخت می کنند کلیک می کرد. برای جلوگیری از شناسایی ترافیک جعلی توسط تبلیغکنندگان، سرور از پراکسیهایی برای هدایت ترافیک از طریق دستگاههای آسیبدیده استفاده کرد که هر پنج ثانیه یکبار چرخش میشوند.
مدیر تکنولوژی DOSarrest، که از حملات DDoS جلوگیری می کند، به ITProPortal گفت که با استفاده از مرورگرهای Headless امکان باز کردن چندین session در یک لپ تاپ وجود دارد. او میگوید: «ما به دنبال اضافه کردن یک سرویس نظارتی بودیم تا ببینیم وبسایت ما چگونه کار میکند. شما میتوانید یک سنسور و یا یک مکان خاص اضافه کنید و بگویید زمان بارگذاری هر عنصر از سایت را به شما بگوید، اما دیگران در حال تغییر آن هستند.»
تقلب پیچیده و بالا رفتن قیمت تمام شده تبلیغات
ابزارهای گفته شده قیمت مقرون به صرفه ای را برای تقلب های پیچیده ارائه می دهند. ایجاد ابزارهای web automation بسیار دشوار است، بنابراین متقلبان به جای آن از این ابزارهای محبوب استفاده می کنند و راه هایی برای پنهان کردن این موضوع که آنها مرورگرهای اتومات هستند و واقعی نیستند پیدا می کنند.مرورگرهای headless در مقایسه با مرورگرهای دارای رابط کاربری گرافیکی هزینه منابع(Resource) زیرساختی کمتری دارند بنابراین میتوان تعداد بیشتری از آنها را بر روی یک سرور بطور همزمان اجرا کرد. بنابراین متقلبان همیشه بدنبال ابزارهای پیچیده تر هستند. برای اکثریت متقلبان؛ ابزارهای اتوماسیون بدون اینکه بخواهند کاری انجام دهند در حال به روز رسانی و تکامل هستند، آنها فقط باید عناصر خاصی را پنهان کرده و بازنویسی کنند تا از آزمایش های بیشتر و بیشتر فرار کنند.”
استفاده از دژینو برای متوقف کردن مرورگرهای headless
در دژینو ما با استفاده از یک تگ جاوا اسکریپت که روی سایت شما قرار میگیرد از سایت شما محافظت میکنیم. به این صورت که هر کاربری با هر شیوه ای حتی با مرورگرهای headless اگر سایت شما را باز کند مورد پردازش قرار میگیرد و با استفاده از الگوریتم های کامپیوتری و هوش مصنوعی انواع تقلب را شناسایی و به شما گزارش میدهد. شما میتوانید فقط اطلاعات ترافیک ورودی خود را روی پنل دژینو مشاهده کنید و یا حتی میتوانید در لحظه جلوی بات و یا کاربر متقلب را به کمک سیستم حفاظتی دژینو بگیرید.
از خود در برابر فعالیتهای مرورگر headless که به بازاریابی شما آسیب میزند، محافظت کنید و امروز دژینو رایگان خود را برای آزمایش PPC دریافت کنید .