5 مورد از برترین منابع OWASP که هیچ توسعه‌دهنده‌ای نباید آن‌ها را از دست بدهد.

OWASP چیست؟

OWASP مخفف شده عبارت Open Web Application Security Protocol Project است و یک متدولوژی یا بهتر بگوییم یک پروژه غیر دولتی است که در آن به شما به عنوان یک کارشناس برنامه‌نویس تحت وب، معیارهایی را که بایستی برای امن‌تر شدن نرم‌افزار خود بکار ببرید شرح داده است.

در حال حاضر نوشتن کد‌های امن تبدیل به یکی از باید‌ها و الزامات توسعه‌دهندگان شده است. شمار حملات به سازمان‌های کوچک و بزرگ و اثرات زیان‌آور آن‌ها برای شرکت‌هایی که دچار شکاف اطلاعاتی شده‌اند، رو به رشد است. به این علت، امروزه امنیت از حاشیه بیرون آمده و تبدیل به یکی از نقاط اتکای اصلی برای بقای کسب‌وکارها شده است.

برنامه‌های امن برای حیات و طول عمر سازمان‌هایی که در حیطه تولید و انتشار نرم‌افزار فعالیت می‌کنند، ضروری است و امنیت از پایه و شالوده کار یعنی کد آغاز می‌شود. توسعه‌دهندگان چگونه می‌توانند کد‌های امن تولید کنند؟ با درک عمیق از این مطلب که یک کد امن چه کدی است، به چه شکل است و چگونه نوشته و تست می‌شود. به دلیل تنوع در تعداد زبان‌های برنامه‌نویسی، محدوده وسیع حامل‌های حمله و تغییرات سریع قلمرو توسعه، چیز‌های زیادی برای یادگیری وجود دارند و توسعه‌دهندگان بسیاری هستند که باید با این مطالب آشنا باشند.

توسعه‌دهندگان، افراد خوش‌شانسی هستند. حجم عظیمی از اطلاعات بصورت آنلاین در دسترس آن‌ها قرار دارد، چندین سازمان شناخته شده و معتبر برای شفاف‌تر ساختن امنیت و استقرار آن در سازمان‌ها این اطلاعات را برای دسترسی عموم در اینترنت قرار داده‌اند. یکی از این سازمان‌ها OWASP است، یک شرکت غیرانتفاعی با شعباتی در سرتاسر جهان است که برای ” نمایان ساختن امنیت نرم‌افزار، اختصاص داده شده است تا اشخاص حقیقی و سازمان‌ها بتوانند تصمیمات آگاهانه‌ای اتخاذ کنند”. ملحق شدن به OWASP رایگان است و صدها منابع باز و رایگان را برای شما فراهم می‌کند که به سادگی می‌توانید بسیاری از آن‌ها را دانلود کرده و به صورت آفلاین به آن‌ها دسترسی داشته باشید.

OWASP منابع بسیار زیادی دارد که برای طیف وسیعی از افراد از اعضای امنیت تا کارکنان سیسکو، مدیران و البته توسعه‌دهندگان، فراهم شده است. اگر در زمینه آنچه OWASP ارائه می‌دهد تازه کار باشید پیدا کردن نقطه‌ای که بتوانید از آنجا راهتان را آغاز کنید دشوار خواهد بود. برای غربال کردن هزاران مقاله، راهنماها  و چک ‌لیست‌ها، ما پنج مورد از مهم‌ترین منابعی را که توسعه‌دهندگان نباید از دست بدهند برجسته کرده‌ایم.

Open Web Application Security Protocol Project (OWASPP) 5 مورد از برترین منابع OWASP برای توسعه‌دهندگان :

1. راهنمای OWASP برای توسعه‌دهندگان

اجازه دهید در ابتدای کار، با راهنمای ضروری OWASP برای توسعه‌دهندگان کارمان را شروع کنیم. این راهنما، که حدود 15 سال پیش نوشته شد، تحت یک تجدید نظر عمده در سال 1393 آغاز شد تا این راهنما بر اساس نیاز‌های دهه جاری مطابقت داده شود.

