เมนู

HTTP/2 Rapid Reset ช่องโหว่ 0-Day สู่ DDoS

16 ตุลาคม 2566 | กนิษฐา พุ่มผล

พบการโจมตี DDoS Zero-Day โดย HTTP/2 Rapid Reset จำนวนมาก

Amazon Web Services, Cloudflare และ Google ได้ร่วมกันรายงานว่าพบช่องโหว่การโจมตีแบบ Distributed Denial of Service (DDoS) Zero-day ที่ส่งผลกระทบต่อ HTTP/2 Protocol หรือ HTTP/2 Rapid Reset โดยเริ่มตั้งแต่สิงหาคมที่ผ่านมา และใช้บอตเน็ตเพียง 20,000 เครื่องเท่านั้น!

การโจมตีแบบใหม่ HTTP/2 Rapid Reset ใช้ประโยชน์จากช่องโหว่ CVE-2023-44487 (7.5) – HTTP/2 Rapid Reset Vulnerability ส่งผลกระทบต่อ Web Service และผู้ใช้บริการของระบบคลาวด์ต่าง ๆ ทั่วโลก โดยใช้ประโยชน์จากข้อบกพร่องในโปรโตคอล HTTP/2 และมีรายงานว่าได้ถูกนํามาใช้ในการโจมตีอย่างกว้างขวาง นําไปสู่การโจมตีแบบ Distributed Denial of Service (DDoS) ซึ่งมีขนาดใหญ่กว่าการโจมตีแบบ DDoS ของ Layer 7 ที่ผ่านมาก่อนหน้านี้อย่างมาก

ช่องโหว่นี้เป็นการโจมตีจากข้อบกพร่องใน HTTP/2 Protocol ที่ส่งผลให้ผู้ไม่หวังดีสามารถใช้ประโยชน์จากช่องโหว่นี้ในการโจมตีที่สามารถสร้างการโจมตีแบบ Distributed Denial of Service (DDoS) ในปริมาณมากได้ (Hyper-volumetric DDoS Attack) ด้วยการส่ง HTTP/2 Stream เป็นจํานวนมากและส่งคําสั่งยกเลิกในทันที เทคนิคการโจมตีแบบนี้ถึงถูกเรียกกันว่า “Rapid Reset” ทําให้เกิดความไม่สมดุลที่ต่อเนื่องกับทรัพยากรที่ใช้ระหว่างเครื่องไคลเอนต์และเครื่องเซิร์ฟเวอร์

ผู้ไม่หวังดีใช้ประโยชน์จาก RST_STREAM frame และ GOAWAY frame ของ HTTP/2 Protocol เพื่อดําเนินการโจมตีด้วยการเชื่อมต่อในรูปแบบดังกล่าว สิ่งนี้ทําให้เครื่องเซิร์ฟเวอร์ต้องทํางานโดยใช้ทรัพยากรของเครื่องมากขึ้นสําหรับการประมวลผลคําขอที่ถูกยกเลิก ในขณะที่เครื่องไคลเอนต์แทบจะไม่ต้องใช้ทรัพยากรของเครื่องมากขึ้นเลย

ผลิตภัณฑ์ที่ได้รับผลกระทบจากช่องโหว่นี้
Web Service และผลิตภัณฑ์ต่าง ๆ ทั้งหมดที่ใช้ HTTP/2 Protocol เช่น Nginx, Apache, IIS เป็นต้น รวมถึง Apache Tomcat ตั้งแต่เวอร์ชัน 8.5.0 ถึงเวอร์ชัน 8.5.93 และตั้งแต่เวอร์ชัน 10.1.0-M1 ถึงเวอร์ชัน 10.1.13

ผลิตภัณฑ์ที่ไม่ได้รับผลกระทบจากช่องโหว่นี้
เว็บแอปพลิเคชันที่ได้รับการป้องกันโดยผู้ให้บริการ DDoS Protection หรือ Content Delivery Networks (CDN) ได้แก่ Amazon Web Services, Cloudflare, Google Cloud และ Microsoft Azure

การตรวจสอบการใช้งาน HTTP/2 Protocol

ตรวจสอบโดยใช้คําสั่ง

