Shopify ได้เปิดตัว Overexposed ซึ่งเป็นเครื่องมือที่ถูกสร้างขึ้นเพื่อสแกนหาจุดที่ทรัพยากรต่างๆ ถูกเปิดเผยสู่ภายนอก โดยเครื่องมือนี้ถูกพัฒนาต่อยอดจากเวอร์ชันแรกที่เคยมีข้อผิดพลาดและจุดบอดในการตรวจจับ
Overexposed ใช้ GCP Cloud Asset Inventory และการทดสอบ HTTP แบบไม่ระบุตัวตนในการทำงาน โดยจะส่งคำขอ HEAD ก่อน แล้วจึงตามด้วย GET หากมีการเปลี่ยนเส้นทาง (redirect) จะติดตามสูงสุดสามครั้ง และตรวจสอบแต่ละครั้ง
สำหรับ Cloud Run เครื่องมือจะแยกการตั้งค่า ingress ออกจาก IAM เพื่อให้แน่ใจว่าบริการนั้นจะถูกมองว่าเป็นสาธารณะก็ต่อเมื่อมีเงื่อนไขครบถ้วน เช่น การตั้งค่า allUsers หรือการปิดการตรวจสอบ invoker
เนื่องจากเครื่องมือนี้มีการส่งคำขอขาออกไปยังโฮสต์ใดๆ จึงมีการเสริมความแข็งแกร่งป้องกัน SSRF โดยการตรวจสอบ IP ที่ได้รับจาก DNS และปฏิเสธที่อยู่ส่วนตัวหรือลูปแบ็ก ก่อนจะเชื่อมต่อไปยัง IP ที่ถูกตรวจสอบโดยตรง
ผู้พัฒนาแนะนำให้จำกัดการขาออกของเครือข่ายของเครื่องมือสแกน รวมถึงจุดสิ้นสุดของ metadata บนคลาวด์ด้วย
ศัพท์ที่ควรรู้
- GKE Ingress – คือส่วนประกอบใน Kubernetes ที่จัดการการเข้าถึงบริการจากภายนอกเข้ามายังคลัสเตอร์
- Cloud Run – เป็นบริการของ Google Cloud ที่ช่วยให้สามารถรันคอนเทนเนอร์โดยไม่ต้องจัดการโครงสร้างพื้นฐานเอง
- GCP Cloud Asset Inventory – คือบริการของ Google Cloud ที่ใช้ในการทำรายการและตรวจสอบสินทรัพย์ต่างๆ ที่ใช้งานในคลาวด์
- Admission controllers – คือส่วนควบคุมที่สามารถแก้ไขการตั้งค่าทรัพยากรได้ในขณะที่ทรัพยากรนั้นกำลังถูกรับเข้าสู่ระบบ
- SSRF (Server-Side Request Forgery) – คือช่องโหว่ที่ผู้โจมตีสามารถหลอกให้เซิร์ฟเวอร์ทำการร้องขอไปยังเป้าหมายที่ผู้โจมตีเลือกได้
ที่มา: infoq.com