در حال حاضر بیش از ۷۰ درصد حملات اینترنتی از طریق بستر وب صورت می‌گیرد، برنامه‌های کاربردی تحت وب به عنوان بزرگترین هدف مهاجمین جهت نفوذ به زیرساختهای اطلاعاتی سازمان‌ها تبدیل شده‌اند. با توجه به رشد روزافزون حملات تحت وب و عدم کارایی سیستم‌های تشخیص و جلوگیری از نفوذ محصول جدیدی در عرصه امنیت اطلاعات و ارتباطات با عنوان «فایروال برنامه‌های کاربردی تحت وب» (Web Application Firewall) به منظور مقابله با این حملات توسعه یافته است.

طبق گزارش موسسات فعال درحوزه‌ی امنیت فضای مجازی، در حال حاضر بیش از ۷۰ درصد حملات اینترنتی از طریق بستر وب و با نفوذ به کارگزارهای وب صورت می‌گیرد و برنامه‌های کاربردی تحت وب به عنوان بزرگترین هدف مهاجمین جهت نفوذ به زیرساختهای اطلاعاتی سازمان‌ها تبدیل شده‌اند.
شرکت امنیتی Imperva در سال ۲۰۱۰ میلادی در مقاله‌ای تحت عنوان (Web attacks: The Biggest Threat to Your Network) به ارائه‌ی گزارش خیره‌کننده‌ای از حملات شبکه و وب پرداخت. در این گزارش ۹۲ درصد از حملات به تنهایی مربوط به برنامه‌های کاربردی تحت وب بود که بیانگر اهمیت موضوع امنیت وب می‌باشد.
در حیطه ابزارهای امنیت اطلاعات، محصولات فایروال را می‌توان یکی از عمومی‌ترین تکنولوژی‌ها در راستای امن‌سازی نام برد. البته این محصولات توان امنیتی خود را بیشتر در زمینه امن‌سازی شبکه نشان داده‌اند. ولی واقعیت این است که فایروال‌ها تنها در مباحث امنیت شبکه مورد استفاده قرار نمی‌گیرند.

تکنولوژی فایروال‌ها از زمان اولین نسل آن‌ها یعنی حدود سال ۱۹۹۵ میلادی تاکنون، سیر توسعه و تحول ویژه‌ای را طی نموده است. این سیر توسعه در دو زمینه کلی زیر قابل دسته‌بندی می‌باشند.

۱٫ رشد قابلیت‌های امنیتی در محصولات فایروال
۲٫ افزایش انواع فایروال با توجه به کاربردها و حیطه استفاده از آن‌ها
محصولات فایروال از نظر حیطه کاربرد شامل انواع زیر می‌باشند.
  • فایروال شبکه
  • فایروال شخصی
  • فایروال پایگاه داده
  • فایروال برنامه کاربردی مبتنی بر وب (WAF )



همان‌طور که از نام این محصولات مشخص می‌شود، هر کدام در یک حیطه خاص کاربرد دارند. بدیهی است که فایروال‌های شبکه‌ای نیازمندی به فایروال شخصی و یا مابقی فایروال‌ها را مرتفع نمی‌سازد. از میان تمامی انواع فایروال‌ها، فایروال‌های شبکه‌ای از محبوبیت بالایی در امن‌سازی برخوردارند. البته با توجه به رشد روزافزون حملات تحت وب و عدم کارایی سیستم‌های تشخیص و جلوگیری از نفوذ (IPS/IDS) محصول جدیدی در عرصه امنیت اطلاعات و ارتباطات با عنوان «فایروال برنامه‌های کاربردی تحت وب» (Web Application Firewall) به منظور مقابله با این حملات توسعه یافته است
فایروال‌ها و سیستمهای تشخیص نفوذ شبکه، معمولاً بسته‌های ارتباطی را در لایه کاربرد مورد بررسی قرار نمی‌دهند و از این رو به طور مناسب قادر به حفاظت از کارگزارها و برنامه‌های کاربردی وب نیستند. اما WAF، با توانایی وارسی ترافیک در لایه کاربرد، جهت شناسایی و پیشگیری از حملاتی مانند SQL Injection، XSS بر روی برنامه‌های کاربردی تحت وب و جلوگیری از نشت اطلاعات حساس سازمان مورد استفاده قرار می‌گیرد.

