روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ وقتی محتوای وبسایتها را برای تعیین دستهبندی آنها تحلیل میکنیم، گاهی به نتایج کاملاً غیرمنتظرهای میرسیم. ممکن است وبسایتی رسمی از تولیدکننده سازههای فلزی، فروشگاه آنلاین گل یا یک دفتر حقوقی باشد که محتوای کاملاً بیطرف دارد، اما سیستمهای ما آن را در دسته «محتوای بزرگسال» قرار میدهند. در نگاه اول مشخص نیست این تصمیم چگونه گرفته شده، اما با بررسی لاگ تحلیل صفحات موتور دستهبندی محتوا، موضوع روشن میشود.
بلوک HTML مخفی یا اسپم سئو
دلیل این دستهبندی این است که وبسایت شامل یک بلوک HTML مخفی با لینک به سایتهای طرف سوم است که برای کاربران عادی قابل مشاهده نیست. این سایتها معمولاً محتوایی خاص دارند که اغلب پورنوگرافی یا قمار است و در بلوک مخفی، کلمات کلیدی مرتبط همراه با لینکها قرار دارند. این نوع اقدامات جزو سئو کلاهسیاه[1] یا همان اسپم سئو محسوب میشوند؛ یعنی دستکاری رتبه وبسایت در موتورهای جستجو برخلاف اصول اخلاقی سئو. روشهای زیادی برای افزایش یا کاهش رتبه وبسایتها وجود دارد، اما اخیراً بلوکهای مخفی بیشترین مشاهده را داشتهاند، بنابراین این مطلب روی آنها تمرکز دارد.
تشخیص مشکل توسط صاحب سایت
صاحبان وبسایت معمولاً متوجه مشکل نمیشوند تا اینکه پیامدهای منفی آشکاری رخ دهد، مانند کاهش شدید بازدید، هشدار از موتورهای جستجو یا شکایت کاربران. کسانی که از محصولات کسپرسکی استفاده میکنند، ممکن است سایتشان به دلیل دستهبندی در گروههای ممنوعه مسدود شود که نشانهای از مشکل است. موتور ما هم لینکها و توضیحات داخل چنین بلوکهایی را شناسایی میکند.
نحوه عملکرد لینکهای مخفی
لینکهایی که برای کاربران عادی نامرئی هستند ولی توسط سیستمهای تحلیلی قابل اسکناند، لینک مخفی نامیده میشوند. این لینکها اغلب برای کلاهبرداری، افزایش رتبه سایت خود یا کاهش رتبه سایت قربانی استفاده میشوند. برای درک بهتر، ابتدا نگاهی به نحوه عملکرد سئو امروز میاندازیم. الگوریتمهای مختلفی مسئول رتبهبندی سایتها در نتایج جستجو هستند، مانند الگوریتم صفحهبندی. وزن صفحه، عددی است که اهمیت یک صفحه را تعیین میکند. هرچه تعداد لینکهایی که از سایتهای دیگر به صفحه داده میشود بیشتر باشد و این سایتها خود دارای وزن بالایی باشند، رتبه صفحه بیشتر میشود. برای بالا بردن رتبه سایت خود، مهاجم لینکهای مخفی به سایت خود روی وبسایت قربانی قرار میدهد. هرچه رتبه سایت قربانی بالاتر باشد، برای مهاجم جذابتر است. پلتفرمهای پر بازدید مانند بلاگها یا فرومها (تالارهای گفتگو) بیشترین توجه را جلب میکنند.
محدودیتها و الگوریتمهای پیشرفته
رتبه صفحه دیگر تنها معیار ارزش سایت نیست. گوگل الگوریتمهای دیگری دارد که معیارهای پیچیدهتری مانند اعتبار دامنه، کیفیت لینکها و زمینه محتوایی را بررسی میکنند. در نتیجه، قرار دادن لینک روی سایتی با رتبه بالا هنوز میتواند مفید باشد، اما تأثیر آن بسیار محدود است و الگوریتمها و فیلترهای پیشرفتهای وجود دارند که سایتهایی را که قوانین موتور جستجو را نقض میکنند، پایین میآورند. مثالها:
- فیلتر پنگوئن: سایتهایی که از لینکهای کمکیفیت یا مخفی برای افزایش رتبه استفاده میکنند، شناسایی و جریمه میکند. وزن این لینکها میتواند صفر شود و رتبه سایت قربانی و سایت اسپم کاهش یابد.
- فیلتر پاندا: کیفیت محتوا را ارزیابی میکند. حتی اگر سایت رتبه بالایی داشته باشد، اما محتوا کیفیت پایین، کپی، تولید خودکار یا ضعیف باشد، ممکن است رتبهاش کاهش یابد.
- اسپمبرین: با یادگیری ماشین، ساختار صفحات و الگوهای دستکاری را تحلیل و سایتهای اسپم را شناسایی میکند. این الگوریتم با پنگوئن ترکیب شده است.
نمونههایی از بلوکهای مخفی سئو کلاهسیاه
گاهی وبسایتها شامل بلوکهای HTML مخفی میشوند که برای کاربران قابل مشاهده نیستند، اما موتورهای جستجو آنها را میبینند. یکی از روشهای ساده برای پنهان کردن محتوا، استفاده از کد display: none;است. این کد باعث میشود محتوا در صفحه نشان داده نشود، اما لینکها و توضیحات آن برای سیستمها قابل دسترسی باشند. در بسیاری از این بلوکها لینکهایی به سایتهای پورنوگرافی یا کمکیفیت همراه با کلمات کلیدی مرتبط دیده میشود.
ویژگی دیگری که نشاندهنده اسپم سئو است، استفاده از rel="dofollow" است. این ویژگی به موتورهای جستجو میگوید که لینک وزن و اعتبار منتقل میکند. این کار معمولاً به نفع اسپمرهاست تا اعتبار سایت قربانی به سایتهای مورد نظر آنها منتقل شود. روشهای پیشرفتهتر شامل قرار دادن بلوک در خارج از ناحیه قابل مشاهده با استفاده از ارتفاع و عرض صفر، موقعیت مطلق و مخفی کردن محتوا میشود. حتی اگر اندازه بلوک صفر باشد، لینکها همچنان در کد صفحه وجود دارند و موتورهای جستجو آنها را میبینند. برخی سایتها از اسکریپتهای خارجی برای اضافه یا تغییر لینکهای مخفی به صورت دینامیک استفاده میکنند تا بلوکها در زمان واقعی تغییر کنند و شناسایی توسط الگوریتمها سختتر شود.
روشهای دیگری نیز وجود دارند، مانند visibility: hidden یا قرار دادن بلوکها در مکانهایی خارج از دید کاربر با فاصله زیاد. تمام این تکنیکها نشاندهنده تلاش برای دستکاری رتبه سایت و اسپم سئو هستند، اما الگوریتمهای پیشرفته مانند فیلترهای گوگل قادر به شناسایی آنها هستند.
نحوه قرار دادن لینکهای مخفی توسط مهاجمان در وبسایتهای دیگر
مهاجمان برای قرار دادن لینکهای مخفی معمولاً از اشتباهات و آسیبپذیریهای موجود در پیکربندی وبسایت استفاده میکنند. این مشکلات میتواند شامل رمز عبور ضعیف یا به خطر افتاده حساب مدیریت، پلاگینها یا موتور سایت که مدت طولانی بهروزرسانی نشدهاند، فیلتر ناکافی ورودیهای کاربران، یا مشکلات امنیتی سمت ارائهدهنده میزبانی باشد. علاوه بر این، مهاجمان ممکن است از عامل انسانی سوءاستفاده کنند، مثلاً با اجرای حملات فیشینگ هدفمند یا گسترده به امید دستیابی به اطلاعات ورود مدیر سایت.
روشهای دسترسی مهاجم به کد HTML صفحات
- دزدیدن یا حدس زدن رمز عبور مدیر سایت: مهاجم میتواند رمز عبور را حدس بزند، از طریق فیشینگ قربانی را فریب دهد، یا با کمک بدافزار آن را سرقت کند. همچنین ممکن است رمز عبور در پایگاه دادههای افشا شده وجود داشته باشد. بسیاری از مدیران وب برای حفاظت پنل کنترل از رمزهای ساده استفاده میکنند یا حتی رمز پیشفرض را تغییر نمیدهند، که کار مهاجم را آسان میکند. پس از دسترسی به پنل مدیریت، مهاجم میتواند مستقیماً کد HTML صفحه را ویرایش یا پلاگینهایی با بلوکهای مخفی سئو نصب کند.
- استفاده از آسیبپذیریهای سیستم مدیریت محتوا: اگر موتور سایت یا پلاگینها بهروزرسانی نشده باشند، مهاجمان از آسیبپذیریهای شناخته شده مانند تزریق SQL، اجرای کد از راه دور یا اسکریپتنویسی بین سایتها استفاده میکنند. بسته به سطح دسترسی بهدست آمده، مهاجم میتواند فایلهای قالب سایت را تغییر دهد، بلوکهای مخفی را در صفحات مختلف وارد کند و کنترل بیشتری روی سایت پیدا کند.
- در تزریق SQL، مهاجم کد مخرب خود را در پرسوجوی پایگاه داده قرار میدهد. بسیاری از سایتها محتوا، توضیحات محصولات یا اخبار را در پایگاه داده ذخیره میکنند. اگر پرسوجوی SQL امکان ورود داده دلخواه را بدهد، مهاجم میتواند کد HTML مخفی را وارد کند.
- در اجرای کد از راه دور، مهاجم توانایی اجرای دستورات خود روی سروری که سایت روی آن اجرا میشود را پیدا میکند. این روش تقریباً کنترل کامل سیستم را فراهم میکند و اجازه میدهد فایلها تغییر کنند، اسکریپتهای مخرب آپلود شوند و بلوکهای مخفی اضافه شوند.
- در حملات اسکریپتنویسی بین سایتها، مهاجم کد جاوااسکریپت خود را از طریق فیلدهای آسیبپذیر مانند کامنت یا جستجو به صفحه وارد میکند. وقتی کاربر دیگری صفحه را باز میکند، اسکریپت بهطور خودکار اجرا میشود و میتواند بلوکهای مخفی اضافه کند. برای این روش دسترسی مستقیم به سرور یا پایگاه داده لازم نیست؛ تنها یک آسیبپذیری کافی است.
- حمله از طریق ارائهدهنده میزبانی: مهاجم ممکن است از محیط میزبانی سایت برای دسترسی به سایت استفاده کند. اگر سرور ارائهدهنده بهدرستی محافظت نشده باشد، امکان نفوذ وجود دارد. همچنین اگر چند سایت روی یک سرور اجرا شوند، آسیبپذیری یکی میتواند همه سایتها را تحت تأثیر قرار دهد. توانایی مهاجم شامل وارد کردن بلوکهای مخفی در قالب صفحات، جایگزینی فایلها، تغییر پایگاه داده و اتصال اسکریپتهای خارجی به چند سایت بهصورت همزمان است، و مدیر سایت ممکن است متوجه نشود زیرا مشکل از محیط سرور ناشی شده است.
نکته مهم این است که وجود لینکهای مخفی همیشه نشانه حمله سایبری نیست. گاهی مشکل در مرحله توسعه ایجاد میشود، مثلاً وقتی یک قالب غیرقانونی برای صرفهجویی دانلود شده یا سایت توسط توسعهدهندهای شرور طراحی شده باشد.
هدف مهاجمان از قرار دادن بلوکهای مخفی
یکی از واضحترین اهداف، دزدیدن اعتبار سایت یا PageRank قربانی است. هرچه وبسایت محبوبتر و معتبرتر باشد، برای مهاجم جذابتر است. با این حال، این به معنای ایمنی سایتهای کمترافیک نیست. معمولاً مدیران سایتهای محبوب و بزرگ بسیار مراقب امنیت هستند، بنابراین مهاجمان سایتهای کوچکتر و کممحافظت را هدف قرار میدهند.
این روش در بلندمدت توسط موتورهای جستجو شناسایی و مسدود میشود، اما در کوتاهمدت مهاجمان هنوز میتوانند از آن سود ببرند و ترافیک را به سایت موردنظر هدایت کنند. حتی اگر کاربر لینک مخفی را نبیند، مهاجم میتواند با اسکریپتها، ترافیک به سایت خود ایجاد کند. مثلاً جاوااسکریپت میتواند یک iframe در پسزمینه بسازد یا درخواست HTTP به سایت ارسال کند تا بازدید ثبت شود.
لینکهای مخفی ممکن است به سایتهای پورنوگرافی، قمار، محتوای کمکیفیت، فیشینگ یا مخرب اشاره کنند. در طرحهای پیچیدهتر، اسکریپتی که بازدید ایجاد میکند ممکن است کد مخرب را به مرورگر قربانی بارگذاری کند. همچنین لینکهای مخفی میتوانند اعتبار سایت قربانی را کاهش دهند و رتبه آن در موتورهای جستجو را پایین بیاورند، زیرا الگوریتمهایی مانند پنگوئن گوگل سایتهای دارای لینکهای مشکوک را جریمه میکنند. مهاجمان ممکن است از این روش برای رقابت ناعادلانه، هکتیویسم یا بیاعتبار کردن سازمانها و افراد استفاده کنند.
جالب اینجاست که در سال ۲۰۲۵، بلوکهای مخفی با لینک به سایتهای پورنو و کازینوهای آنلاین در سایتهای قانونی بیشتر مشاهده شده است. بخشی از این موضوع به پیشرفت شبکههای عصبی و امکان خودکارسازی حملات بازمیگردد و بخشی دیگر بهروزرسانیهای مداوم سیستمهای ضد اسپم گوگل است که مهاجمان احتمالا قبل از سختتر شدن قوانین برای بیشینه کردن سود تلاش کردهاند.
پیامدهای سایت قربانی
پیامدهای وجود لینکهای مخفی میتواند شدید باشد. حداقل، اعتبار سایت نزد موتورهای جستجو آسیب میبیند، که ممکن است منجر به کاهش رتبه یا حذف کامل از نتایج شود. حتی بدون جریمه، این لینکها ساختار لینکدهی داخلی سایت را مختل میکنند و وزن سایت را به سایتهای خارجی منتقل میکنند، که رتبه صفحات مهم را کاهش میدهد.
با اینکه کاربران این لینکها را نمیبینند، بازرسها، سیستمهای تحلیل محتوا یا پژوهشگران میتوانند آنها را کشف کنند و در گزارشهای عمومی منتشر کنند. این موضوع میتواند اعتماد به سایت را کاهش دهد. برای مثال، اگر موتور دستهبندی ما لینکهای سایت را به صفحات پورنو شناسایی کند، سایت در دسته «محتوای بزرگسال» قرار میگیرد و کاربران ما که فیلتر این دسته را فعال کردهاند، نمیتوانند به سایت دسترسی پیدا کنند. همچنین اطلاعات درباره دستهبندی سایت در پورتال اطلاعات تهدیدات کسپرسکی منتشر میشود و برای هر کسی که میخواهد اعتبار سایت را بررسی کند، قابل دسترسی است.
اگر سایت برای توزیع محتوای غیرقانونی یا فریبدهنده استفاده شود، مسئله وارد حوزه حقوقی میشود و صاحب سایت ممکن است با شکایت دارندگان حقوق یا نهادهای نظارتی مواجه شود. برای مثال، اگر لینکها به سایتهای توزیع محتواهای غیرقانونی اشاره کنند، سایت ممکن است بهعنوان واسط نقض حق نشر محسوب شود. همچنین اگر بلوک مخفی شامل اسکریپتهای مخرب یا تغییر مسیر خودکار به سایتهای مشکوک باشد، مالک میتواند به جرم کلاهبرداری یا سایر جرایم سایبری متهم شود.
روشهای شناسایی بلوکهای مخفی در سایت
سادهترین روش برای هر کاربر، مشاهده کد منبع سایت در مرورگر است. کافی است سایت را باز کرده و کلیدهایControl+U را فشار دهید تا کد صفحه نمایش داده شود. سپس با جستجو (Control+F) به دنبال کلمات کلیدی مانند display: none، visibility: hidden، opacity: 0، height: 0، width: 0، position: absolute بگردید. همچنین میتوان کلمات مرتبط با محتوای مخفی را بررسی کرد؛ برای لینکهای بزرگسال یا قمار، به دنبال porn، sex، casino، card و غیره باشید.
روش پیشرفتهتر استفاده از ابزار توسعهدهنده مرورگر است. پس از بارگذاری کامل صفحه، DevTools (F12) را باز کرده و به تب Elements بروید. با جستجو به دنبال <a، iframe، display: none، hidden، opacity باشید و نشانگر ماوس را روی عناصر مشکوک ببرید تا موقعیت آنها در صفحه مشخص شود. اگر بلوک هیچ مساحت نداشته باشد یا خارج از ناحیه قابل مشاهده باشد، نشاندهنده عنصر مخفی است. در تب Computed میتوان سبکهای CSS اعمال شده را بررسی و تأیید کرد که محتوا برای کاربر مخفی است.
همچنین میتوان از ابزارهای تخصصی SEO استفاده کرد. این ابزارها معمولاً خدمات طرف سوم هستند که دادههای سئو سایت را اسکن کرده و گزارش تولید میکنند. آنها میتوانند لینکهای مشکوک را نیز شناسایی کنند. هنگام انتخاب ابزار، باید بیشتر به اعتبار ارائهدهنده توجه کرد تا قیمت. استفاده از سرویسهای شناختهشده و معتبر توصیه میشود، مانند Google Search Console، Bing Webmaster Tools، OpenLinkProfiler و SEO Minion.
راه دیگر بررسی، CMS و فایلهای سایت است. جداول پایگاه داده را برای تگهای HTML مشکوک با لینکهای طرف سوم اسکن کنید و فایلهای قالبو ماژولهای سایت را برای کدهای ناشناخته یا مشکوک بررسی کنید. به ویژه به کدهای رمزگذاری شده، اسکریپتهای نامفهوم یا لینکهای غیرطبیعی دقت کنید. در نهایت، میتوان اعتبار سایت را در پورتال اطلاعات تهدیدات کسپرسکی بررسی کرد. اگر سایت در دستهبندی غیرمعمول مانند «محتوای بزرگسال»، «محتوای جنسی» یا «قمار» قرار گرفته باشد، احتمال وجود بلوک مخفی سئو اسپم بسیار بالا است.
راهکارهای امنیتی
- برای جلوگیری از قرار گرفتن لینکهای مخفی در سایت، از قالبها، تمها و سایر راهحلهای آماده بدون مجوز استفاده نکنید. کل زیرساخت سایت باید تنها بر پایه راهکارهای رسمی و دارای مجوز ساخته شود. همین اصل برای وبمسترها و شرکتهایی که سایت شما را میسازند نیز صدق میکند: توصیه میشود کار آنها را نه تنها از نظر لینکهای مخفی، بلکه از نظر آسیبپذیریهای احتمالی نیز بررسی کنید. هرگز در زمینه امنیت کوتاهی نکنید.
- سیستم مدیریت محتوا، تمها و پلاگینهای خود را همیشه بهروز نگه دارید، زیرا نسخههای جدید اغلب آسیبپذیریهای شناختهشدهای را برطرف میکنند که مهاجمان ممکن است از آنها سوءاستفاده کنند. پلاگینها و تمهای استفادهنشده را حذف کنید. هر چه تعداد اجزای غیرضروری کمتر باشد، خطر نفوذ از طریق یکی از افزونهها، پلاگینها یا تمها کمتر خواهد بود. با این حال، باید بدانید که این خطر هرگز به طور کامل از بین نمیرود و حتی با حداقل اجزا، اگر آنها قدیمی یا ضعیف محافظت شده باشند، همچنان وجود دارد.
- برای محافظت از فایلها و سرور، تنظیم صحیح دسترسیها بسیار اهمیت دارد. در سرورهای لینوکس و سیستمهای مشابه یونیکس، از مقادیر ۶۴۴ برای فایلها و ۷۵۵ برای پوشهها استفاده کنید. این بدان معناست که مالک میتواند پوشهها را باز کند و فایلها و پوشهها را خوانده و ویرایش کند، در حالی که گروه و سایر کاربران تنها میتوانند فایلها را بخوانند و پوشهها را باز کنند. اگر دسترسی نوشتن ضروری نیست، مثلاً در پوشههای قالب، آن را به طور کامل محدود کنید تا خطر تغییرات غیرمجاز کاهش یابد. همچنین، تنظیم پشتیبانگیری منظم و خودکار از وبسایت ضروری است تا در صورت بروز مشکل، دادهها سریع بازیابی شوند.
- استفاده از فایروال برنامههای وب (WAF) نیز توصیه میشود، زیرا به مسدود کردن درخواستهای مخرب و محافظت از سایت در برابر حملات خارجی کمک میکند. این راهکار در محصول حفاظت در برابر حملات DDoS کسپرسکی نیز موجود است.
- برای محافظت از پنل مدیریت، همیشه از رمزهای عبور قوی و احراز هویت دو مرحلهای (2FA) استفاده کنید. اگر امکان دارد، دسترسی به پنل مدیریت را از طریق آدرس IP محدود کنید. فقط گروه محدودی از افراد باید دارای دسترسی ادمین باشند تا خطر نفوذ کاهش یابد.
[1] Black Hat SEO
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.