Defacement (یا وب ‌دیفِیس‌منت) به معنی تغییر غیرمجازِ ظاهر یا محتوای یک وب‌سایت است. که معمولاً با جایگزینی صفحات با محتوای جدید، افزودن پیام‌های تبلیغاتی/سیاسی، یا بارگذاری بدافزار/اسکریپت روی صفحات انجام می شود. این کار معمولاً هدفش خراب‌کردن اعتبار، پیام‌رسانی سیاسی، یا نمایش توانایی هکر است.

روش‌های رایج نفوذ که به دیفیس منتهی می‌شوند:

  • سوء‌استفاده از آسیب‌پذیری‌های وب‌اپلیکیشن مثلا ً SQL injection، RCE، آپلود فایل ناامن
  • دسترسی به کنترل پنل CMS با استفاده از Credentials (یوزر و پسورد) به‌دست‌آمده مثل روش هایی مثل حمله  Brute-Force یا فیشینگ
  • بهره‌برداری از misconfiguration یا آسیب‌پذیری‌های سرورFTP ، SFTP و ...
  • حملات مبتنی بر Bot که سایت‌های آسیب‌پذیر را اسکن و خودکار دیفیس می‌کنند

پیامدها:  از دست رفتن اعتبار برند، خطر گسنرش بدافزار به بازدیدکنندگان، و ممکن است نشانه‌ای از نفوذ عمیق‌تر (مثل سرقت داده یا نصب وب‌شل) باشد. همچنین یک سایت دیفیس‌شده می‌تواند باعث جریمه یا حذف از لیست نتایج موتورهای جستجو شود.

فورتی وب FortiWeb و قابلیت Anti-Defacement جهت مقابله با حمله Defacement

FortiWeb یک Web Application Firewall (WAF) است که از وب سایت ها و اپلیکیشن های تحت وب ما محافظت می کند. این دستگاه با امکانات و قابلیت های متنوعی که دارد امنیت سامانه های تحت وب ما را تامین می‌کند اینکار را با شناسایی حملات شناخته‌شده، تشخیص رفتارهای ناهنجار، مدل‌سازی ماشین‌لرنینگ برای اپلیکیشن ها ، جلوگیری از حملات DoS و بسیار از قابلیت های دیگر انجام می دهد. یکی از قابلیت های فورتی وب  Anti-Defacement  است که به‌صورت ویژه تغییرات غیرمجاز در فایل‌ها/محتوای سایت را مانیتور می‌کند و در صورت لزوم می‌تواند عملیات بازگردانی (restore) انجام دهد.

چگونه FortiWeb در برابر Defacement عمل می‌کند

FortiWeb به صورت دوره‌ای که قابل تنظیم است فایل‌ها و محتوای سایت را اسکن می‌کند و وضعیت فعلی را با یک نسخه مرجع یا checksum قبلی مقایسه می‌نماید. هر تفاوتِ غیرمجاز به‌عنوان رویدادی که ممکن است دیفیس باشد شناخته می‌شود.

برای اینکه FortiWeb بتواند تغییر را تشخیص دهد یا برگرداند، نیاز دارد از محتوای سالم یک baseline یا بکاپ استفاده کند. این نسخه مرجع می‌تواند از طریق FortiWeb ایجاد و ذخیره شود تا بعدها برای مقایسه و بازگردانی استفاده شود.

وقتی تغییر مشکوکی شناسایی شود، بسته به تنظیمات، FortiWeb  می‌تواند:

  • فایل/صفحه را به صورت خودکار بازگردانی کند (Auto-Restore) یعنی نسخه‌ی سالم قبلی را جایگزین کند،
  • یا کاربران را به یک سرور بکاپ یا صفحه‌ی جایگزین redirect کند،
  • و/یا فقط هشدار (alert) تولید و لاگ کند تا اپراتور بررسی کند.

FortiWeb  لاگ‌های دقیق از تغییرات، timestamp، فایل‌های متاتر و اقدام انجام‌شده ثبت می‌کند. این لاگ‌ها برای ریشه‌یابی و تحلیل پس از حادثه و سازگاری با الزامات ممیزی مفیدند.

می‌توان فهرست فایل‌ها/دایرکتوری‌های وب سایت را مشخص (inclusion/exclusion) کرد تا فقط محتوای وب‌سایتِ مورد نظر مانیتور شود و تغییرات مشروع توسعه‌دهندگان (deployments) اشتباهاً بازگردانده نشوند. اسکن می‌تواند با دوره‌های زمانی مختلف و حساسیت‌های متفاوت تنظیم شود. فرمان‌های CLI و تنظیمات web UI برای فعال‌سازی/غیرفعال‌سازی و مدیریت وجود دارد

 نکات مهم برای پیکربندی و بهره‌برداری از قابلیت Anti-Defacement

