استاندارد امنیتی ASVS

با توجه به این که مرکز ماهر ایران و آزمایشگاه تخصصی آپا دانشگاه فردوسی مشهد ترجمه دقیقی از استاندارد ASVS ارائه نموده اند، در این مقاله نیز از محتوای آنها استفاده شده است و نیازی به ترجمه متن اصلی مشاهده نشد. همچنین شما می توانید متن کامل استاندارد ASVS را از لینک نسخه 2016 و نسخه 2014 دریافت نمایید.

پروژه آزاد امنیت برنامه های کاربردی (OWASP) یک جامعه آزاد است که خودش را وقف کمک به سازمان ها برای توسعه، خرید، و نگهداری برنامه های کاربردی قابل اطمینان است. دسترسی به تمامی ابزارها، اسناد، انجمنها، و فصول OWASP برای تمامی علاقه مندان به بهبود امنیت برنامه ها آزاد است. رویکرد ما نگاه به امنیت به عنوان یک مسئله انسانی، فرآیندی، و مرتبط با فناوری است. زیرا مؤثرترین رویکردها در امنیت شامل بهبود تمامی این موارد است. آدرس ما www.owasp.org است.

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

استاندارد ASVS یک مبنا برای وارسی کنترلهای امنیتی فنی برنامه و هرگونه کنترل های امنیتی فنی حاضر در محیط ارائه می دهد. با تکیه بر این کنترل های محیطی می توان از سیستم در برابر آسیب پذیری هایی مانند (Cross-Site Scripting (XSS و SQL Injection محافظت نمود. با استفاده از این استاندارد می توان میزانی از اطمینان را برای امنیت برنامه های کاربردی تحت وب، برقرار نمود.

همان طور که در نمودار زیر مشاهده می شود، ASVS دو هدف عمده دارد. هدف اول کمک به سازمانها برای توسعه و نگهداری برنامه های کاربردی امن، و هدف دوم هماهنگی نیازمندی ها و خدمات ارائه شده بین مصرف کنندگان و ارائه دهندگان سرویس ها و ابزارهای امنیتی است.

سطوح وارسی امنیت برنامه کاربردی در استاندارد ASVS:

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

گستردگی وارسی، بر اساس اجزای انتخاب شده از برنامه کاربردی (به منظور بازبینی) تعیین می شود.برای مثال، حوزه وارسی ممکن است فراتر از کدهای نوشته شده برای خود برنامه باشد و مؤلفه های بیرونی را نیز شامل شود. این نوع وارسی موشکافانه به وسیله نماد “+” در کنار سطح وارسی نشان داده می شود.

  • سطح صفر

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

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

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

توصیه می شود که هنگام تعریف نیازمندی های سطح صفر، تمامی نیازمندی ها مطابق الگوی نیازمندی های وارسی جزئی این استاندارد مستند شوند – واضح، مجزا، واقع بینانه، و قابل تأیید.

  • سطح یک

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

سطح یک معمولاً برای برنامه هایی مناسب است که میزانی اطمینان از بکارگیری صحیح کنترل های امنیتی لازم است. علاوه بر این، سطح یک برای پویش سریع انبوه برنامه های یک سازمان مفید بوده، و می تواند راهنمایی برای کمک به ارزیابی های آتی باشد.

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

  • سطح دو

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

سطح دو اطمینان حاصل می کند که کنترل های امنیتی صحیح در جایگاه صحیح خود مستقر بوده، و در شرایط لازم برای اعمال مقررات بخصوص آن برنامه،به طور مؤثر عمل می کند.

سطح دوم بیانگر یک معیار صنعتی برای ارزیابی اکثر برنامه های حساس یک سازمان است. برنامه های با تعداد معاملات زیاد کسب و کار، به ویژه آنها که اطلاعات بهداشتی و درمانی یا هرگونه فعالیت و دارایی حساس را پردازش می کنند، معمولاً برای وارسی سطح دو مناسب هستند. خطراتی که برنامه ها را در این سطح تهدید می کند، معمولاً مهاجمین ابتدایی و احتمالاً مهاجمین حرفه ای و مصمم است.

  • سطح سه

یک برنامه کاربردی در صورتی می تواند گواهی سطح سه را دریافت کند که قادر باشد در برابر تمام آسیب پذیری هایی پیشرفته محافظت کند و همچنین از اصول صحیح امنیتی در طراحی برنامه استفاده کند.

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

سطح سوم تنها سطح ASVS است که بررسی طراحی برنامه را الزام می کند. علاوه بر این، نیازمندی های زیر نیز اضافه شدهاند:

  • هرگونه کنترل امنیتی اصلی، که بر اجزای متعدد سیستم تأثیرگذار است (مانند اعتبارسنجی ورودی یا احراز هویت)، باید به شکل متمرکز پیاده سازی شود.
  • کنترل های امنیتی که وظیفه اعتبارسنجی را به عهده دارند، باید در تصمیم گیری های خود از رویکرد لیست سفید پیروی کنند.
  • نباید به اعتبارسنجی ورودی به عنوان تنها عامل حفاظت در برابر آسیب پذیریهای injection و scripting اتکا کرد. اعتبارسنجی ورودی دومین خط دفاعی است و پس از پارامتربندی و رمزگذاری خروجی (که اولین اولویت حفاظت هستند) قرار می گیرد.

سطح سوم وارسی معمولاً برای برنامه هایی مناسب است که از جان انسانها، زیرساخت های حساس، و امکانات نظامی محافظت می کنند. سطح سه همچنین برای برنامه هایی که دارایی های حساس را پردازش می کنند استفاده می شود. خطرات تهدید کننده در این سطح، مهاجمین حرفه ای و مصمم هستند که از ابزارهای خاص منظوره و روش های دستی برای حمله استفاده می کنند.

حوزه وارسی

پیش فرض ASVS این است که وسعت وارسی تمام کدهای استفاده شده برای توسعه و ایجاد برنامه را شامل می شود. البته، می توان کدهای تمام چارچوب ها، کتابخانه ها و سرویس های امنیتی جانبی استفاده شده در برنامه را نیز مشمول وارسی قرار دهد. این نوع وارسی موشکافانه با اضافه کردن کمک نماد “+” به سطح مورد نظر نشان داده می شود.برای مثال یک برنامه می تواند گواهی وارسی ASVS L3+را دریافت کند.

افزودن مؤلفه های جانبی به فرآیند وارسی اختیاری بوده و برای دستیابی به گواهی هیچ سطحی نیاز نیست. این نوع وارسی موشکافانه معمولاً مناسب برنامه های فوق حساس است، بنابراین در اکثر موارد نماد “+”برای سطح سوم مطرح می شود.

در صورت افزودن مؤلفه های جانبی به حوزه بررسی، نیاز نیست که تمامی نیازمندی های جزئی وارسی به مؤلفه های جانبی اعمال شوند. در حقیقت، بیشتر نیازمندی های جزئی وارسی به مؤلفه های جانبی قابل اطلاق نیست و تنها بر کد اصلی برنامه اعمال می شود. برای دریافت گواهی یک سطح به همراه (+)، بایستی تمامی نیازمندی های جزئی وارسی به کد اصلی، و در صورت امکان، به مؤلفه های جانبی برنامه اعمال شود.

نظر بدهید

آدرس ایمیل تان منتشر نخواهد شد.