به‌طور معمول در مقابل رخداد یک نفوذ امنیتی بر روی برنامه کاربردی مبتنی بر وب می‌توان راه‌کارهای زیر را در نظر گرفت؛
ارائه یک راه‌حل امنیتی برای شبکه: در این راه‌کارها می‌توان محصولات امنیت شبکه نظیر فایروال، IPS و … را به شبکه تزریق نمود.
استفاده از پویش‌گر امنیتی: این ابزار برای کشف آسیب‌پذیری در برنامه‌های کاربردی استفاده می‌شوند. با کمک این ابزار مدیر می‌تواند آسیب‌پذیری‌های موجود در برنامه‌ها را قبل از کشف توسط مهاجم شناسایی نماید.
اصلاح برنامه کاربردی: در تولید برنامه‌های کاربردی ایده‌های امنیتی متنوعی موجود است که به تولیدکننده کمک می‌کند تا فرایند تولید برنامه را به‌صورت امن دنبال نماید. این ایده‌ها با عنوان برنامه‌نویسی امن (Secure Coding) مطرح می‌باشند.
گرچه راه‌کارهای فوق همگی در راستای بهینه‌سازی وضعیت امنیتی یک برنامه کاربردی تحت وب مفید هستند، ولی هنوز این عملیات تضمین زیادی برای امنیت برنامه‌های کاربردی نمی‌باشند.
بنابراین برای ذکر دلایل ضرورت WAF در یک سازمان که یک یا چند برنامه کابردی مبتنی بر وب دارند، محصول WAF با سه رویکرد امنیتی یادشده مقایسه می‌شود؛ این رویکردها عموماً به‌عنوان جایگزین برای WAF‌ مطرح می‌شوند.

۲٫WAF چیست؟
همان‌طور که گفته شد، فایروال‌های شبکه‌ای از محبوبیت بالایی در امن‌سازی شبکه‌ها برخوردار می‌باشند. تکنولوژی این فایروال‌ها با حضور محصولات UTM، امکان بازرسی محتوای لایه کاربرد را برای انواع ویروس‌ها و Spamها فراهم می‌کند. با این وجود فایروال‌های شبکه‌ای درک کاملی از برنامه‌های کاربردی وب در شبکه‌ها نخواهند داشت. همان‌طور که اشاره شد، بسیاری از تهدیدات در شبکه ناشی از تهدیدات خاص برنامه‌های کاربردی است. از طرفی مسیر برنامه‌های کاربردی به سوی مبتنی بر وب شدن می‌باشد. بنابراین باید فایروال‌هایی تولید نمود که برنامه‌های کاربردی وب را از این تهدیدات محافظت نماید.
برای این منظور محصول فایروال برنامه کاربردی (WAF) ارائه شده است. این فایروال‌ها به‌طور خاص بازرسی را روی ترافیک برنامه‌های کاربردی مبتنی بر وب انجام می‌دهند. در این بازرسی علاوه ‌بر اطلاعات شبکه‌ای ترافیک، اطلاعات خاص برنامه‌های کاربردی وب نیز مورد نیاز می‌باشد. برای نمونه محصولات وف کنترل ویژه‌ای روی مفهوم نشست انجام می‌دهند. باید توجه داشت که این مفهوم کاملاً مربوط به برنامه کاربردی است و به عبارت دیگر بالاتر از قراردادهای لایه کاربرد است.
به‌طور معمول یک محصول وف در دو حالت زیر می‌تواند مستقر شود.

  • به‌صورت نرم‌افزاری و یکپارچه در داخل کارگزار وب
  • به‌صورت یک Appliance و به‌عنوان یک ابزار شبکه‌ای

