آشنایی با استاندارد OWASP

اگر با دنیای نرم افزارهای تحت وب کار کرده باشید و علاقه­ای هم به امنیت آن­ها داشته باشید، حتما اسم OWASP را شنیده اید. در این بخش قصد داریم اندکی در مورد آن توضیح دهیم که چیست و چه کاربردی در دنیای امنیت دارد؟

OWASP خلاصه شده (Open Web Application Security Project) می­باشد. اکنون مقدمه ­ای در مورد موسسه OWASP ارائه می­ دهیم. OWASP یک موسسه غیرانتفاعی است که برای بهبود امنیت نرم افزار فعالیت می­کند. برنامه نویسی این سازمان شامل:

  • پروژه های منبع­ باز تحت در سطح وسیعی، شامل کدها، اسناد و استانداردها
  • بیش از 250+ بخش محلی در سراسر جهان
  • ده ها هزار عضو
  • کنفرانس های آموزشی و آموزشی پیشرو در صنعت

این نهاد، یک جامعه باز می ­باشد، که به سازمان‌ها امکان می‌دهد تا برنامه‌هایی را که می‌توان به آنها اعتماد کرد، طراحی، توسعه، تجاری سازی، اجرا و نگهداری کنند. همه پروژه‌ها، ابزارها، اسناد، انجمن‌ها و آموزش­های این مجموعه رایگان بوده و برای هر کسی که علاقه‌مند به ارتقای امنیت برنامه است آزاد است. بنیاد OWASP در 1 دسامبر 2001 راه اندازی شد و در 21 آوریل 2004 به عنوان یک موسسه خیریه غیرانتفاعی ایالات متحده ثبت شد. برای دو دهه شرکت ها، بنیادها، توسعه دهندگان و داوطلبان از بنیاد OWASP و کار آن حمایت کرده اند.

OWASP به عنوان بزرگترین سازمان غیرانتفاعی جهان که با امنیت نرم افزار مرتبط است:

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

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

در این سازمان، یک­سری موضوعات به عنوان ارزش اصلی درنظر گرفته می­شود که عبارتند از:

  • شفافیت: همه چیز در OWASP از امور مالی تا کد ما کاملاً شفاف است.
  • نوآورانه: این مجموعه نوآوری ها و آزمایش ها را برای راه حل های چالش های امنیتی نرم افزار تشویق و حمایت می­کند.
  • جهانی: هر کسی در سراسر جهان تشویق می شود که در جامعه OWASP شرکت کند.
  • صداقت: جامعه ما محترم، حامی، راستگو و بی طرف است.

در ادامه مبحث ابتدا ده موضوع برتر از دیدگاه OWASP را بررسی کرده و سپس به جزئیات برخی می­پردازیم.قبل از پرداختن به موضوع بررسی ده کنترل کننده برتر از دیدگاه OWASP ابتدا یک مقدمه ­ای را بیان می­کنیم. 

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

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

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



این مقاله ادامه دارد....