یک برنامه ناامن می تواند کاربران و سیستم ها را در معرض انواع آسیب قرار دهد. هنگامی که یک طرف مخرب از آسیبپذیریها یا کمبود ویژگیهای امنیتی به نفع خود برای ایجاد آسیب استفاده میکند، به آن حمله میگویند. ما در این راهنما به انواع مختلف حملات نگاهی می اندازیم تا بدانید هنگام ایمن سازی برنامه خود به دنبال چه چیزی باشید.
حملات را می توان به دو نوع مختلف تقسیم کرد: فعال و غیرفعال.
با یک حمله فعال، مهاجم سعی می کند مستقیماً به برنامه نفوذ کند. راههای مختلفی برای انجام این کار وجود دارد، از استفاده از هویت جعلی برای دسترسی به دادههای حساس (حمله بالماسکه) گرفته تا پر کردن سرور شما با حجم عظیمی از ترافیک برای عدم پاسخگویی به برنامه شما (حمله انکار سرویس).
حملات فعال نیز می تواند به داده های در حال انتقال انجام شود. یک مهاجم میتواند دادههای برنامه شما را قبل از اینکه به مرورگر کاربر برسد، تغییر دهد، اطلاعات تغییر یافته را در سایت نشان دهد یا کاربر را به مقصدی ناخواسته هدایت کند. این گاهی اوقات اصلاح پیام ها نامیده می شود.
با حمله غیرفعال ، مهاجم سعی میکند اطلاعاتی را از برنامه جمعآوری یا یاد بگیرد، اما روی خود برنامه تأثیری نمیگذارد.
تصور کنید شخصی در حال استراق سمع مکالمه شما با دوستان و خانواده است، اطلاعاتی در مورد زندگی شخصی شما، دوستان شما و محل معاشرت شما جمع آوری می کند. همین کار را می توان در ترافیک وب شما انجام داد. مهاجم میتواند دادههایی را بین مرورگر و سرور جمعآوری کند و نامهای کاربری و رمز عبور، تاریخچه مرور کاربران و دادههای مبادله شده را جمعآوری کند.
مهاجمان می توانند مستقیماً به برنامه شما آسیب برسانند یا بدون اینکه شما یا کاربران متوجه شوید، یک عملیات مخرب در سایت شما انجام دهند. شما به مکانیسم هایی برای شناسایی و محافظت در برابر حملات نیاز دارید.
متأسفانه، هیچ راه حل واحدی برای ایمن سازی 100٪ برنامه شما وجود ندارد. در عمل، بسیاری از ویژگیها و تکنیکهای امنیتی در لایهها برای جلوگیری یا تأخیر بیشتر حمله استفاده میشوند (به این میگویند دفاع در عمق ). اگر برنامه شما حاوی فرم است، می توانید ورودی ها را در مرورگر، سپس در سرور و در نهایت در پایگاه داده بررسی کنید. شما همچنین می توانید از HTTPS برای ایمن سازی داده ها در حین انتقال استفاده کنید.
از آنجایی که بسیاری از حملات می توانند بدون ضربه زدن به سرور شما اتفاق بیفتند، گاهی اوقات تشخیص اینکه آیا حملات رخ می دهند یا خیر، دشوار است. خبر خوب این است که مرورگرهای وب دارای ویژگی های امنیتی قدرتمندی هستند.