نحوه ارائه امنیت به عنوان کد: 11 نکته برای شروع کار

ساخت وبلاگ

امنیت به عنوان کد و امنیت با طراحی این روزها شرایط داغ در کنفرانس ها است. اما این عبارات دقیقاً به چه معناست و چگونه می توانید آنها را در سازمان خود شروع کنید؟

همانطور که دانیل کوتبرت ، رئیس تحقیقات امنیتی در Grupo Banco Santander ، در "فراخوانی به اسلحه برای Devs: در مورد امنیت به عنوان کد انقلابی کنید" نوشت:

وقت آن است که تلاش های خود را بر روی دفاع - نه حملات - متمرکز کنیم و قهرمانان افرادی را ایجاد کنیم که بتوانند تغییری ایجاد کنند: توسعه دهندگان.

جیم برد ، CTO در فن آوری های معاملات پیشنهادی و یک نرم افزار و مدیر پروژه با بیش از 20 سال تجربه در فناوری خدمات مالی ، در یک گزارش اوریلی می نویسد:

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

بنابراین چگونه تیم شما فراتر از مفاهیم به عمل می رود؟در اینجا 11 نکته برای شروع کار آورده شده است.

1. معنای "SDLC Secure" را درک کنید

درک چرخه چرخه توسعه نرم افزار ایمن (SDLC) به شما کمک می کند تا نحوه ایجاد امنیت را در وضعیت خاص DevOps خود ارزیابی کنید. بدترین اشتباهی که می توانید مرتکب شوید ، تلاش برای اجرای امنیت بدون درک آن چیست.

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

secure_sdlc_diagram-shift. png

فلش که نشان می دهد "Shift Left" مفهوم تعبیه امنیت را در اوایل با اجرای شیوه های امنیتی ، که در زیر تعریف شده است ، نشان می دهد. حسن نیت ارائه دهنده: OWASP.

2. وضعیت خود را با SAMM ارزیابی کنید

مدل بلوغ تضمین نرم افزار (SAMM) یک چارچوب باز است که به سازمانها کمک می کند تا یک استراتژی را برای امنیت نرم افزاری که متناسب با خطرات خاصی که سازمان با آن روبرو است ، تدوین و پیاده سازی کنند. با این حال ، برخی از افراد احساس می کنند که این چارچوب برای اجرای آن پیچیده است.

تا زمانی که سازمان شما بتواند از SAMM برخورد کند ، این سؤالات به شما کمک می کند تا به سرعت مؤلفه امنیتی فرآیند DevOps خود را ارزیابی کنید:

  • مورد نیاز: آیا شما برای ایجاد نرم افزار به طور خاص برای ایجاد نرم افزار ، الزامات امنیتی و حریم خصوصی را جمع می کنید؟
  • طراحی: آیا شما در مورد هر اسپرینت مدل سازی تهدید می کنید؟
  • توسعه: آیا شما از تجزیه و تحلیل استاتیک و بررسی کد استفاده می کنید؟
  • آزمون: آیا برای تأیید الزامات امنیتی از تجزیه و تحلیل پویا و آزمایش امنیتی استفاده می کنید؟
  • استقرار: آیا قصد دارید نسخه نهایی را با استفاده از یک آزمایش قلم ارزیابی کنید یا ارزیابی ریسک را انجام دهید که شامل یک برنامه فضل اشکال باشد؟

اگر پاسخ های شما عمدتاً خیر نبود ، پس در مراحل اولیه اجرای امنیت هستید - به عبارت دیگر ، تلاش Devsecops شما در سطح بلوغ بسیار پایین است.

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

در مقابل ، جنبش "تغییر چپ" از ابتدا بیشتر و بیشتر روی تعبیه امنیت تمرکز می کند ، که در پایان هزینه کمتری و خطرناک تر است.

3. به چالش های امنیتی ذاتی در DevOps توجه داشته باشید

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

امنیت نمی تواند مانعی برای تجارت باشد ، اما لازم است تعادل بین توسعه ایمن و چابک که هیچ نوع امنیت ندارد ، پیدا کنید.

4- امنیت را در اسرع وقت کد اجرا کنید

تعبیه امنیت در طی یک اسپرینت چابک باید بی عیب و نقص و تقریباً اتوماتیک باشد. این وضعیت ایده آل است ، اما درست کردن آن بسیار سخت است.

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

5. مدل تهدید زود هنگام

حداقل یک روز قبل از شروع اسپرینت جلسات مدل سازی تهدید را برنامه ریزی کنید. تمام موضوعات و خطرات احتمالی باید بخشی از داستانهای امنیتی شود.

