معرفی
شرکت امنیتی Orca اخیراً یک نقص طراحی در سرویس Google Cloud Build با نام "Bad.Build" شناسایی کرده است. این نقص یک خطر امنیتی جدی محسوب میشود زیرا به مهاجمان امکان میدهد تا Privilege Escalation را اجرا کنند و به آنها اجازه ورود غیرمجاز به مخازن کد Artifact Registry گوگل را میدهد.
عواقب این آسیبپذیری به زنجیره تأمین نرمافزار نیز گسترش مییابد، زیرا مهاجمان میتوانند از آن برای دستکاری تصاویر برنامهها با نیت مخرب سوءاستفاده کنند. در نتیجه، کاربران و مشتریان ناآگاهی که برنامههای دستکاریشده را نصب میکنند، ممکن است قربانی آلودگی شوند.
این وضعیت ما را به یاد تأثیر قابل توجهی که در حملات زنجیره تأمین گذشته مانند SolarWinds مشاهده کردیم، میاندازد. 3CXو MOVEitبا تأکید بر پیامدهای گسترده چنین لغزشهای امنیتی.
چگونه کار می کند؟
گوگل ساخت ابر به عنوان یک ادغام مداوم/تحویل مداوم (CI/CD) سرویسی که در اکوسیستم گوگل کلود ارائه میشود. این سرویس با تعامل یکپارچه با سایر سرویسهای ضروری مانند Artifact Registry و App Engine، نقش حیاتی در برنامههای مبتنی بر ابر ایفا میکند.
این نقص امنیتی ناشی از مشکلی با امتیازات بیش از حد است. به طور خاص، "لیست logging.privateLogEntriesاین اقدام سهواً فهرست کردن گزارشهای حسابرسی را به نقشی ناخواسته، یعنی «نقشها/cloudbuild.build.builder"
متأسفانه، این نقش پیشفرض به حساب سرویس ساخت ابری اختصاص داده شده است. این وضعیت خطر بزرگی را ایجاد میکند زیرا گزارشهای حسابرسی حاوی اطلاعات حساسی هستند که تمام مجوزهای مرتبط با پروژه را فاش میکنند. این دسترسی ناخواسته به مهاجمان این امکان را میدهد که حساب ساخت ابری را جعل هویت کنند و از این طریق اطلاعاتی در مورد اینکه چه اقداماتی میتواند توسط حسابهای مختلف گوگل انجام شود، به دست آورند. در نتیجه، این امر راه را برای حرکات جانبی و افزایش امتیاز باز میکند و یک آسیبپذیری امنیتی بسیار خطرناک را ایجاد میکند.
جعل هویت حساب سرویس ساخت فقط نیاز به ساخت.ابر.ایجاد مجوزی که بسیاری از نقشهای از پیش تعریفشده دارند و به هر میزان معقولی به توسعهدهندگان اعطا میشوند CI/CD محیط با استفاده از Cloud Build. بنابراین اگر به حساب یکی از این توسعهدهندگان دسترسی دارید، ایجاد یک فایل پیکربندی ساخت سفارشی در واقع آن را اجرا خواهد کرد. دستور خواندن لاگ در gcloud، که مجوزها را فهرست میکند.
اما مشکل به اینجا ختم نمیشود: حساب کاربری سرویس Google Cloud Build دارای امتیاز بالایی است، با اقدامات زیادی برای تعامل با فهرست مصنوعات Goggle.