1.      قبل از فعال‌سازی  Auto-Restore، با فرایندهای توسعه و انتشار وب سایت هماهنگ شوید. اگر Auto-Restore  فعال باشد و تیم توسعه در حال تغییر و آپدیت سایت باشد، FortiWeb  ممکن است تغییرات مجاز را به‌عنوان دیفیس تشخیص داده و آن‌ها را بازگردانی کند. توصیه می‌شود هنگام بروزرسانی‌ها Auto-Restore را موقتاً غیرفعال کنید یا استثناء تعریف کنید. (براساس تجربه ، قبل از فعال کردن این قابلیت باید تیم نرم افزار را از فعال کردن این قابلیت معطل کنید و اینکه نیاز است که تیم نرم افزار قبل از تغبیر وب سایت هماهنگی لازم را انجام دهند که مشکلی در پروسه تغییرات بوجود نیاید)

2.      Baseline و بکاپ منظم نگه دارید. هر زمان که سایت به‌صورت مشروع تغییر کرد، baseline/backup  جدید ایجاد کنید تا تشخیص و بازگردانی صحیح انجام شود.

3.      از Defense-in-Depth استفاده کنید: Anti-Defacement یک لایه‌ی تشخیص و بازگردانی است، و جلوی نقطه‌ی نفوذ از روش هایی مثل  SQL injection ، آپلود فایل مخرب، credentials leak را به‌تنهایی نمی‌گیرد. در کنار این قابلیت ما باید از سایر قابلیت های ForiWeb استفاده کنیم تا امنیت وب سایت مان را بالا ببریم. همچنین علاوه بر این باید سایر مسائل امنیتی مثل سخت‌سازی سرور، بررسی کدها و شناسایی آسیب پذیریهای نرم افزار، مدیریت پچ ، MFA  برای پنل‌ها و کنترل دسترسی ها را مدنظر داشته باشیم که بتوانیم امنیت وب سایت را به صورت قابل توجهی بالا ببریم و قبل از Deface شدن جلو حمله گرفته شود.

4.      قواعد استثناء (whitelist/blacklist) و دایرکتوری‌های مهم را مشخص کنید.  فقط محتوای وب‌سایت را مانیتور کنید و فایل‌های لاگ یا فایل‌های تولیدشده موقت را از مانیتور خارج کنید تا نویز کاهش یابد

5.      نظارت بر لاگ‌ها و اطلاع‌رسانی لحظه‌ای: آلارم‌ها را به SIEM یا کانال‌های اطلاع رسانی مثل ایمیل، Syslog، یا ابزارهای مانیتورینگ متصل کنید تا تیم پاسخگو به‌سرعت متوجه موضوع شود که در قبال آن واکنش دهد

6.      قابلیت Anti-Defacement  فورتی و  نمی‌تونه به‌تنهایی از همه‌ی روش‌های نفوذ جلوگیری کند؛ اگر مهاجم از یک آسیب‌پذیری سرور یا CMS استفاده کند و shell نصب کند، Anti-Defacement  تغییرات را سریع شناسایی و بازگردانی می کند، اما لازم است علت نفوذ (root cause) رفع شود تا مهاجم دوباره تغییرات ایجاد نکند.

7.      در محیط‌هایی با انتشار مکرر و تغییرات زیاد، نیاز است هماهنگی بین تیم توسعه وآدمین FortiWeb برقرار شود تا  false positiveها یا بازگردانی‌های ناخواسته رخ ندهد.

8.      این قابلیت برای صفحات و محیط های استاتیک مناسب است و برای صفحات داینامیک که به صورت خودکار و داینامیک تغییر می کنند مناسب نیست.

9.      فعال کردن این قابلیت بخصوص در حالت auto restore حتما نیاز به بررسی وب سایت و هماهنگی کامل به تیم نرم افزار و توسعه وب سایت دارد که بتوانیم به درستی و با موفقیت از این قابلیت بهره برداری کنیم.

به طور کلی قابلیت Anti-Defacement فورتی وب  با اسکن دوره‌ای فایل های وب سایت و  مقایسه آنها با  baseline که دارد تغییرات غیرمجاز را شناسایی و لاگ‌ می کند و در صورت فعال بودن Auto-Restore می‌تواند سریعا با استفاده از فایل های بکاپ که دارد وب سایت را به حالت قبل بازگرداند و اثر Deface را از بین ببرد.