6. الزامات امنیتی را زود تعریف کنید

  • حتماً نیازهای امنیتی خود را در ابتدای اسپرینت ، از جمله مسائل مربوط به مدل سازی تهدید تعریف کنید.(نکته: برای پشتیبانی از این روند از OWASP ASVS 2. 0 استفاده کنید.)
  • داستانهای امنیتی مورد نیاز را بسازید و آنها را به عقب نشینی اسپرینت اضافه کنید.
  • در طول تعریف Sprint ، محاسبه کنید که برای اجرای و ایجاد موارد آزمون برای رسیدگی به این داستان ها/وظایف امنیتی چقدر کار خواهد کرد.(نکته: از دستورالعمل های تست OWASP استفاده کنید.)
  • در مرحله توسعه از کنترل های فعال OWASP استفاده کنید و اطمینان حاصل کنید که این کنترل ها در طول هر اسپرینت به کارهای منظم تبدیل می شوند.

7. از ابزارهای SAST/DAST استفاده کنید

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

8. هر زمان که ممکن است بررسی کد را انجام دهید

یک کار اجرای بررسی کد به عنوان بخشی از اسپرینت است. هر مشکلی که در اینجا یافت می شود ، در انتهای اسپرینت به اشکالات تبدیل می شود.

9. خطرات را اندازه گیری کرده و اولویت بندی کنید

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

10. ستون فقرات امنیتی به عنوان کد را آماده کنید

هرگونه تغییر در محیط (QA/UAT/Prod) باید با استفاده از کد ، به صورت دستی انجام شود. تمام تغییرات در تنظیمات باید از طریق کد ، با استفاده از مخازن منبع و ردیابی همه تغییرات باشد. این امر می تواند با هر یک از ابزارهای محبوب ساخت ، کد منبع و استقرار حاصل شود. این ستون فقرات مفهوم امنیتی به عنوان کد است.

با نگاهی به کل فرآیند ، خطوط لوله DevOps باید بر فعالیت هایی که به صورت خودکار روند زایمان مداوم را انجام می دهند ، تمرکز کنند. در اینجا آنچه باید روی آن تمرکز کنیم:

  • تغییر در پیکربندی در همه محیط ها باید کنترل شده منبع و بررسی همسالان باشد.
  • فرآیند ساخت باید ادغام و استقرار را خودکار کند.
  • تنظیمات را با دقت در ظروف با امنیت در ذهن بررسی کنید.
  • ابزارهای SAST باید در فرآیند ساخت ادغام شوند و موضوعات یافت شده باید دوباره به اسپرینت تغذیه شوند.

11. به طور مرتب ارزیابی کنید ، بشویید و تکرار کنید

جلسات ارزیابی SAMM را برای بررسی چگونگی اجرای کامل امنیت و ایجاد کارهای کوتاه مدت خاص برای دستیابی به این هدف داشته باشید. مرحله به مرحله کلید است.

تغییر سمت چپ به شما کمک می کند تا جلو بمانید

سازمان هایی که به سمت چپ تغییر می کنند در یافتن نقص مؤثرتر هستند و آسیب و هزینه رفع آنها کمتر از زمانی است که توسعه دهندگان یک برنامه را مستقر می کنند یا پس از انتشار آن به تولید.

اما فشار برای تحویل سریع امنیت را با طراحی دشوارتر می کند. تیم های DevOps وظیفه دارند در مدت زمان کوتاهی الزامات امنیتی را تأیید کنند."امنیت به عنوان کد" می تواند نقش بزرگی در این امر داشته باشد ، زیرا به خودکار سازی فرایند استقرار ایمن کمک می کند و روند کار را آسان تر و سریعتر می کند.

تیم شما چگونه امنیت را به عنوان کد پذیرفته است؟بهترین شیوه های خود را در نظرات زیر به اشتراک بگذارید.

یادگیری را ادامه دهید

آینده امنیت به عنوان کد است. دریابید که چگونه DevSecops شما را با راهنمای TechBeacon به آنجا می رساند. به علاوه: به گزارش SANS DevSecops برای بینش های کلیدی برای پزشکان مراجعه کنید.

با سرعت سریع در حالت تست برنامه SEC با راهنمای TechBeacon سرعت بگیرید. به علاوه: ربع جادوی 2021 گارتنر را برای AST دریافت کنید.

با راهنمای TechBeacon برای ابزارهای امنیتی برنامه 2021 ، در چشم انداز برنامه SEC SEC استفاده کنید.

برای آزمایش امنیت کاربردی استاتیک ، موج Forrester Wave را بارگیری کنید. به علاوه: بیاموزید که چگونه یک دسته کوچک موسیقی جاز SAST-DAST می تواند امنیت شما را در این وبینار تقویت کند.

ساخت یک بنیاد برنامه مدرن SEC با راهنمای TechBeacon.

فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید

برچسب : نویسنده : آرش اصل زاد بازدید : 48 تاريخ : جمعه 11 فروردين 1402 ساعت: 21:06