هدف اصلی این راهنما فراهم کردن مجموعه‌ای وسیع از قواعد کد نویسی امن برای توسعه‌دهندگان و معماران کامپیوتری است تا در هر سازمانی که هستند و بر روی هر نرم‌افزار و وبی که کار می‌کنند بتوانند آن را دنبال کرده و از آن بهره ببرند. این راهنما مختص زبان یا فریم ورک خاصی نیست و بیشتر مجموعه‌ای وسیع از قواعدی است که باید در طول کد نویسی رعایت شوند. این ایده همان‌طور که در بخش guide’s wiki موجود در سایت OWASP بیان شده است به این منظور ایجاد شده است که ” نگاهی به گذشته تفاوت‌های زبانی بیندازید و اصول مقدماتی مهندسی سیستم را به صورت امن برای ایجاد امنیت در برنامه‌ها اعمال کنید.”

نسخه جدید راهنمای توسعه‌دهندگان در حال بررسی است و همواره به داوطلبانی که قصد کمک دارند، نیاز دارد- برای اطلاع از راه‌هایی که می‌توانید در تدوین این راهنما کمک کنید نگاهی به بخش پرسش و پاسخ (FAQ ) بیندازید.

2. 10 مورد از برگه‌های تقلب OWASP

هرکسی که با کد سر و کار دارد باید آشنایی زیادی با این 10 مورد از OWASP داشته باشد. با این حال، حتی پس از مطالعه آسیب‌پذیری‌ها و نحوه اجتناب از آن‌ها، مرحله‌ای وجود دارد که برای اغلب توسعه‌دهندگان سؤال پیش خواهد آمد یا قصد دارند بررسی مجددی بر روی یک آسیب‌پذیری خاص انجام دهند و برای این کار نیاز به کد نویسی امن دارند. به همین علت این 10 برگه تقلب OWASP منبع عالی دیگری است که باید هنگام توسعه نرم‌افزار کنار دست خود داشته باشید.

این برگه‌های تقلب خیلی ساده نیازمندی‌های کلیدی جلوگیری از هرکدام از این آسیب‌پذیری‌ها را با جزئیات کامل مطرح کرده و ورای تمام این جزئیات لیستی از تست‌ها و راهنمایی‌ها را ارائه می‌دهند تا صحت و امنیت کد شما را تضمین کنند. این روش‌ها متود مجزایی برای نمایش، کنترلرها، مدل و تست ارائه می‌دهند که دنبال کردن آن‌ها ساده و درکشان سریع است.

3. استاندارد تائید امنیت برنامه ASVS) OWASP)

وقتی نوبت به استاندارهای امنیت برنامه می‌رسد، نظرات و ایده‌های مختلفی پیرامون این مطلب وجود دارند- اما همچنان یک استاندارد یکتا و جهانی یافت نمی‌شود.

OWASP شروع به ایجاد استانداری کرده است که می‌تواند در سرتاسر جهان مورد استفاده قرار بگیرد: استاندارد تائید امنیت برنامه یا ASVS لیستی از نیازمندی‌های امنیتی برای شناسایی و تعریف یک برنامه امن است و می‌تواند بطور یکسان بوسیله سازمان‌ها، فروشندگان و مشتریان مورد استفاده قرار گیرد.

تفکیک شدن آن به سطوح مختلف نشان‌دهنده امنیت خاص مورد نیاز برای انواع مختلف برنامه‌هاست، نیازمندی‌ها بین نرم‌افزارهای عمومی (سطح خوش بینانه)، برنامه‌های حاوی داده‌های حساس که نیاز به محافظت دارند (سطح استاندارد) و در نهایت برنامه‌های حساس و بحرانی (سطح پیشرفته)، نظیر نرم‌افزارهای بانکی، برنامه‌های پزشکی، سایت‌ها و نرم‌افزارهای دولتی و موارد مشابه، متفاوتند. ASVS منبعی بی نظیر و کامل برای توسعه‌دهندگانی است که بر روی کنترل‌های امنیتی کار می‌کنند، چرا که این لیست آنچه را که برای محافظت برنامه از حمله لازم است انجام شود مشخص می‌کند. این سند می‌تواند به عنوان طرح و برنامه کاری برای مهندسان و توسعه‌دهندگان و به عنوان چک لیستی برای فروشندگان، مشتریان و خود سازمان‌ها مورد استفاده قرار بگیرد.

