گام بعدی برای توسعهدهندگان
وظایف مرتبط با ایجاد و نگهداری ایمن از نرم افزارها یا تعمیر نرم افزارهای موجود میتواند دشوار باشد و APIها نیز از قضیه مستثنی نیستند.
بر این باوریم که آموزش و آگاه سازی، گامی کلیدی در راستای نوشتن و توسعه نرم افزارهای ایمن هستند. تمامی الزامات دیگر در راستای نیل به هدف فوق به ایجاد و استفاده از فرایندهای امنیتی تکرارپذیر و کنترلهای امنیتی استاندارد بستگی دارد.
OWASP منابع آزاد و رایگان متعددی برای پاسخ به مسائل امنیتی از ابتدای پروژه ایجاد نموده است. به منظور آشنایی با لیست جامع پروژههای دردسترس، صفحه پروژههای OWASP را ملاحظه نمایید.
آموزش | Application Security Wayfinder باید به شما دیدگاه خوبی در مورد پروژههایی که در هر مرحله/فاز از چرخه عمر توسعه نرمافزار (SDLC) در دسترس هستند، بدهد. برای یادگیری و آموزش عملی، میتوانید با OWASP crAPI - Completely Ridiculous API یا OWASP Juice Shop شروع کنید: هر دو عمداً دارای APIهای آسیبپذیر هستند. پروژه OWASP Vulnerable Web Applications Directory Project فهرستی گزینششده از برنامههای کاربردی عمداً آسیبپذیر را ارائه میدهد که میتوانید در آنجا چندین API آسیبپذیر دیگر نیز پیدا کنید. همچنین میتوانید در جلسات آموزشی کنفرانس OWASP AppSec شرکت کنید، یا به شعبه محلی خود بپیوندید. |
الزامات امنیتی | امنیت باید بعنوان بخشی تفکیک ناپذیر در تمامی پروژهها از ابتدا درنظر گرفته شود. در هنگام استخراج الزامات امنیتی، باید معنی واژه «ایمن» برای هر پروژه مشخصا تعریف شود. OWASP استفاده از استاندارد امنیت سنجی اپلیکیشن (ASVS) را بعنوان راهنمایی برای تعیین الزامات امنیتی توصیه میکند. در صورت برون سپاری نیز، استفاده از ضمیمه قرارداد نرم افزار ایمن OWASP (که بایستی با قوانین و رگولاتوریهای محلی انطباق یابد) میتواند انتخاب مناسبی باشد. |
معماری امنیتی | امنیت بایستی در تمامی مراحل توسعه پروژهها اهمیت داشته باشد. برگههای راهنمای پیشگیری OWASP نقطه شروع مناسبی برای چگونگی طراحی ایمن در خلال فاز طراحی معماری به شمار آید. همچنین برگه راهنمای امنیت REST و برگه راهنمای ارزیابی REST و همچنین GraphQL Cheat Sheet نیز گزینههای مناسبی در این راستا هستند. |
کنترلهای امنیتی استاندارد | بکارگیری و انطباق با کنترلهای امنیتی استاندارد ریسک ایجاد ضعفهای امنیتی در خلال ایجاد برنامهها با منطق سازمانی را کاهش میدهد. علیرغم اینکه بسیاری از چارچوبهای مدرن امروزی با استانداردهای توکار و موثر امنیتی توزیع میشوند، اما کنترلهای پیشگیرانه و فعال OWASP دید خوبی از کنترلهایی که باید در پروژهها لحاظ شوند بدست میدهد. OWASP کتابخانه و ابزارهای متعددی از جمله در حوزه کنترلهای اعتبارسنجی در اختیار عموم قرار میدهد که میتوانند مفید باشند. |
چرخه حیات توسعه نرم افزار ایمن | به منظور بهبود فرایندها در هنگام ایجاد و ساخت APIها میتوان از مدل ضمانت کمال نرم افزار OWASP (SAMM) بهره برد. همچنین پروژههای متعدد دیگری نیز در OWASP وجود دارند که میتوانند در فازهای مختلف توسعه API مفید باشند که از جمله آنها میتوان، پروژه بازبینی کد OWASP را نام برد. |