بدیهی است که هر کدام از حالات استقرار وف شامل مزایا و معایب خاص خود می‌باشد. به‌طور معمول محصولات تجاری در بازار به‌صورت یک Appliance ارائه می‌شوند. این محصولات می‌توانند مستقل از نوع کارگزار وب خدمات وف را ارائه کنند. همچنین با حضور چندین نوع برنامه کاربردی می‌توان با استفاده از یک وف به‌صورت سخت‌افزاری از تمام برنامه‌های کاربردی موجود محافظت نمود. شکل۲ توپولوژی شبکه را با حضور یک سیستم وف نشان می‌دهد. در این شکل سیستم وف بطور مستقل از کارگزار وب در دو حالت شفاف و مسیریاب قادر به ارائه‌ی خدمات امنیت وب می‌باشد.

۳٫چه کسانی باید از وف استفاده کنند؟
هر نهاد، سازمان، بنگاه اقتصادی و … که از بستر وب جهت ارائه‌ی خدمات نرم‌افزاری خود به کاربران و مشتریان استفاده می‌کند جهت تامین امنیت برنامه‌های کاربردی وب، جلوگیری از نشت و سرقت دارایی‌های اطلاعاتی خود باید از وف استفاده نماید. بر طبق یک گزارش آماری معتبر دیگر از شرکت WhiteHat Security، تقریبا اکثر حوزه‌های کاری که از خدمات وب استفاده می‌کنند در معرض آسیب‌پذیری‌های امنیتی قرار دارند.
نکته قابل تامل در این گزارش آنست که حوزه‌های IT و Telecom که خود را متولی امر امنیت می‌دانند از این آسیب‌پذیری‌ها در امان نیستند!

۴٫ تهدیدات وب
در این بخش به بررسی مدل‌های تهدیدات و آسیب‌پذیری‌های برنامه‌های کاربردی خواهیم پرداخت. در ابتدا مدل‌های مختلف تهدیدات وب که در مراجع مختلف ذکر شده است مورد بررسی و مقایسه اجمالی قرار گرفته است. بخش‌های زیادی از این تهدیدات علی‌رغم دسته‌بندی های بعضا متفاوت در مراجع مختلف به حملات مشابهی اشاره دارند. به همین دلیل از میان مراجع موجود زیر مجموعه‌ای جامع انتخاب شده است.

