استفاده از OWASP برای استقرار سیستم مدیریت امنیت اطلاعات
مقدمه
یکی از اهداف سازمانها در عصر حاضر پیادهسازی و استقرار سیستم مدیریت امنیت اطلاعات ISMS در راستای محافظت از امنیت داده ها و اطلاعات آنهاست. آنچه در دنیای امروز بهعنوان الگوی حوزه امنیت اطلاعات مدنظر قرار گرفته است، استاندارد بینالمللی ISO 27001:2013 است. این استاندارد راهکار جامعی را در حوزه امنیت اطلاعات مطرح مینماید. امنیت برنامه های کاربردی به عنوان یکی از حوزه های مهم و اساسی در استقرار سیستم مدیریت امنیت اطلاعات بر مبنای استاندارد مذکور به شمار می آید. به منظور استقرار و پیاده سازی اثربخش این حوزه از استاندارد، کارشناسان و متخصصین معمولا از استانداردها و متدولوژی های مکمل نیز بهره می گیرند.از طرفی بنیاد OWASP به عنوان یک انجمن آنلاین و آزاد برای دسترسی عموم، اقدام به تولید و انتشار مقالات، متدولوژی ها، مستندات و همچنین ابزارها و فناوری های حوزه امنیت برنامه های وب مینماید. در این مقاله راهنمای کلان استفاده از اطلاعات پروژه های OWASP به منظور استقرار حوزه امنیت برنامه های کاربردی در سیستم مدیریت امنیت اطلاعات تشریح می گردد.
امنیت برنامه های کاربردی؛ چالش اساسی دنیای امروز
همانگونه که میدانیم، بخش اعظمی از کسبوکارهای سازمانی بهوسیله و یا در بستربرنامه های کاربردی صورت پذیرد، از این حیث امنیت برنامه های کاربردی یرای سازمان ها و کسب و کارها از اهمیت حیاتی برخوردار است. بسیاری از سازمان ها بهویژه سازمان هایی که دارای مشتری عام و یا شعب گسترده میباشند، بخش عمدهای از خدمات خود را در قالب برنامه های کاربردی تحت وب اجرا و ارائه می نمایند. این بدین معناست که اطلاعات مشتریان از بستر این برنامه ها در جریان است. لذا ضروری است، امنیت این برنامه ها مدنظر قرار گیرد و اطلاعات مشتریان و سازمان محافظت شود.
در خصوص امنیت برنامه های کاربردی استانداردها و الگوهای متنوع و متعددی در دنیا وجود دارد، در میان این استانداردها، موارد ذیل از اهمیت بیشتری برخوردار می باشند:
- ISO 27001:2013 در حوزه مدیریت امنیت اطلاعات بهعنوان الگوی امنیت در دنیا
- ISO 27034:2011 در حوزه امنیت برنامه های کاربردی
- پروژه OWASP (به مقاله ده آسیب پذیری خطرناک برنامه های موبایل رجوع شود)
- CERT Secure Coding
- CWE
- NIST Special Publication 800-53
امنیت برنامه های کاربردی در استاندارد ISO 27001
به دلیل اهمیت حوزه امنیت برنامه های کاربردی، در استاندارد ISO 27001 یکی از حوزه های 14 گانه امنیت، بهطور اختصاصی به امنیت سامانه ها می پردازد. کنترلهای زیر مربوط به حوزه A14 استاندارد است:
| A.14 تولید، نگهداری و مالکیت سیستم | ||
| A.14.1 الزامات امنیتی اطلاعات سیستمها | ||
| هدف: اطمینان از اینکه امنیت اطلاعات، بخش جداییناپذیر سیستمهای اطلاعاتی در سراسر چرخه عمرشان است. همچنین شامل الزاماتی برای سیستمهای اطلاعاتی است که سرویسهایی برای شبکههای عمومی ارائه میکنند. | ||
| کنترل
الزامات مربوط به امنیت اطلاعات باید شامل الزاماتی برای سیستمهای اطلاعاتی جدید یا توسعه سیستمهای اطلاعاتی موجود باشد. |
امنیت اطلاعات موردنیاز تجزیه و تحلیل و مشخصات | A.14.1.1 |
| کنترل
اطلاعات مرتبط در سرویسهای کاربردی که در شبکههای عمومی در جریان میباشند باید در برابر فعالیتهای جعلی، قراردادهای مورد تردید و افشا و تغییرات غیرمجاز محافظت شوند. |
امن کردن سرویسهای کاربردی در شبکههای عمومی | A.14.1.2 |
| کنترل
برای جلوگیری از تراکنشهای ناقص، مسیریابی اشتباه، تغییر، افشا و نسخهبرداری غیرمجاز پیام، اطلاعات مرتبط با تراکنشهای سرویسهای کاربردی باید محافظت شود. |
محافظت از تراکنشهای سرویسهای کاربردی | A.14.1.3 |
| A.14.2 امنیت در تولید و فرآیندهای پشتیبانی | ||
| هدف: اطمینان از اینکه امنیت اطلاعات در چرخه عمر تولید سیستمهای اطلاعاتی طراحی و اجرا شده است. | ||
| کنترل
اصول تولید نرمافزار و سیستمها، باید برای تولید در درون سازمان، ایجاد و اجرا شده باشد. |
خطمشی تولید امن | A.14.2.1 |
| کنترل
تغییرات در سیستمها در چرخه زمانی تولید، باید با استفاده از روشهای اجرایی کنترل تغییرات رسمی کنترل شوند. |
روشهای اجرایی کنترل سیستم | A.14.2.2 |
| کنترل
زمانی که برنامههای عملیاتی تغییر پیدا کردند، برنامههای کاربردی حیاتی کسب و کار باید مورد بازبینی و آزمایش قرار بگیرند تا مطمئن شد که هیچگونه تأثیر جانبی بر روی امنیت یا عملیات سازمانی ندارد. |
بازبینی فنی برنامههای کاربردی بعد از تغییرات برنامههای عملیاتی | A.14.2.3 |
| کنترل
باید مانع از تغییرات بر روی بستههای نرمافزاری شد و یا در صورت ضرورت، تغییرات محدود بوده و باید بهطور کامل مورد کنترل واقع شوند. |
محدودیت تغییرات بر روی بستههای نرمافزاری | A.14.2.4 |
| کنترل
اصول مهندسی سیستم امن برای همه فعالیتهای پیادهسازی سیستمهای اطلاعاتی باید ایجاد، مستند، نگهداری و اجرا شده باشد. |
اصول مهندسی سیستم امن | A.14.2.5 |
| کنترل
سازمانها باید برای سیستمهای تولیدی و فعالیتهای یکپارچهای که کل چرخه عمر تولید سیستم را پوشش میدهند محیطهای تولیدی مناسبی را ایجاد و محافظت کنند. |
محیط تولید امن | A.14.2.6 |
| کنترل
سازمان باید فعالیت برونسپاری شده تولید سیستم را پایش و نظارت کند. |
تولید برونسپاری شده | A.14.2.7 |
| کنترل
آزمایش کردن قابلیتهای امنیتی باید در هنگام تولید انجام شود. |
آزمایش کردن امنیت سیستم | A.14.2.8 |
| کنترل
برنامههای آزمون پذیرش و معیارهای مرتبط، باید برای سیستمهای اطلاعاتی جدید، بهروزرسانی شده و نسخههای جدید ایجادشده باشد. |
سیستم آزمون پذیرش | A.14.2.9 |
| A.14.3 محافظت از دادههای آزمایشی | ||
| هدف: اطمینان از محافظت داده مورد استفاده برای آزمایش کردن | ||
| کنترل
آزمایش داده باید با دقت انتخاب، محافظت و کنترلشده باشد. |
محافظت از محافظ دادههای آزمایشی | A.14.3.1 |
همانگونه که در این بخش دیده شد، این کنترلها اصول کلان در حوزه امنیت سامانه ها و برنامه های کاربردی را بیان می نماید؛ اما پیاده سازی صحیح این کنترلهای امنیتی در شرکت و سازمان هدف، نیاز به استفاده از راهکارها و الگوهای فنی دارد که یکی از این الگوهای معتبر، پروژه های OWASP است. در بخش بعدی بهترین پروژه ها در این حوزه معرفی می شود.
بهترین پروژه های OWASP برای امنیت اطلاعات
پروژه Top Ten: در این پروژه OWASP ده مورد از مهمترین ریسکهای امنیت در حوزه برنامه های کاربردی را تعیین می کند. این امر به ما کمک می کند تا خطمشی تولید امن و اصول مهندسی سیستم امن را مطابق با الزامات A.14.2.1 تدوین نماییم. مطابق با ده ریسک امنیتی برتر در این پروژه، شرکت می تواند یک خطمشی تولید امن مناسب را تعریف نموده تا خود را در برابر آسیب پذیری های فنی رایج در حوزه امنیت برنامه های کاربردی (بهعنوانمثال XSS و یا CSRF) امن نماید.
پروژه استاندارد اثبات امنیت برنامه کاربردی: این پروژه می تواند به ما برای تست امنیت برنامه کاربردی که مربوط به کنترل A.14.2.8 است، کمک کند. این پروژه مستندات خاصی را ارائه می دهد که ما می توانیم از آن برای تعریف الزامات برای آزمایش کنترل های امنیتی فنی وب استفاده کنیم. برای مثال، این پروژه الزامات موردنیاز برای تست معماری، احراز هویت، کنترل دسترسی و غیره را تعیین می کند. در حوزه A.9.4 استاندارد ISO 27001، الزاماتی برای حوزه کنترل دسترسی به سامانه ها تعریف شده است که از اطلاعات این پروژه می توان برای ارزیابی امنیت برنامه کاربردی استفاده کنیم.
OWTF (چارچوب تست وب تهاجمی) – اطلاعات این پروژه، میتواند ما را به انجام تست نفوذپذیری یا اسکن آسیبپذیری کمک کند که مربوط به کنترل A.14.2.9 استاندارد است. این پروژه اساساً به ما یک ابزار نرم افزاری ارائه می دهد که می توانیم از آن برای انجام تست نفوذپذیری استفاده کنیم.
پروژه تست محیط وب – اطلاعات این پروژه میتواند ما را در تعریف یک محیط توسعه امن که مربوط به کنترل A.14.2.6 است، کمک کند. این پروژه، به ما یک ابزار نرم افزاری ارائه میدهد که از آن میتوانیم برای ایجاد یک محیط آزمایشی مستقل استفاده کنیم.
نتیجه گیری
یکی از راهکارهای بهینه در راستای محافظت از امنیت داده ها و اطلاعات در برنامه های کاربردی، تلفیق دو استاندارد ISO 27001 و OWASP است. ایزو 27001 یک راهحل جهانی برای مدیریت امنیت اطلاعات می باشد، زیرا متشکل از کنترل های عمومی امنیت است؛ در حالی که OWASP یک راهحل ویژه برای امنیت در ارتباط با توسعه نرمافزار را ارائه می دهد. با توجه به این واقعیت که ISO 27001 و OWASP سازگار هستند، میتوانند با هم برای محافظت از اطلاعات در این حوزه خاص همکاری کنند. ISO 27001 میتواند راه حل جهانی مدیریت امنیت شما باشد، در حالی که OWASP میتواند بهترین انتخاب برای شما برای مسائل مربوط به امنیت خاص در ارتباط با توسعه نرمافزار باشد.