พบช่องโหว่ใน Cloudflare DDoS protection ที่สามารถถูก Bypass ได้โดยใช้ Cloudflare Account

นักวิจัยของ Certitude พบช่องโหว่บน Cloudflare Firewall และ DDoS prevention ที่ทำให้ bypass การตรวจสอบได้โดยการใช้ช่องโหว่ cross-tenant security controls ซึ่งข้อจำกัดเพียงอย่างเดียวสำหรับการโจมตีคือแฮ็กเกอร์ต้องมีการสร้างบัญชี Cloudflare ฟรี เพื่อใช้เป็นส่วนหนึ่งของการโจมตี รวมถึงผู้โจมตีต้องรู้ที่อยู่ IP ของเว็บเซิร์ฟเวอร์เป้าหมายเพื่อใช้ช่องโหว่นี้ในการโจมตี

การโจมตี Cloudflare โดยใช้ Cloudflare account

Stefan Proksch นักวิจัยของ Certitude ระบุว่าสาเหตของปัญหาคือการที่ Cloudflare ใช้โครงสร้างพื้นฐานร่วมกันในการรับการเชื่อมต่อจาก tenants ทั้งหมด โดยช่องโหว่ที่ส่งผลกระทบต่อระบบคือ "Authenticated Origin Pulls" และ "Allowlist Cloudflare IP Addresses" ของ Cloudflare

Authenticated Origin Pulls เป็นคุณสมบัติด้านความปลอดภัยที่ Cloudflare ใช้เพื่อให้แน่ใจว่า HTTP(s) request ที่ส่งไปยังเซิร์ฟเวอร์ต้นทางนั้น ถูกส่งผ่าน Cloudflare และไม่ได้มาจาก Hacker

โดยเมื่อทำการกำหนดค่าฟีเจอร์ดังกล่าว ลูกค้าสามารถอัปโหลด certificates ของตนโดยใช้ API หรือสร้างใบรับรองผ่าน Cloudflare ซึ่งเป็นวิธีการเริ่มต้น และง่ายที่สุด เมื่อทำการกำหนดค่าแล้ว Cloudflare จะใช้ SSL/TLS certificate เพื่อตรวจสอบ HTTP(S) requests ใด ๆ ระหว่าง reverse proxy ของบริการ และเซิร์ฟเวอร์ต้นทางของลูกค้า เพื่อป้องกัน HTTP(S) requests ที่ไม่ได้รับอนุญาตเข้าถึงเว็บไซต์ได้

ทั้งนี้ Hacker สามารถทำการ bypass การตรวจสอบเพื่อโจมตีได้ เนื่องจาก Cloudflare ใช้ certificate ที่ใช้ร่วมกันสำหรับลูกค้าทั้งหมด แทนที่จะเป็น certificate เฉพาะ tenants แต่ละราย ทำให้การเชื่อมต่อทั้งหมดที่มาจาก Cloudflare ได้รับอนุญาตให้ผ่านไปได้

ต่อมา Hacker ก็จะตั้งค่า custom domain ของ Cloudflare และชี้ไปยัง IP address ที่เป็น DNS A record ของเป้าหมาย หลังจากนั้น Hacker จะทำการปิดใช้ฟีเจอร์การป้องกันทั้งหมดสำหรับ custom domain ของ Cloudflare โดยใช้ tenant และ tunnel ของ Hacker ผ่าน Cloudflare infrastructure ที่ได้รับอนุญาต

ทั้งนี้นักวิจัยยังได้เผยแพร่ตัวอย่างการโจมตีช่องโหว่เพื่อพิสูจน์ให้เห็นว่าสามารถโจมตีได้ง่ายดายเพียงใด รวมถึงยังได้ให้ข้อแนะนำในการป้องกันการโจมตี :

  • ใช้custom certificate เพื่อกำหนดค่า "Authenticated Origin Pulls" แทน shared certificate ใช้ร่วมกันของ Cloudflare
  • ใช้ Cloudflare Aegis (ถ้ามี) เพื่อกำหนด IP address range ขาออกที่เฉพาะเจาะจงมากขึ้นสำหรับ client แต่ละเครื่องโดยเฉพาะ

อัปเดตเมื่อวันที่ 4 ตุลาคม 2023

เมื่อวันที่ 4 ตุลาคม Cloudflare ประกาศว่าได้ดำเนินการปรับปรุงเอกสาร และอัปเดต Dashboard เพื่อสนับสนุน Per-Hostname และ Per-Zone Authenticated Origin Pulls สำหรับการ Protect Origin Servers และเพื่อสนับสนุนให้ผู้ใช้งาน Protect Origin Servers ของตนด้วยการใช้การตรวจสอบ Host Header Validation และ Protect Confidentiality ของที่อยู่ IP ของ Origin Server

รวมถึงสามารถป้องกันได้โดยการใช้ Custom Certificates เพื่อจัดการการสื่อสารระหว่าง Cloudflare และ Origin Servers (เช่น เว็บไซต์) หรือโดยการใช้ Cloudflare Tunnels เพื่อสื่อสารจาก Origin Servers ไปยัง Cloudflare

ที่มา : bleepingcomputer