برنامه نویسی

دارایی های حیاتی شرکت خود را از گسترش مخفی ایمن کنید

خطرات پراکندگی مخفی را درک کنید، از تغییر به چپ و استراتژی هایی برای ایمن سازی نشت های مخفی در چرخه عمر توسعه نرم افزار مدرن استفاده کنید.


پراکندگی مخفی:

شرکت ها اغلب برای گسترش کنترل نشده اسرار در زیرساخت های فناوری اطلاعات خود به کمک نیاز دارند. گسترش کنترل نشده یک پراکندگی مخفی نامیده می شود و معمولاً اسرار در سیستم های سرور، مخازن، فایل های پیکربندی، برنامه ها و سایر مکان های ذخیره سازی پراکنده می شوند. خطر گسترش مخفی می تواند امنیت را به خطر بیندازد و دسترسی غیرمجاز را امکان پذیر کند، بنابراین رسیدگی به این موضوع برای سازمان ها ضروری است.

خطرات:

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

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

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

عدم دید: از آنجایی که SecOps نمی تواند استفاده از رمز سخت افزاری را نظارت کند، ردیابی نهادهایی که به راز دسترسی دارند کار آسانی نیست – حسابرسی و کنترل دسترسی را به چالش می کشد.

انطباق: سیاست‌های انطباق با مقررات مانند GDPR، PCI DSS، HIPAA، NIST، و غیره… از شرکت‌ها می‌خواهد که از اسرار اطلاعات حساس کاربر محافظت کنند. افشای این اسرار در داخل سازمان یا به صورت خارجی در مخازن عمومی می تواند منجر به جریمه های سنگین و بی اعتمادی کاربران شود.

از گسترش مخفی به طور فعال جلوگیری کنید

شرکت‌ها اغلب بهترین شیوه‌های زیر را برای جلوگیری از وقوع پراکندگی و حفظ حاکمیت اتخاذ می‌کنند:

مدیریت متمرکز اسرار: از آنجایی که سازمان‌ها رویکرد چند ابری را اتخاذ می‌کنند، توسعه‌دهندگان اسرار را در مدیران مخفی بومی مانند AWS Secrets Manager، Azure Key Vault، GCP Secrets Manager و غیره ذخیره می‌کنند. در حالی که این برای توسعه‌دهندگان راحت است، چندین کانون مخفی ایجاد می‌کند و ممیزی و دید را پیچیده می‌کند. عملیات امنیتی از این رو، تجربه مدیریت اسرار متمرکز ضروری است.

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

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

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

Shift-Left در امنیت

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

چابکی و زمان سریعتر برای بازاریابی: هدف محصولات سازمانی مرتبط ماندن و رقابت در بازار نرم افزاری پرشتاب است. بنابراین، تغییرات مستمر نیازمندی‌های کسب‌وکار مستلزم توسعه سریع و فرآیندهای انتشار است که اغلب توسط یک تیم امنیتی مخفی مانع می‌شود. بنابراین، یک تیم امنیتی یکپارچه می تواند به انتشار سریع بدون به خطر انداختن امنیت کمک کند.

شناسایی و رفع مشکلات اولیه: تیم ها می توانند با انتقال وظایفی مانند آزمایش، بررسی های امنیتی و تجزیه و تحلیل کد به مراحل اولیه SDLC، مشکلات را زودتر شناسایی و برطرف کنند. انجام این کار هزینه و تلاش لازم برای رفع مشکلاتی که بعداً در فرآیند توسعه کشف می‌شوند را کاهش می‌دهد و تأثیر آن بر جدول زمانی پروژه را به حداقل می‌رساند.

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

پذیرش این روند تاکید می کند که امنیت دیگر دغدغه یک تیم امنیتی اختصاصی نیست. در عوض، یک مسئولیت مشترک با تیم های توسعه وجود دارد. این رویکرد اغلب “shift-left” نامیده می شود، شرکت هایی که این پارادایم را اتخاذ می کنند دائماً به دنبال ادغام شیوه های امنیتی در اوایل چرخه عمر توسعه نرم افزار (SDLC) برای رسیدگی به آسیب پذیری ها هستند.

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

بردارهای حمله

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

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

فایل های پیکربندی: برای ماژولار بودن و قابل حمل بودن، توسعه دهندگان اغلب از فایل های پیکربندی برای ذخیره نقاط پایانی و اسرار API استفاده می کنند. ابزارهای IaC مانند Terraform و ابزارهای کانتینری مانند docker نیز حاوی فایل های پیکربندی هستند. اسرار موجود در فایل های پیکربندی می تواند منجر به دسترسی غیرمجاز، تأثیرات سرویس و بسیاری از تهدیدات احتمالی دیگر شود.

فایل های لاگ: در حالی که ورود به سیستم برای اشکال‌زدایی مفید است، توسعه‌دهندگان ممکن است به طور تصادفی اطلاعات حساس را در گزارش‌ها/خروجی‌های کنسول/پیام‌های خطا ثبت کنند که منجر به دسترسی غیرمجاز شود.

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

توسعه دهندگان کد منبع خود را با استفاده از نرم افزارهای کنترل نسخه مانند GitHub، GitLab و BitBucket مدیریت می کنند. این مخازن اغلب به مخازن مرکزی برای اطلاعات حساس تبدیل می شوند. شناخت همه بردارهای حمله بالقوه، ارزیابی هر نقطه بازرسی در چرخه حیات توسعه نرم افزار (SDLC) و اجرای استراتژی هایی برای اطمینان از پایبندی توسعه دهندگان به بهترین شیوه های امنیتی در طول فرآیند بسیار مهم است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا