امنیت برنامه های تحت وب (Web Application Security)
در این مقاله قصد داریم در مورد آسیبپذیریهای رایج برنامههای تحت وب و همچنین امنیت برنامه های تحت وب صحبت کنیم.
خلاصه تخصصی مقاله
در این مقاله قصد داریم در مورد آسیبپذیریهای رایج برنامههای تحت وب و همچنین امنیت برنامه های تحت وب صحبت کنیم.
موضوعات اصلی: فایروال، تحت، حملات، اطلاعات، استفاده، برنامه
امنیت برنامه های تحت وب برای تمامی مشاغل حائز اهمیت است. در این مقاله قصد داریم در مورد آسیبپذیریهای رایج برنامههای تحت وب و همچنین نحوه مقابله با آنها صحبت کنیم.
امنیت برنامه های تحت وب یکی از عناصر اصلی تمامی مشاغلی است که بر بستر وب بنا نهاده شدهاند. به طور کلی ماهیت جهانی اینترنت به گونهای است که برنامه های تحت وب از نقاط مختلف و در سطوح متفاوت مورد حمله و آسیب قرار میگیرند.
امنیت برنامه های تحت وب به طور خاص با وبسایتها، برنامههای تحت وب و خدمات وب مانند APIها سروکار دارد.
آسیبپذیریهای متداول برنامه های مبتنی بر وب
حملاتی که علیه برنامههای مبتنی بر وب رخ میدهد شامل طیف گستردهای میشود؛ از دستکاری هدفمند پایگاه دادهها گرفته تا اختلال در شبکههایی با مقیاس بزرگ. حال به بررسی برخی از روشهای رایج حمله میپردازیم
- Cross Site Scripting (XSS)این آسیبپذیری به مهاجم این امکان را میدهد که اسکریپتهای client side را به یک صفحهی وب تزریق کند تا بتواند مستقیما به اطلاعات مهم آن دسترسی پیدا کند، خود را به جای کاربر معرفی کند یا اصطلاحا جعل کند و همچنین کاربر را فریب دهد تا اطلاعات مهم را فاش کند.
- SQL Injectionکه به آن تزریق به پایگاه داده نیز گفته میشود، یک حمله متداول است که از کدهای مخرب SQL برای دستکاری پایگاه داده جهت دسترسی به اطلاعاتی که هرگز به نمایش در نمیآیند، استفاده میکند.
این دادهها ممکن است شامل اطلاعات مهم شرکت و یا اطلاعات دقیق در مورد مشتریها باشد. مهاجمان از SQL برای دستیابی به اطلاعات غیرمجاز، تغییر یا ایجاد مجوزهای جدید برای کاربران و یا دستکاری و تخریب دادههای بسیار مهم استفاده میکنند.
- Denial of Serviceمهاجمان از طریق بردارهای مختلف میتوانند سرور هدف یا زیرساختهای آن را با انواع مختلف ترافیک به میزان انبوه روبرو نماید به طوری که سرور نتواند بار ترافیک را تحمل کند.
در این صورت سرور دیگر قادر به پردازش موثر درخواست ورودیها نبوده، سرعت آن به شدت پایین میآید و در نهایت سرویسدهی به درخواستهای قانونی میسر نمیباشد.
- Memory Corruptionبروز مشکل در حافظه زمانی رخ میدهد که قسمتی از حافظه به صورت ناخواسته تغییر کند و در نتیجه عواقب غیر منتظرهای متوجه نرمافزار گردد.
مهاجمان سایبری در تلاش هستند از طریق سوءاستفادههایی نظیر حملات Code Injection یا Buffer Overflow به حافظه آسیب بزنند.
- Buffer Overflowنوعی ناهنجاری است که هنگام نوشتن اطلاعات نرم افزاری در یک فضای تعریف شده بر روی حافظهای که تحت عنوان buffer معروف است رخ میدهد.
سرریز شدن ظرفیت buffer باعث میشود مکانهای مجاور بر روی حافظه نیز از اطلاعات سرریز شوند. این اتفاق میتواند به سوء استفاده در اثر تزریق کدهای مخرب منتهی شود و همچنین به طور بالقوه باعث آسیب به دستگاههای هدف میگردد.
- Cross-Site Request Forgery (CSRF)شامل فریب قربانی جهت ارسال درخواستی است که وی از احراز هویت یا محوز خود استفاده کند. در این صورت مهاجم میتواند با استفاده از امتیازات اکانت کاربر، خود را به جای وی معرفی کرده و اقدام به ارسال درخواست نماید.
در این مرحله پس از به خطر افتادن اکانت کاربر، مهاجم اطلاعات مهم را از بین میبرد و یا آنها را تغییر میدهد. معمولا اکانتهایی که امتیاز ویژهای دارند مانند اکانت مدیران، مورد هدف این حملات قرار میگیرند.
- Data Breachنقض دادهها یک واژه کلی است که به انتشار اطلاعات حساس و محرمانه اشاره دارد و از طریق اقدامات مخرب یا اشتباهات رخ میدهد. دامنهی نقض دادهها نسبتا گسترده است؛ از چندین مورد با ارزش گرفته تا میلیونها حساب کاربری.
راههای جلوگیری و کاهش آسیبپذیریهای برنامههای تحت وب
مهمترین گامهایی که میتوان در راستای محافظت از برنامه های تحت وب برداشت شامل رمزگذاری بهروز شده (Encryption)، احراز هویت (Authentication) و همچنین داشتن نرمافزارهای مناسب میباشد.
در حقیقت مهاجمان باهوش حتی در محیطهای امنیتی قوی نیز میتوانند آسیبپذیریهایی را پیدا کنند، بنابراین جهت مقابله با این امر یک استراتژی بسیار ایمن و جامع توصیه می گردد.
فایروال برنامه های تحت وب که به اختصار به آن WAFگفته می شود به محافظت از برنامههای تحت وب در برابر ترافیکهای مخرب HTTP کمک شایانی مینماید. با قرار دادن یک مانع به عنوان فیلتراسیون بین سرور مورد نظر و مهاجم، میتوان مانع از حملات Cross Site Forgery ، Cross Site Scripting و SQL Injection شد.
کاهش حملات DDoS
یک روش متداول برای ایجاد اختلال در برنامههای مبتنی بر وب، استفاده ازحملات DDoSاست. استراتژیهای مختلفی را میتوان به منظور کاهش این حملات به کار برد مانند کاهش حملات حجمی در لبه و یا استفاده ازشبکه Anycastبه منظور مسیریابی صحیح درخواستهای قانونی بدون این که خدمات و سرویسدهی سرور از بین برود.
امنیت از طریق DNS
Domain Name System یا DNSهمانند دفترچه تلفن اینترنت میباشد و نشان میدهد که چطور ابزارهای اینترنت مانند مرورگر وب، سرور صحیح را جستجو میکنند. به طور معمول مهاجمین در تلاش هستند درخواستهای DNS را از طریق حملات مربوطه با مشکل روبرو کنند.
چنانچه DNS را مانند دفترتلفن در نظر بگیریم، DNSSEC نیز مانند ID غیر قابل جعل تماس گیرنده میباشد.
راهکارهای ستاک فناوری ویرا برای امنیت برنامه های تحت وب
FortiWeb با به کاربردن یک امنیت چندلایه و یکپارچه، امنیت کامل را به جهت نرمافزارهای کاربردی تحت وب داخلی و خارجی شبکه در برابر OWASP TOP 10 و بسیاری از حملات برقرار مینماید.
FortiWeb با استفاده از سرویسهایی نظیرIP Reputationمیتواندbotnet هاو سایربدافزارهارا به سرعت و پیش از آن که آسیبی رخ دهد شناسایی نماید. فورتی وب با تشخیص و پیشگیری از حملات DOS (Denial of Service) ، کمک میکند تا برنامههای کاربردی شما از اشباع شدن با حملات DOS در امان بمانند.
فایروال فورتی وب با به کار بردن تایید اعتبار (HTTP RFC) از درخواستهای نامعتبر جلوگیری مینماید و درخواستهایی که به سمت وب سرور ارسال میگردد از طریق فورتی وب بررسی شده و با توجه به انواع حملات رایج مقایسه میشوند تا از صحت درخواستها اطمینان حاصل گردد.
فایروال FortiWeb قادر به بررسی هریک از فایلها، فایلهای پیوست و یا کدها، توسط سرویس آنتی ویروس و یا سرویس ضد بدافزار میباشد.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.