با سوءاستفاده از آسیبپذیری که امکان جعل هویت حساب کاربری پیشفرض سرویس Cloud Build را فراهم میکند، عوامل مخرب با تزریق کد مخرب، توانایی دستکاری تصاویر ذخیره شده در رجیستری مصنوعات گوگل را به دست میآورند. در نتیجه، هر برنامهای که از این تصاویر آسیبدیده ساخته شود، مستعد عواقب احتمالی، از جمله حملات انکار سرویس (DoS)، سرقت دادهها و گسترش بدافزار میشود.
شدت اوضاع زمانی افزایش مییابد که این برنامههای دستکاریشده برای استقرار در محیطهای مشتریان در نظر گرفته شده باشند، چه on-premise یا نیمهSaaS. این امر خطر را فراتر از زیرساخت سازمان تأمینکننده گسترش میدهد و منجر به حملهای در زنجیره تأمین میشود که به محیط مشتریان نفوذ کرده و آنها را به خطر میاندازد. چنین حملاتی مشابه حوادث قبلی مشاهده شده در نقضهای زنجیره تأمین نرمافزار، مانند نقض SolarWinds، هستند. پیامدهای چنین حملهای میتواند شدید باشد و باعث آسیب گسترده شود و چندین سازمان را در زنجیره تأمین تحت تأثیر قرار دهد.
یک PoC افزایش امتیاز مشابه توسط [یک مهاجم دیگر] وجود داشت. آزمایشگاههای امنیتی راینو، که به روشی متفاوت از امتیازات بیش از حد حساب پیشفرض Cloud Build سوءاستفاده میکرد.
چرا خطرناک است؟
شدت این آسیبپذیری در پتانسیل آن برای مهاجمان جهت سوءاستفاده از رجیستری مصنوعات و وارد کردن کد مخرب به مصنوعات نهفته است. در نتیجه، هر برنامهای که از این تصاویر آسیبدیده ساخته شود، مستعد عوارض جانبی مختلف خواهد بود.
این اثرات شامل احتمال حملات انکار سرویس، سرقت دادهها و انتشار بدافزار میشود. علاوه بر این، اگر این برنامههای کاربردی آسیبدیده متعاقباً مستقر شوند، on-premise یا در یک محیط نیمهSaaS، خطر فراتر از سازمان قربانی گسترش مییابد و مشتریان آنها را نیز تحت تأثیر قرار میدهد. این سناریو شبیه حمله زنجیره تأمین است که در حادثه SolarWinds مشاهده شد و پیامدهای بالقوه آن را هم برای سازمان و هم برای پایگاه مشتری آن برجسته میکند.
-
توصیه Xygeni
اصل حداقل امتیاز را اعمال کنید
- سنسور Xygeni اقدامات کاربر را در سیستمهایی که در آنها مستقر شده است، رصد میکند و آنها را با پلتفرم اصلی ما به اشتراک میگذارد، که رفتار غیرمعمول یا انحراف از الگوهای عادی، مانند موارد غیرمعمول را شناسایی میکند. login زمانها یا مکانها، انتقال دادههای بزرگ یا تغییرات در حقوق دسترسی کاربر که خارج از محدوده رفتار «عادی» کاربر مدلسازی شده است.
سیاستها و ممیزیهای Xygeni، بهترین شیوهها را در کنترلهای دسترسی، الزامات احراز هویت چند عاملی و برنامههای مجوز مبتنی بر نقش اعمال میکنند تا دسترسی کاربر به سیستمها و دادههای حیاتی را محدود کنند.
این ابزارها اقدامات کاربر، مانند تغییرات کد، دسترسی به سیستم یا انتقال دادهها را رصد میکنند و آنها را با سیاستهای از پیش تعریف شده و الگوهای رفتاری مقایسه میکنند. آنها همچنین فعالیتهای مشکوک مانند دسترسی غیرمجاز، امتیازات بیش از حد یا الگوهای انتقال داده غیرمعمول را علامتگذاری میکنند..
نحوه برخورد با این آسیبپذیری
پس از اطلاع تیم امنیتی گوگل از این آسیبپذیری، آنها با لغو مجوز logging.privateLogEntries.list از حساب پیشفرض سرویس Cloud Build، اقدام کردند. آنها اذعان کردند که اگرچه گزارشهای حسابرسی setIamPolicy برای اهداف حسابرسی مرتبط هستند، اما اعطای دسترسی به این گزارشها از دیدگاه حساب سرویس cloud build غیرضروری است.
با این حال، درک این نکته ضروری است که این پاسخ مستقیماً به آسیبپذیری ریشه در رجیستری مصنوعات نپرداخته است. در نتیجه، بردار افزایش امتیاز و خطر بالقوه حمله زنجیره تأمین بدون تغییر باقی مانده است. اساساً، رفع مشکل توسط گوگل مشکل را محدود کرد اما آن را به طور کامل از بین نبرد و سازمانها را همچنان در معرض خطرات قابل توجه زنجیره تأمین نرمافزار قرار داد.
در پاسخ به این وضعیت، گوگل به مشتریان خود توصیه کرد که مجوزهای حساب پیشفرض سرویس ساخت ابری را با حذف هرگونه اعتبارنامهی حق دسترسی که از اصل حداقل امتیاز (PoLP) منحرف شده است، تغییر دهند. هدف این اقدام افزایش امنیت با اطمینان از این است که حسابها فقط حداقل امتیازات لازم را برای انجام وظایف مورد نظر خود دارند.
برای دفاع در برابر این حملهی افزایش امتیاز، لازم است مجوزهای اعطا شده به حساب کاربری سرویس ساخت ابری (Cloud Build Service Account) محدود شود و در اعطای آن دقت شود. ساخت.ابر.ایجاد به هر کاربری در سازمان شما اجازه دسترسی میدهد. از همه مهمتر، باید بدانید که هر کاربری که به او مجوز داده شده است ساخت.ابر.ایجاد، همچنین به طور غیرمستقیم تمام مجوزهای اعطا شده به حساب سرویس ساخت ابری (Cloud Build Service Account) را اعطا میکند. اگر این موضوع برای شما مشکلی ندارد، ممکن است نیازی به نگرانی در مورد این مسیر حمله نداشته باشید، اما همچنان اکیداً توصیه میشود مجوزهای پیشفرض اعطا شده به حساب سرویس ساخت ابری (Cloud Build Service Account) را تغییر دهید.
گوگل این را به طور خلاصه توصیه میکند، اما جزئیات بیشتری ارائه نمیدهد:
«اگر قصد ندارید عملی را به عنوان بخشی از فرآیند ساخت انجام دهید، توصیه میکنیم برای رعایت اصل امنیتی حداقل امتیاز، مجوز مربوطه را از حساب سرویس Cloud Build لغو کنید.»
Google Cloud
گاهشمار
آزمایشگاههای امنیتی Rhino در مورد مشکل افزایش امتیاز مطلبی منتشر کردند و یک اسکریپت پایتون PoC برای آن ایجاد کردند.