مدل تهدیدات وب
پس از ظهور اینترنت و رشد تکنولوژی‌ها و زبان‌های برنامه‌نویسی تحت وب، گرایش توسعه دهندگان برای تولید برنامه‌های کاربردی تحت وب بشدت توسعه یافت. در اغلب پروژه‌های نرم‌افزاری، محدودیت زمانی و هزینه، عواملی هستند که توسعه‌دهندگان نرم‌افزار را از توجه جدی به امن‌سازی برنامه‌های کاربردی باز می‌داشت. لذا امروزه با پیشرفت و بلوغ تکنولوژی‌های امنیت شبکه، بیشترین حملات از طریق لایه کاربردی اتفاق می‌افتد. اخیراً سازمان‌ها و مؤسسات مختلفی در زمینه امنیت برنامه‌های کاربردی به‌صورت تخصصی، فعالیت می‌نمایند که بخشی از این فعالیت‌ها منجر به تولید فایروال‌های لایه برنامه کاربردی شده است.
یکی دیگر از فعالیت‌های این سازمان‌ها، دسته‌بندی و گروه‌بندی حملات یا آسیب‌پذیری‌های برنامه‌های کاربردی تحت وب است که این امر، منجر به توسعه دانش شده و از طرفی، کمک بسزایی در تولید محصولات امنیتی نموده است. انجمن OWASP و WASC و SANS از جمله سازمان‌هایی هستند که در این زمینه، دسته‌بندی‌هایی را ارائه نموده‌اند. تهدیدات ارائه شده در مستندات WASC بسیار کامل و جامع است و از طرف دیگر تهدیدات ارائه شده در گزارشات سالیانه OWASP نیز بسیار مورد ارجاع قرار گرفته و محبوبیت بیشتری دارند.
به عنوان نمونه در جدول۱، جدیدترین دسته‌بندی ده‌گانه OWASP که در سال ۲۰۱۳ میلادی منتشر شده است قابل ملاحظه می‌باشد. بر طبق این دسته‌بندی حملات Injection همچنان در صدر جدول تهدیدات امنیتی وب قرار دارند.
در این بخش به طور اجمالی به شرح ۵ آسیب‌پذیری مشترک در سال‌های ۲۰۱۰ و ۲۰۱۳ می‌پردازیم.
۱-۴ تزریق
رخنه‌های تزریق مانند تزریق‌های SQL، سیستم‌عامل و LDAP زمانی به وقوع می‌پیوندند که داده‌ها به شکلی ارزیابی نشده و اعتبارسنجی نشده به عنوان بخشی از یک دستور یا پرس‌و‌جو به یک سامانه مفسر فرستاده می‌شود. داده‌های مخرب مهاجم می‌توانند سامانه مفسر را به گونه‌ای وادار کند که فرمان‌هایی را که دستور آن‌ها از کاربر قانونی صادر نمی‌شود و یا برنامه‌نویس اجازه آن را نداده است و نباید اجرا شوند را اجرا کند و به داده‌هایی که حق دسترسی به آن‌ها را ندارد دسترسی پیدا کند.
۲-۴ مدیریت جلسات و عملیات احراز هویت نیمه تمام
توابعی از برنامه کاربردی که با مدیریت جلسات و احراز هویت مرتبط هستند معمولاً به درستی پیاده‌سازی نشده‌اند، که این موضوع به مهاجمان این امکان را می‌دهد که رمز‌های عبور، کلید‌ها و رمزهای جلسات را بدست بیاورد یا از سایر رخنه‌های هنگام پیاده‌سازی برنامه‌کاربردی استفاده کند تا شناسه‌های دیگر کاربر را نیز تقلید نماید.
۳-۴ اسکریپت‌نویس از طرف سایت خارجی
رخنه‌های XSS زمانی رخ می‌دهند که یک برنامه کاربردی داده‌های غیر قابل اطمینانی را دریافت می‌کند و آن‌ها را بدون انجام عملیات اعتبارسنجی و تصحیح مناسب به سوی مرورگر وب کاربر ارسال می‌کند. رخنه XSS به مهاجم این امکان را می‌دهد که کدهایی را در مرورگر کاربر اجرا کند که به دزدیدن نشست کاربر، تغییر دادن ظاهر وب‌سایت‌ها و یا انتقال کاربر قربانی به وب‌سایت‌های مخرب و مضر بیانجامد.
۴-۴ ارجاع ناامن مستقیم به اشیاء
یک ارجاع مستقیم به یک شئ زمانی انجام می‌شود که برنامه‌نویس یک اشاره‌گر به یکی از منابع و اشیای داخلی پیاده‌سازی برنامه، مانند یک فایل، پوشه، یا کلید پایگاه‌داده را آشکارا در معرض دید قرار دهد. بدون استفاده از یک مکانیزم کنترل دسترسی یا انواع دیگر تأمین حفاظت برای این منابع داخلی، مهاجمان می‌توانند این ارجاع‌های فراهم شده را به گونه‌ای مورد استفاده قرار دهند که دسترسی غیرمجاز به منابع پیدا کنند.
۵-۴ پیکر‌بندی ناصحیح تنظیمات امنیتی
امنیت خوب نیازمند داشتن تنظیمات امن‌سازی شده‌ی تعریف و پیاده‌سازی شده برای برنامه‌های کاربردی، چهارچوب‌ها ، خدمت‌گزارهای برنامه‌ها ، خدمت‌گزار‌های وب، خدمت‌گزارهای پایگاه‌داده و بسترهای نرم‌افزاری است. تمامی این تنظیمات باید به خوبی تعریف و پیاده‌سازی شوند و با توجه به تغییرات پیش‌فرض‌های امنیتی نگهداری شوند. نگهداری شامل بروزرسانی نرم‌افزارها و تمامی کتابخانه‌های کد داخلی برنامه‌ی کاربردی نیز می‌شود.

