با توجه به گسترش روز افزون نرم افزارهای تحت وب و انجام انواع تبادلات ملی بر روی بستر وب، نیاز به امنیت بالا در این نوع از نرم افزار امری ضروری است. در حال حاضر بسیاری از سازمانها و موسسات دولتی و خصوصی در داخل و خارج از کشور، بسیاری از خدمات خود را بر بستر وب ارائه می دهند. همانند انواع ثبت نام های اینترنتی.
1- تعریف نرم افزار
امروزه، در حال تولید میزان انبوهی از نرم افزارها هستیم و سیستم های محاسباتی و شبکه های خود را پیچیده تر می کنیم. اما متاسفانه در همین زمان، توانایی بستن شکاف های امنیتی اندکی هم پیشرفت نداشته است. بسادگی مشخص است که باید در روش های تولید و توسعه نرم افزار چندین تغییر اساسی ایجاد کنیم و این روند را بهبود بخشیم.
اینجا، جایی است که امنیت نرم افزار مطرح می شود. امنیت نرم افزار یک نظام جوان است که خصوصیات امنیتی نرم افزار را هنگامی که در حال طراحی، آزمایش، پیاده سازی و بکارگیری است، مورد خطاب قرار می دهد. یعنی در دوره زمانی تولید نرم افزار یا Software Development Life Cycle (SDLC). این شامل فعالیت های امنیتی زیادی در مراحل مختلف در SDLC، مانند مدل کردن تهدید، مدیریت خطر و آزمایش های امنیتی است.
یک عامل مهم که که به شکلی این مسئله را بغرنج تر می کند این واقعیت است که تولیدکنندگان نرم افزار و گروه های امنیت IT تمایل دارند که کاملاً مستقل از یکدیگر بر اولویت های خویش تمرکز کنند. تولید نرم افزار عموماً تلاشش را روی مسائلی چون کارایی و کارامدی نرم افزار، هزینه و غیره متمرکز می کند. و البته مطمئناً اینها عناوین مهمی هستند.