گوگل خودش رو متعهد به افزایش امنیت فناوری های متن باز، بخصوص اونایی که مانند لینوکس و KVM زیربنای خیلی از محصولاتشون هستن، میدونه. برای همین kvmCTF رو که یک برنامه ی باگ بانتی VRP برای Kernel-based Virtual Machine (KVM) هستش رو اولین بار در اکتبر 2023 معرفی کرد.
KVM یک هایپروایزور قدرتمند با بیش از ۱۵ سال توسعه بصورت متنباز هستش و بطور گسترده در سراسر محیطهای مصرفکننده و سازمانی، از جمله پلتفرمهایی مانند اندروید و گوگل کلود، مورد استفاده قرار میگیره. گوگل یک مشارکتکننده فعال در این پروژه هستش و kvmCTF رو بعنوان روشی مشارکتی برای کمک به شناسایی و رفع آسیبپذیریها و تقویت بیشتر این محصول اساسی، طراحی کرده.
مشابه برنامهی پاداش آسیبپذیری kernelCTF، برنامه ی kvmCTF هم برنامهای برای کمک به شناسایی و رفع آسیبپذیریها در هایپروایزور KVM است. این برنامه یک محیط آزمایشگاهی ارائه میده که شرکتکنندگان میتونن با ورود به اون و با استفاده از اکسپلویتهایی که خودشون توسعه میدن، برای بدست آوردن پرچمها اقدام کنن.
نکتهی قابل توجه اینه که kvmCTF روی آسیبپذیریهای زیرودی تمرکز داره و در نتیجه، برای اکسپلویتهایی که از آسیبپذیریهای N-Day استفاده میکنن، پرداختی نداره. جزئیات مربوط به آسیبپذیریهای زیرودی پس از انتشار وصلهی بالادستی با گوگل به اشتراک گذاشته میشه تا اطمینان حاصل بشه که گوگل همزمان با سایر اعضای جامعهی متنباز، از اونا مطلع شده.
kvmCTF از زیرساخت Google Bare Metal Solution (BMS) برای میزبانی زیرساختش استفاده میکنه.
در نهایت، با توجه به اهمیت حیاتی یک هایپروایزور برای امنیت کلی سیستم، kvmCTF برای سطوح مختلفی از آسیبپذیریها تا سطح اجرای کد و فرار از ماشین مجازی پرداختی داره.
روش کار چطوریه:
محیط آزمایشگاهی از یک میزبان Bare Metal (Host) تشکیل شده که یک ماشین مجازی مهمان (guest VM) رو اجرا میکنه. شرکت کنندگان قادر خواهند بود تا برای دسترسی به ماشین مجازی مهمان، بازههای زمانی رزرو و تلاش کنن تا حملهای از ماشین مجازی به میزبان (guest-to-host) انجام بدن. هدف حمله اکسپلویت یک آسیبپذیری زیرودی، در زیرسیستم KVM کرنل میزبان هستش.
در صورت موفقیت، مهاجم پرچمی بدست میاره که نشون دهندهی موفقیتش در اکسپلویت آسیبپذیری هستش. میزان شدت حمله، مقدار پاداش رو تعیین میکنه که بر اساس درجه بندی زیر خواهد بود. تمام گزارشها بصورت موردی و با جزئیات کامل ارزیابی خواهند شد.
میزان جوایز :
- Full VM escape: $250,000
- Arbitrary memory write: $100,000
- Arbitrary memory read: $50,000
- Relative memory write: $50,000
- Denial of service: $20,000
- Relative memory read: $10,000
برای تسهیل موارد مرتبط با relative memory write/read و همچنین بخشی از حملات منع سرویس، kvmCTF گزینهی استفاده از یک میزبان با KASAN فعال رو ارائه میده. در این حالت، راهاندازی یک خطای KASAN به شرکتکننده اجازه میده تا پرچمی بعنوان مدرک بدست بیاره.
برای شروع، ابتدا قوانین برنامه رو مطالعه کنید تا اطلاعاتی در مورد نحوه رزرو بازه زمانی، اتصال به ماشین مجازی مهمان و دریافت پرچمها، مطابقت انواع خطاهای KASAN با سطوح پاداش و دستورالعملهایی در مورد نحوه گزارش یک آسیبپذیری، ارسال گزارش یا برقراری ارتباط از طریق Discord بدست بیارید.