شرکت امنیتی Orca یافتههای خود را به تیم امنیتی گوگل گزارش داد.

گوگل تحقیقاتی انجام داد و در پاسخ، یک اصلاحیه جزئی اجرا کرد.
با این حال، لازم به ذکر است که راهکار گوگل، عامل افزایش امتیاز (PE) کشفشده را بهطور کامل از بین نبرد. در عوض، تأثیر آن را محدود کرد و عملاً آن را به یک نقص طراحی تبدیل کرد که هنوز سازمانها را در معرض خطر گستردهتر حمله زنجیره تأمین قرار میدهد. در نتیجه، اقدامات اضافی برای تیمهای امنیتی جهت محافظت در برابر این خطر پایدار ضروری است.
نتیجه
امتیازات بیش از حدی که به حساب پیشفرض Google Cloud Build اعطا میشود، میتواند توسط دشمنان برای انجام حمله با استفاده از یک حساب توسعهدهنده که امکان ایجاد یک ساختار ابری را فراهم میکند، مورد استفاده قرار گیرد. مهاجمان ممکن است یک تصویر کانتینر را استخراج کنند، آن را با رفتار مخرب دستکاری کنند و سپس آن را در یک حمله زنجیره تأمین نرمافزاری به رجیستری مصنوعات ارسال کنند که ممکن است عواقب ویرانگری داشته باشد.
پاسخ گوگل، کار کاهش خطرات را به سازمانهایی که از سرویس Cloud Build استفاده میکنند، واگذار میکند که برای کنترل ریسک باید امتیازات را لغو کنند. ممکن است از گوگل خواسته شود در آینده برای مدیریت مسائل امنیتی با آنها کمک بیشتری ارائه دهد. CI/CD سیستم.
منابع
- عملکرد مطابق انتظار: افزایش امتیاز RCE به IAM در GCP Cloud Buildآزمایشگاههای امنیتی راینو.
- Bad.Build: آسیبپذیریهای PE و RCE در Google Cloud Buildامنیت اورکا.
- بولتن امنیتیگوگل کلود.
برای کسب اطلاعات بیشتر در مورد پلتفرم Xygeni، برگه اطلاعات پلتفرم Xygeni را دانلود کنید.