curl -vso /dev/null https://yourdomainname.co.th 2>&1 | grep ALPN 
curl -vso /dev/null [IP ADDRESS ที่ต้องการตรวจสอบ] 2>&1 | grep ALPN

ผลลัพธ์:

  • offering h2, offering http/1: เว็บไซต์ที่ตรวจสอบรองรับ HTTP/2 Protocol
  • server accepted to use h2: กําลังใช้ HTTP/2 Protocol ในการสื่อสาร

คำแนะนำ/วิธีแก้ปัญหา

  • Apache Tomcat ได้มีการประกาศออก Security Patch สำหรับช่องโหว่นี้แล้ว แนะนำให้ผู้ใช้งานดำเนินการติดตั้งแพตช์หรืออัปเดต
  • Microsoft (IIS) ได้มีการประกาศออก Security Patch สำหรับช่องโหว่นี้แล้ว แนะนำให้ผู้ใช้งานดำเนินการติดตั้งแพตช์หรืออัปเดต
  • แนะนําให้ใช้บริการ DDoS Protection หรือ Content Delivery Networks (CDN)
  • การแก้ไขเปลี่ยนแปลงใดๆ กับระบบ ซอฟต์แวร์ หรือ Configuration ต่างๆ เพื่อลดความเสี่ยงจากช่องโหว่ดังกล่าว องค์กรควรปฎิบัติตาม Change Management Policy, Risk Management Policy และBusiness Impact Assessment ขององค์กรอย่างเคร่งครัด
  • สำหรับผู้ใช้งานผลิตภัณฑ์ Nginx ไม่จำเป็นต้องปิดการใช้งาน (Disable) HTTP/2 Protocol และทาง Nginx แนะนำให้ ดําเนินการ configure ดังนี้
    • keepalive_requests ควรคงไว้ที่การตั้งค่าเริ่มต้น (Default) ที่ 1,000 requests
    • http2_max_concurrent_streams ควรคงไว้ที่การตั้งค่าเริ่มต้น (Default) ที่ 128 streams
    • limit_conn สําหรับใช้ในการกําหนดขีดจํากัดของจํานวนการเชื่อมต่อที่อนุญาตจากเครื่องไคลเอนต์เครื่องเดียว ควรเพิ่ม Directive นี้ด้วยการตั้งค่าที่เหมาะสมเพื่อปรับสมดุลระหวังประสิทธิภาพ (Performance) และความปลอดภัย (Security) ของแอปพลิเคชัน
    • limit_req สําหรับใช้ในการกําหนดขีดจํากัดของ Request ที่จะ Process ภายในระยะเวลาที่กําหนดจากเครื่องไคลเอนต์เครื่องเดียว ควรเพิ่ม Directive นี้ด้วยการตั้งค่าที่เหมาะสมเพื่อปรับสมดุลระหวังประสิทธิภาพ (Performance) และความปลอดภัย (Security) ของแอปพลิเคชัน
  • สำหรับผู้ใช้งานผลิตภัณฑ์ Microsoft IIS ทาง Microsoft ได้มีการประกาศออก Security Patch สำหรับช่องโหว่นี้แล้ว แนะนำให้ผู้ใช้งานดำเนินการติดตั้งแพตช์หรืออัปเดต
  • สําหรับผลิตภัณฑ์อื่น ๆ ควรดําเนินการปิดการใช้งาน (Disable) HTTP/2 Protocol เพื่อลดความเสี่ยงจากการโจมตีช่องโหว่นี้

ข้อมูลอ้างอิง

  • http://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack
  • https://aws.amazon.com/blogs/security/how-aws-protects-customers-from-ddos-events
  • https://aws.amazon.com/security/security-bulletins/AWS-2023-011
  • https://blog.cloudflare.com/zero-day-rapid-reset-http2-record-breaking-ddos-attack
  • https://cloud.google.com/blog/products/identity-security/how-it-works-the-novel-http2-rapid-reset-ddos-attack
  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-44487
  • https://thehackernews.com/2023/10/http2-rapid-reset-zero-day.html
  • https://www.cve.org/CVERecord?id=CVE-2023-44487