بیشتر بخوانید: ۷ دلیل اهمیت آموزش های آگاهی بخش امنیت سایبری

4. فریم ورک دانش امنیتی

فریم ورک دانش امنیتی، ابزاری با جزئیاتی دقیق برای طراحی‌ای است که در ساخت و بررسی امنیت نرم‌افزار در اختیار تیم‌های توسعه‌دهنده و امنیتی قرار می‌گیرد. این فریم ورک به عنوان یک ” برنامه تخصصی سیستم ” معرفی شده است که asvs را با استفاده از استاندارد ذکر شده به عنوان یک پلتفرم پایه بکار می‌برد، که این امکان را برای توسعه‌دهندگان فراهم می‌کند تا نیازمندی‌های امنیتی ضروری را درک کرده و پیاده‌سازی کنند. این فریم ورک زمینه را برای کلیه اعضای تیم فراهم می‌کند که پیشرفت کد نویسی امن را در طراحی پیش از توسعه و تست‌های پس از توسعه دنبال کنند.

این فریم ورک دانش امنیتی، چهار ناحیه از منابع را ارائه می‌دهد که یک دانش بنیادی برای تصویرسازی جزئی و عمیق از آسیب‌پذیری‌ها و امنیت، یک چک لیست تعاملی برای حصول اطمینان از برنامه‌ریزی یا پیاده‌سازی استانداردهای امنیتی ASVS، لیستی از نمونه کدها به زبان‌های مشخص (شامل PHP، C# ، .NET، جاوا، Flask، Django  و Go) و در نهایت ناحیه‌ای را که توسعه‌دهندگان و تیم‌های امنیتی قادرند در آن با همکاری با یکدیگر در خصوص ترتیب کارها در نواحی‌ای که به خوبی با ASVS  منطبق نشده‌اند را مشخص کنند، در بر می‌گیرد.

بیشتر بخوانید:۶ آسیب‌پذیری رایج امنیتی در وب‌سایت‌ها

5‌. برگه‌های تقلب توسعه‌دهنده

OWASP متعهد شده که با استفاده از متخصصان امنیتی به منظور بهبود رابطه میان امنیت و توسعه‌دهنده، برای توسعه‌دهندگان آموزش‌های بهتری ارائه کند. دنباله‌ای از برگه‌های تقلب توسعه‌دهنده‌ای که آن‌ها ارائه کرده‌اند در حقیقت خودش یک پرونده محسوب می‌شود: سازمانی که نیروهای متخصص امنیت استخدامی را از سراسر جهان گرد آورده تا راهنمایی‌ای‌ عمیق و جزئی در خصوص آسیب‌پذیری‌های خاص، پروتکل‌های امنیتی و تفاوت‌های ظریف میان زبان‌های برنامه‌نویسی ایجاد کند. این برگه‌های تقلب به صورت لیستی قابل فهم طراحی شده‌اند که آیتم‌های مهم آن، با علامت گلوله در کنار آن‌ها (جهت تأکید) مشخص شده‌اند و به توسعه‌دهندگان در درک بهتر مناسب‌ترین راهکارهای عملی و نیازمندی‌های هر نوع پروژه یا مسئله‌ امنیتی‌ای که با آن روبرو هستند، از کنترل دسترسی گرفته تا امنیت XML و هر چیزی که در این طیف قرار بگیرد، کمک می‌کنند.

نتیجه‌گیری :

OWASP در طی پانزده سال اخیر به وجود آمده است آن‌هم به این دلیل که متوجه نیاز به آموزش متداوم و مستحکم ساختن رابطه میان امنیت و توسعه شده‌اند تا بتوانند همکاری بهتری برای ساخت برنامه‌های امن را میان این دو ایجاد کنند.  منابع آن‌ها به شکلی طراحی شده که خواندن آن ساده و لذت‌بخش باشد و توسط کلیه افراد قابل دسترسی باشد. منابعی که ما به آن‌ها اشاره کردیم بعلاوه صدها منبع دیگر که در سایت OWASP قرار دارند برای توسعه‌دهندگان، متخصصان امنیتی، دانش آموزان و سایر اقشار جامعه عالی و جامع هستند.

خروج از نسخه موبایل