امروزه هکرها علاقه زیادی به Exploit نمودن کلیه انواع برنامههای کاربردی نشان میدهند. بدین دلیل که ممکن است علیرغم شناسایی به موقع آسیبپذیری از سوی محققان امنیتی و پیش از کشف آن توسط هکرها، باز هم رفع یا بهروزرسانی آن به چندین ماه زمان نیاز داشته باشد. حتی در مواردی ممکن است از آسیبپذیریهایی سوءاستفاده شود که Patchهای مربوط به آن از مدتها قبل ارائه شده و مدلهای جامعی از ارائه برنامه کاربری همراه با فرآیندهای ساختاریافته برای یافتن، تست و رفع نقایص نرمافزار در زمان مناسب وجود داشته باشد.
برنامههای کاربردی نصب شده در تجهیزات سیار به صورت Native، با ریسکهایی همچون ذخیرهسازی ناامن دادهها، انتقال بدون امنیت دادهها و نشت اطلاعات حساس مواجه میشوند. همگام با اینکه تبلتها و تلفنهای هوشمند به یک اصل اساسی در پیشبرد کسبوکار تبدیل میشوند، مرز میان برنامههای کاربردی سازمانی و شخصی تا حد زیادی از بین رفته و دادههای حساس و محرمانه با ریسک اشتراکگذاری از طریق ذخیرهساز Cloud، بر روی شبکههای اجتماعی و بین برنامههای کاربردی یا به صورت Peer-to-Peer مواجه میشوند.
دلیل آسیبپذیری برنامههای کاربردی وب را باید در عواملی همچون اجرای پیکربندی در وضعیت امنیتی نامناسب، کاستی در مدیریت Patch در سیستمعاملهای اصلی، آسیبپذیری در زبان رمزگذاری یا آسیبپذیریهای بدون Patch و Zero-Day در روابط Third Party جستجو کرد. استفاده از برنامههای کاربردی که از تکنولوژی قدیمی یا بدون پشتیبان برخوردار هستند، خطر حملاتی را به همراه دارند که میتواند به فیلدها نفوذ کرده و علاوه بر ایجاد سربار در بافرها، اقدام به اجرای کد رمز به صورت Remote یا اجرای حملات Command Injection نماید. حملات صورت گرفته در Application Layer فراتر از کنترل ایجاد شده توسط فایروالهای شبکه و IDS/IPS است که قابلیت شناسایی حملات منطقی را ندارند.
اهمیت متمرکزسازی در فرآیند مجازیسازی Application
محافظت از دادههای حساس در فرآیند مجازیسازیِ برنامههای کاربردی از طریق متمرکز شدن برنامههای کاربردی در دیتاسنتر و ارائه برنامهها به صورت پیکسلی برای رسیدن به Endpoint صورت میگیرد، بنابراین انتقال واقعی دادهها انجام نمیشود و امکان محافظت از اطلاعات حساس فراهم میگردد. به علاوه با مجازیسازی میتوان برنامههای کاربردی را براساس الزامات امنیتی مربوط به آن دستهبندی نمود؛ به این صورت که برنامههای کاربردیِ حساس به سرورهای خاصی در بخشهای مجزای شبکه و با مقادیر متفاوتی از حساسیت، نگهداری میشوند. ضمن اینکه امکان ارائه چندین نسخه مجزا از مرورگر وب وجود دارد تا الزامات مختلف امنیتی برای برنامههای تحت وب را تعریف نماید. به این ترتیب میتوان به یک نقطه واحد از قابلیت دید و کنترل دست یافت که برای تعریف و پیادهسازی Policyهای مرتبط با دسترسی در سطح گروهی یا انفرادی به کار میرود.
پیکربندی امنیتی و مدیریت Patchها به صورت غیرمتمرکز در برنامههای کاربردی Local اغلب ناکارآمد و ناهماهنگ خواهد بود. با فرآیند متمرکزسازی، مواردی همچون Patchهای سیستمعامل، Service Pack ،Hotfix و بهروزرسانی پیکربندیها و برنامههای کاربردی در یک Master Image واحد اجرا میشود؛ در نتیجه روند تِست و Rollout با سرعت بیشتری انجام شده و ریسک حملات مبتنی بر Endpoint مانند Memory Scraping یا RAM Scraping از بین میرود.
عملکرد و ارتباط بین Citrix Receiver Client و سرورهای XenApp از طریق کانالهای مجازی برای کارت گرافیک، دیسک، پورت COM، پورت LPT، پرینتر، کارت صدا و کارت هوشمند امکانپذیر میگردد که همراه با Policyهای XenApp جهتِ کنترل قابلیت ذخیره، کپی، پرینت یا انتقال دادهها میباشد. قابلیت SmartControl در NetScaler میتواند قابلیت فیلترینگ در سطح شبکه را برای سازمانهایی ارائه نماید که به لایه محافظتی بیشتری نیاز دارند. به علاوه، فرآیند رمزگذاری با هریک از Componentهای جریان ارتباطی مانند SSL/TLS و ICA چند لایه ادغام میشود.
فرآیند Container نمودن برای مدیریت برنامههای کاربردی سیار جهت محافظت از دادهها
بهترین راهکارهای ارائه شده توسط Citrix برای ایجاد امنیت در برنامههای کاربردیِ سیار، مبتنی بر فرآیند Container نمودن میباشد که در واقع نوعی بخشبندی در سطح تجهیزات به شمار میرود. کاربران میتوانند از یک دستگاه واحد با برنامههای کاربردی سازمانی و شخصی به همراه دادهها و برنامههای کاربردی سازمانی استفاده نمایند که از طریق منابع IT مدیریت میشوند. به علاوه اینکه ارتقای امنیت سختافزار، سیستمعامل و برنامههای کاربردی جداگانه از طریق اقدامات امنیتی مبتنی بر Container شامل ذخیره و کاربرد رمزگذاریشده، کنترل دادهها به صورت App-to-App و تعریف Policyهای حذف دادهها امکانپذیر میشود.
با توجه به اینکه XenMobile بر اساس رویکرد Containerization ارائه شده است، این امکان را برای سازمانها فراهم میکند تا قابلیت مدیریت و کنترل و امنیت را در برنامههای کاربردی، دادهها و تنظیمات آن متمرکز نمایند.
-
Micro-VPN:
XenMobile و NetScaler به ارائه Tunnelهای اختصاصی Micro-VPN برای برنامههای کاربردی سیار به صورت Native میپردازند؛ همچنین Sessionهای رمزگذاریشدهی SSL/TLS بین برنامه کاربردی و NetScaler در برابر سایر تجهیزات و ارتباطات Micro-VPN محافظت میشود تا امنیت منابع در شبکه داخلی در مقابل ترافیک برنامههای کاربردی شخصی و آلوده به بدافزار تضمین شود.
-
تایید اعتبار تجهیزات
فرآیند Containerization نمیتواند به تنهایی امنیت تجهیزاتی را تضمین نماید که برای نصب Root شده یا قفل امنیتی آنها شکسته شده است (که یک اصل رایج برای مقابله باMalware ها محسوب میشود)، بنابراین XenMobile وضعیت امنیتی تجهیزات را ارزیابی نموده و در صورتیکه قفل امنیتی آنها پیش از ثبت، شکسته شده باشد اقدام به مسدود نمودن آنها میکند.
-
برنامههای کاربردی Native و مدیریتشده:
برنامههای کاربردی سیار Citrix در حوزه بهرهوری مانند WorxMail و WorxWeb جهت تامین امنیت در ایمیل و مرورگرهای وب به صورت Native بر روی تجهیزات سیار نصب میشوند و در یک Container ایمن به صورت Sandbox قرار میگیرند. بدین ترتیب منابع IT میتوانند فرآیند مدیریت، کنترل، قفل و در صورت لزوم حذف را به صورت گزینشی و بدون تماس با دادهها و برنامههای کاربردی شخصی به صورت Remote انجام دهند.
محافظت از برنامههای کاربردی تحت وب در برابر حملات
برنامههای کاربردی تحت وب را میتوان از اهداف قابل توجه هکرها به شمار آورد که با اتصال مستقیم به پایگاههای دادهی حاوی اطلاعات حساس شرکت و مشتریان میتواند سطح بسیار آسیبپذیری از حملات را ایجاد نماید؛ این تهدیدات اغلب برای یک هدف خاص طراحی میشوند، بنابراین شناسایی آنها توسط تجهیزات امنیتی در لایه شبکه (Network Layer) از قبیل سیستمهای پیشگیری از نفوذ (IPS) و فایروالهای شبکه غیرممکن میشود. بنابراین برنامههای کاربردی تحت وب با استفاده از Exploitهای شناختهشده و Zero-Day، در معرض حملات Application Layer قرار میگیرند.NetScaler AppFirewall با ارائه امنیت متمرکز در سطح برنامه کاربردی برای سرویسها و برنامههای کاربردی تحت وب به پر کردن این شکاف میپردازد.
حملات منطقی بر اساس آسیبپذیری Injectionها میتوانند از اختلال در یک برنامه کاربردی برای فیلتر نمودن ورودیهای کاربر بهره برده و اقدام به Exploit آن نمایند؛ برای مثال زمانی که از SQL Injection برای عبور دستورات دلخواه از طریق برنامههای اجرا شده توسط پایگاهداده استفاده میشود. همچنین Cross Site Scripting یا به اختصار XSS از برنامه کاربردی تحت وب به عنوان سلاحی برای حمله به سایر کاربران استفاده میکند؛ که مجددا به دلیل نقص در تایید اعتبار ورودیها میباشد. در این مرحله، کد دستوری حمله که به عنوان بخشی از برنامه کاربردی شناخته شده، به مرورگر قربانی بازگشته و به عنوان دستور اجرا میشود و در نهایت فرآیند Session Hijacking را اجرا نموده و یا طی فرآیند Phishing اقدام به سرقت اطلاعات محرمانه میکند.
AppFirewall این قابلیت را دارد تا با ذخیرهی الگوهای سفارشی Injection، به محافظت در برابر انواع حملات Injection بپردازد.
- مدیران میتوانند پارامترهای کاربری را با استفاده از روش محافظتی Field Format با برخی Expressionهای معمول محدود نمایند؛ ضمن اینکه Form Fieldها به لحاظ سازگاری مورد بررسی قرار میگیرد تا از عدم تغییر و اصلاح در آنها اطمینان حاصل گردد.
- AppFirewall برای پیشگیری از SQL Injection، به جستجوی ترکیبی از کاراکترها و کلمات کلیدی SQL در درخواستها میپردازد.
- AppFirewall برای ایجاد محافظت دینامیک و مبتنی بر ساختار در برابر حملات XSS به جستجوی آن دسته از ورودیها میپردازد که مشابه HTML Tag هستند؛ ضمن اینکه Tagها و مشخصههای مجاز HTML را بررسی مینماید تا حملات و اسکریپتهای XSS را شناسایی نماید.
ار آنجاییکه برنامههای کاربردی تحت وب اغلب هدف حملات DDoS میباشند، فرآیند محافظت باید فراتر از سطح شبکه و Session گسترش یابد. NetScaler از قابلیت محافظت Application-Layer DDoS برای مسدود کردن یا کاهش ترافیکِ حملات مجاز در لایه شبکه استفاده مینماید.
- درخواستهای Client از طریق قابلیت محافظت HTTP DDoS، به چالش کشیده میشود تا تضمین شود که درخواستها از یک مرورگر معتبر ایجاد میشوند؛ ضمن اینکه درخواستهای اسکریپت و Bot معمولا نمیتوانند پاسخ درستی به این چالش دهند و در نتیجه رد میشوند.
- در صورت دریافت یک درخواست POST، در ابتدا اعتبار Cookie مربوط به آن مورد بررسی قرار میگیرد. درصورتی که Cookie معتبر نباشد، یک JavaScript توسط NetScaler به Client فرستاده شده و درخواست ارسال مجدد اطلاعات با یک Cookie جدید ارائه میگردد، که پس از 4 دقیقه نامعتبر خواهد بود. هر یک از پاسخها به Client، با یک Cookie جدید ارسال میشود. در طول وقوع یک حمله، تمامی Cookieهای ارسال شده از قبل، اعتبار خود را از دست داده و یک صفحه خطا همراه با یک Cookie فرستاده میشود. اتصالات جدید و اتصالهایی که قادر به ارائه دادههای معتبر برای Cookie نیستند، دارای اولویت پایین در لیست انتظار میباشند.
AppFirewall با اجرای مدلهای امنیتی مثبت و منفی به تضمین رفتار صحیح برنامه کاربردی میپردازد. در مدل امنیتی مثبت، رفتار صحیحِ برنامه کاربردی درک شده و تمامی ترافیکهای دیگر نیز مخرب درنظر گرفته میشوند، که تنها رویکرد مورد تایید برای ارائه محافظت Zero-Day در برابر Exploitهای منتشرنشده به شمار میآید. مدیران در صورت نقض Policyهای امنیتی به واسطه برخی رفتارهای برنامه کاربردی میتوانند انتظارات مشخصی را ایجاد نمایند.
همچنین در مدل امنیتی منفی، AppFirewall با استفاده از هزاران Signature به روزرسانی شده به صورت خودکار میتواند فرآیند اسکن را در رابطه با تهدیدات شناخته شده اجرا نماید. پروفایل پیشرفتهی مربوط به محافظت از برنامههای کاربردی تحت وب میتواند قابلیتهای محافظت مبتنی بر Session را جهت محافظت از عوامل دینامیک مانند Cookieها، Form Fieldها و URL Session Specific اضافه نماید. بنابراین حملاتی که ارتباط میان Client و سرور را تهدید میکنند، متوقف میشود. این محافظت برای آن دسته از برنامههای کاربردی ضرورت دارد که محتوای مخصوص کاربر را پردازش میکند و از آن جمله میتوان از سایتهای تجارت الکترونیک نام برد.