جزوه امنیت نرم افزار
دانلود فایل
تکنیکهای تست امنیتی آسیبپذیریها یا حفرههای امنیتی جزوه امنیت نرم افزار در برنامهها را جستجو میکنند. این آسیبپذیریها، برنامهها را در معرض بهرهبرداری قرار میدهند . در حالت ایده آل، تست امنیتی در کل چرخه عمر توسعه نرم افزار (SDLC) اجرا می شود تا آسیب پذیری ها به موقع و کامل برطرف شوند.
انواع مختلفی از ابزارهای خودکار برای شناسایی آسیبپذیریها جزوه امنیت نرم افزار در برنامهها وجود دارد. دسته های ابزار متداول مورد استفاده برای شناسایی آسیب پذیری های برنامه عبارتند از:
تست امنیت برنامه استاتیک (SAST) کد منبع را برای آسیبپذیریهای امنیتی در طول توسعه یک برنامه تجزیه و تحلیل میکند. در مقایسه با DAST، SAST میتواند حتی قبل از اینکه برنامه در حالت اجرایی باشد، مورد استفاده قرار گیرد. از آنجایی که SAST به کد منبع کامل دسترسی دارد، یک رویکرد جعبه سفید است. این میتواند نتایج دقیقتری به همراه داشته باشد، جزوه امنیت نرم افزار اما میتواند منجر به بسیاری از موارد مثبت کاذب شود که باید به صورت دستی تأیید شوند.
تست امنیت برنامه های پویا (DAST، که اغلب اسکنرهای آسیب پذیری نامیده می شود ) به طور خودکار آسیب پذیری ها را با خزیدن و تجزیه و تحلیل وب سایت ها شناسایی می کند. این روش بسیار مقیاس پذیر، به راحتی یکپارچه و سریع است. ابزارهای DAST برای مقابله با حملات سطح پایین مانند نقصهای تزریق مناسب هستند، اما برای تشخیص نقصهای سطح بالا، بهعنوان مثال، نقصهای منطقی یا منطق تجاری مناسب نیستند. [۶] Fuzzing ، [۷] ابزارها معمولاً برای آزمایش ورودی استفاده می شوند.
تست امنیت برنامه های تعاملی (IAST) برنامه ها را از داخل با استفاده از ابزار دقیق نرم افزار ارزیابی می کند . این ترکیبی از نقاط قوت هر دو روش SAST و DAST و همچنین دسترسی به کد، ترافیک HTTP، اطلاعات کتابخانه، اتصالات پشتیبان و اطلاعات پیکربندی است. [۸] [۹] برخی از محصولات IAST نیاز به حمله به برنامه دارند، در حالی که برخی دیگر را می توان در طول جزوه امنیت نرم افزار آزمایش تضمین کیفیت معمولی استفاده کرد. [۱۰] [ منبع تبلیغاتی؟ ] [۱۱] [ منبع تبلیغاتی؟ ]
محافظت از خود برنامه در زمان اجرا، برنامه های موجود را تقویت می کند تا تشخیص نفوذ و جلوگیری از درون زمان اجرا برنامه را فراهم کند.
اسکنرهای وابستگی (که به آن تجزیه و تحلیل ترکیب نرم افزار نیز گفته می شود) سعی می کنند استفاده از اجزای نرم افزاری با آسیب پذیری های شناخته شده را شناسایی کنند. این ابزارها می توانند به صورت درخواستی، به عنوان مثال، در طول فرآیند ساخت کد منبع، یا به صورت دوره ای کار کنند.