۵٫ ویژگی‌های مهم وف
بر طبق ضوابط ارزیابی موسسات و آزمایشگاه‌های ارزیابی (نظیر NSS و ICSA)، سیستم‌های وف باید ویژگی‌های زیادی را تحت پوشش قرار دهند تا موفق به دریافت گواهینامه‌های ارزنده‌ی این آزمایشگاه‌ها شوند. اهم این موارد در حوزه‌ی تامین امنیت برنامه‌های کاربردی وب می‌باشد.
سیستم‌های وف، با تامین امنیت در لایه کاربرد شبکه به حفاظت از برنامه‌های کاربردی وب و کارگزارهای وب می‌پردازد. بررسی کامل محتوای پروتکل‌های HTTP و HTTPS، جلوگیری از حملات رایج و پشتیبانی از OWASP Top 10 و نظارت کامل بر پیام‌های پاسخ جهت جلوگیری از نشت اطلاعات، از قابلیت‌های مهم امنیتی آن می‌باشد.
بررسی ساختار پیام‌ها و تطبیق آن‌ها با ساختار پروتکل HTTP، بررسی محتویات عمومی پیام‌ها برای یافتن ناهنجاری‌ها و تشخیص بسته‌های مشکوک، اعمال محدودیت‌های عمومی بر روی درخواست نظیر تعداد پارامترها، اندازه‌ی پارامترها و استانداردسازی (Normalization) پیام‌ها و اعمال روش‌های ضدگریز برای مقابله با دور زدن فایروال از دیگر ویژگی‌های وف می‌باشد. پشتیبانی از لیست سفید (مدل امنیتی مثبت) و لیست سیاه (مدل امنیتی منفی) و قابلیت تنظیم مشخصات عمومی درخواست‌ها، کوکی ها، URL  ها و پارامترهای سرآیند از این قبیل می‌باشند.

  • Protection against common attacks
  • SQL Injection
  • Cross Site Scripting (XSS)
  • Cross-Site Request Forgery (CSRF)
  • Session Hijacking
  • Buffer Overflow
  • OS command injection
  • Information leakage
  • Denial of Service (DoS)
  • Malicious Robots
  • Parameter Tampering
  • Malicious and Illegal Encoding
  • Directory Traversal
  • Web Server and OS Attacks
  • Site Reconnaissance
  • Remote File Inclusion (RFI)

۶٫ تولیدکنندگان وف
امروزه با توجه به اهمیت امنیت وب شرکت‌های معتبری در دنیا به ارائه محصول وف می‌پردازند. در این قسمت به برخی از این شرکت‌ها و محصولات وف اشاره می‌شود.
شرکت Cisco : محصول فایروال لایه کاربرد این شرکت فایروال لایه کاربرد ACE نام دارد.
شرکت Imperva : این شرکت سخت‌افزارهای مختلفی در سری‌های G ، X ، M و V دارد. سخت‌افزارهای سری G و سری X این شرکت این توانایی را دارند که بستری برای نرم‌افزار فایروال لایه کاربرد وب این شرکت باشند.
شرکت Citrix : محصول فایروال لایه کاربرد این شرکت netscaler نام دارد.
شرکت Barracuda : محصول وف این شرکت در ۵ مدل (مدل ۳۶۰، مدل ۴۶۰، مدل ۶۶۰، مدل ۸۶۰ و مدل ۹۶۰) ارائه می شود.
شرکت FortiNet : این شرکت دارای محصولاتی نظیر FortiWeb-3000C، FortiWeb-1000C وFortiWeb-400B می‌باشد.
شرکت ایرانی امن‌افزار گستر شریف: این شرکت دارای محصول پارس‌وف سری‌های PW5000، PW3000 و PW7000 با توان‌های پردازشی متنوع می‌باشد. در این مقاله سعی بر این داشتیم تا با آگاه‌سازی ذهن خواننده از تهدیدات و حملات وب تغییر رویکردی در تفکر مدیران امنیتی سازمان‌ها ایجاد شود. باید به این نکته توجه داشت که طبق بررسی آماری موسسه گارتنر متاسفانه حدود ۹۰ درصد هزینه‌های تامین امنیت شبکه‌ها در جایی اتفاق می‌افتد که تنها ۲۵ درصد از تهدیدات قرار دارد. و امید است با مطالعه این مقاله ذهنیت امنیتی در کشور ما نیز دستخوش تغییرات اثربخش گردد.

* منبع